diff --git a/iso19139.che/pom.xml b/iso19139.che/pom.xml new file mode 100644 index 00000000000..d17a9f85d57 --- /dev/null +++ b/iso19139.che/pom.xml @@ -0,0 +1,146 @@ + + + + gn-schemas + org.geonetwork-opensource.schemas + 4.4.6-0 + + 4.0.0 + + gn-schema-iso19139.che + Geocat.ch schema plugin for ISO19139.che standard + jar + + + + org.geotools + gt-opengis + 30.0 + + + org.geonetwork-opensource.schemas + gn-schema-iso19139 + ${project.version} + + + org.geonetwork-opensource + gn-services + ${project.version} + + + org.geonetwork-opensource.schemas + gn-schema-core + ${project.version} + + + org.geonetwork-opensource.schemas + gn-schema-core + ${project.version} + test-jar + test + + + org.xmlunit + xmlunit-core + test + + + org.xmlunit + xmlunit-matchers + test + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.0 + test + + + org.powermock + powermock-module-junit4 + test + + + org.powermock + powermock-api-mockito + test + + + org.geonetwork-opensource + gn-web-app + ${project.version} + compile + classes + + + + + + src/main/config/translations + META-INF/catalog/locales + + + src/main/resources + + + + + src/test/resources/org/fao/geonet/schemas + + + src/main/plugin/iso19139.che + iso19139.che + + + + ../../web/src/main/webapp/xslt/common + common + + + + + maven-assembly-plugin + + + plugin-assembly + package + single + false + + false + + src/assembly/schema-plugin.xml + + + + + + + + + + + run-static-analysis + + + !skipTests + + + + + + org.codehaus.mojo + findbugs-maven-plugin + + + + + + diff --git a/iso19139.che/src/assembly/schema-plugin.xml b/iso19139.che/src/assembly/schema-plugin.xml new file mode 100644 index 00000000000..60537d198c0 --- /dev/null +++ b/iso19139.che/src/assembly/schema-plugin.xml @@ -0,0 +1,16 @@ + + plugin + false + + zip + + + + src/main/plugin/ + + true + + + diff --git a/iso19139.che/src/geocat.ch.rdf b/iso19139.che/src/geocat.ch.rdf new file mode 100644 index 00000000000..19fbde1181d --- /dev/null +++ b/iso19139.che/src/geocat.ch.rdf @@ -0,0 +1,7641 @@ + + + + + + geocat.ch + + + + + 2009-04-09 07:57:15 + + + + + Landsat + Landsat + Landsat + Landsat + + + + + Landesvermessung + mensuration nationale + misurazione nazionale + national survey + + + + + Areas + Domaines + Gebiete + Aree + Gebiete + + + + + Landschaftsmodell + modèle du territoire + modello del territorio + Landscape model + + + + + Landesgrenzvermessung + mensuration de la frontière nationale + misurazione del confine nazionale + national border survey + + + + + Landesgrenze + frontière nationale + confine nazionale + national border + + + + + Tranquility + Tranquillite + Ruhe + Tranquillità + tranquillite + + + + + Landeskoordinaten + Coordonnées nationales + Coordinate nazionali + National coordinates + + + + + Landeskarte + Carte nationale + carta nazionale + National Map + + + + + Biotope area + Zone de biotope + Biotopflächen + Zona biotopo + zone de biotope + + + + + Snowboard + Snowboard + Snowboard + Snowboard + + + + + Skitour + Randonnée à ski + escursione con gli sci + Ski tour + + + + + Spezialzone + zone spécifique + zona speciale + special zone + + + + + Estivazion + Summering + Sömmerung + Estivage + + + + + Solar cadastre + Cadastre solaire + Solarkataster + Catasto solare + Solarkataster + + + + + + + + + + + + + + + + + + plan d'affectation de détail + Gestaltungsplan + piano d'edificabilità + Gestaltungsplan + + + + + Stadtplan + plan de ville + carta di città + town plan + + + + + Stambecco + Ibex + Steinbock + Bouquetin + + + + + Standortskarte + carte des stations + carta delle stazioni + site class map + + + + + Steinschlag + Chute de pierres, écroulement + caduta di sassi + rockfall + + + + + Befund + riscontro + finding + constat + Befunde + + + + + Strassenkarte + carte routière + carta stradale + road map + + + + + Crocevia + Crossroads + Strassenkreuzung + Carrefour + + + + + Landwirtschaftliche Nutzfläche LN + surface agricole utile SAU + superficie agricola utile SAU + usable agricultural area UAA + + + + + Landwirtschaftsgebiet + région agricole + regione agricola + agricultural region (?) + + + + + Landwirtschaftsstatistik + statistique agricole + statistica agricola + agricultural statistics + + + + + Landwirtschaftszone + zone agricole + zona agricola + agricultural zone + + + + + requires authorisation + licence obligatoire + bewilligungspflichtig + soggetto a requisiti relativi + bewilligungspflichtig + + + + + LIDAR (Light Detection And Ranging) + LIDAR (Light Detection And Ranging) + LIDAR (Light Detection And Ranging) + LIDAR (Light Detection And Ranging) + + + + + Catasto delle condotte + Leitungskataster + Cadastre souterrain + Pipeline cadastre + + + + + Laserscanning + Laserscanning + Laserscanning + Laserscanning + + + + + Lärmempfindlichkeitsstufe + Degré de sensibilité au bruit + livello di sensibilità al rumore + Noise sensitivity level + + + + + Längsprofil + profil en long + profilo longitudinale + longitudinal profile + + + + + Langsamverkehr + trafic non motorisé + traffico lento + human-powered mobility + + + + + Suone + Bisse + Bisse + Bisse + + + + + + + + + + + + + + + Strassenunterhaltskreis + Arrondissement d'entretien des routes + circondario manutenzione della strada + street maintenance district + + + + + Strassenname + nom de rue + nome di strada + street name + + + + + Topografie + Topographie + Topografia + Topography + + + + + Toleranzstufe + niveau de tolérance + grado di tolleranza + tolerance grade (?) + + + + + swipos + swipos + swipos + swipos + + + + + Tram + Tramway + Tram + Tramway + + + + + Accident prevention + Prévention des accidents + Störfallvorsorge + Antinfortunistica + Störfallvorsorge + + + + + Trasformazione + Transformation + Transformation + Transformation + + + + + Topografische Karte + Carte topographique + carta topografica + Topographic map + + + + + linee di faglia + ligne de faille + faults + Bruchlinie + Bruchlinie + + + + + Toponomastica + Toponymy + Toponymie + Toponymie + + + + + Coordination + Coordination + Koordination + Coordinazione + Koordination + + + + + Luftbildinterpretation + interprétation de photos aériennes + interpretazione di fotografie aeree + aerial photo interpretation + + + + + Luftfahrt + navigation aérienne + navigazione aerea + Aviation + + + + + Litologia + Lithology + Lithologie + Lithologie + + + + + Lokalisierung, Positionierung + localisation, positionnement + posizionamento + positioning + + + + + Vascular plants + Plantes vasculaires + Gefässpflanzen + Piante vascolari + Gefässpflanzen + + + + + Liegenschaften + Biens-fonds + Beni immobili + Immoveable property + + + + + Hotelzone + Zona alberghiera + Zone hôtelière + Hotel zone + + + + + Höhen + Altimétrie + Altimetria + Heigths + + + + + Hoheitsgrenze + confine giurisdizionale + Limite territoriale + Territorial frontier + + + + + Protected areas + Aires protégées + Naturschutzgebiete + Aree protette + Naturschutzgebiete + + + + + Curva di livello + Courbe de niveau + Höhenkurve, Höhenlinie + Countour line + + + + + Grid + Grille + Gitter + Griglia + Gitter + + + + + roccia magmatica + roche magmatique + igneous rock + Magmatisches Gestein + igneous rock + roche magmatique + Magmatisches Gestein + + + + + Höhenkote + Cote d'altitude + quota altimetrica + Spot height + + + + + Höhentransformation + Transformation des altitudes + trasformazione altimetrica + Height transformation + + + + + Höhenpunkt + point altimétrique + punto quotato + spot elevation (?) + + + + + Stazione di servizio della Confederazione (BEBECO) + Stations-service de la Confédération (BEBECO) + Bundestankstellen (BEBECO) + BEBECO + + + + + Industriezone + zone industrielle + zona industriale + industrial zone (?) + + + + + HSO + HSO + HSO + HSO + HSO + + + + + Idrante + Hydrant + Hydrant + Hydrant + + + + + Übersichtskarte + Carte synoptique + Carta sinottica + General map + + + + + Infrastruktur der Luftfahrt + infrastructure aéronautique + infrastruttura aeronautica + aviation facilities + + + + + + + + + + + + + + + + + + + + + + + + + affectation de base + Grundnutzung + utilizzazione di base + Grundnutzung + + + + + Triangolazione + Triangulation + Triangulation + Triangulation + + + + + Transformator TRAFO + transformateur TRANSFO + trasformatore TRASFO + Transformer X-FORMER + + + + Propriété collective + Allmend + + + + + + + + + + Tree + Arbre + Baum + Albero + arbre + + + + + Trockenmauer + mur de pierres sèches + muro a secco + dry-stone wall + + + + + Uferlinie + Ligne de rives + linea di rive + Shore line + + + + + major accident + accident majeur + Störfall + incidente rilevante + Störfallverordung + + + + endroit de mesurage + Messstellen + posizione di misura + + + + + + + Chiusura + Fence + Umzäunung + Clôture + + + + + Unternehmensstatistik + Statistiques d'entreprises + Statistiche delle imprese + Business statistics + + + + + Übersichtsplan + Plan d'ensemble + piano corografico + Overview plan (?) + + + + + unit of management + unité de gestion + Bewirtschaftungseinheit + unità di gestione + Bewirtschaftungseinheit + + + + + Kurzone + Zona di cura + Zone de cure + Kurzone + + + + + Isophyse + Isophyse + Isofise + Isophysis + + + + + Jagdbanngebiet + district franc + bandita + ban area (hunting) + + + + + Kartenprojektion + projection de cartes + proiezione cartografica + map projection + + + + + Kantonsstrasse + route cantonale + strada statale / strada cantonale + cantons road (?) + + + + + Kantonsgrenze + Limite de canton, limite cantonale + confine cantonale + Cantonal boundary + + + + Crete + + + + + + + + + Coordinate + Coordinates + Koordinaten + Coordonnées + + + + + Kernzone + zone du centre + zona di nucleo + core zone (?) + + + + + Gebäudeeingang + entrata d'edificio + entrée de bâtiment + building entrance + + + + + Kartografische Generalisierung + généralisation cartographique + generalizzazione cartografica + cartographic generalisation + + + + + Gründigkeit + Potenza del terreno + Profondeur du sol + Root penetration depth + + + + + Stromleitung + Condotta elettrica + Conduite électrique + Line + + + + + Verkehrsnetz + Réseau de transport + rete di trasporto + Traffic network + + + + + Glaciazione + Glaciation + Vergletscherung + Glaciation + + + + + Velo, Fahrrad + vélo, cycle + ciclo, bicicletta + cycle + + + + Protective function + Fonction protectrice + Schutzfunktion + funzione protettiva + + + + + + Intemperie + Severe weather + Unwetter + Intempéries + + + + + Spring horizon + horizon sourcier + Quellhorizont + Quellhorizont + + + + + + + + Protection naturelle et paysagère + natural and landscape protection + + + + + + + Land register (CH) + Grundbuch (CH) + Registro Fondiario (CH) + Registre Foncier (CH) + + + + + Natur und Landschaft + Natura e paesaggio + Nature et paysage + Nature and Landscape + + + + + Künstliche Objekte + Objets artificiels + oggetti artificiali + Man-made Features + + + + + Landeplatz + Place d'atterrissage + area d'atterramento + landing place + + + + + Nature + Nature + Natur + Natura + nature + + + + + Kulturgüterschutz + Protection des biens culturels + Protezione dei beni culturali + Protection of Cultural Property + + + + + travaux d'art + Kunstbauten + opera di costruzione + Kunstbauten + + + + + Käse + Formaggio + Fromage + Cheese + + + + + Primärfläche + Surface primaire + Superficie primaria + Primary surface + + + + + Pufferzone + zone tampon + zona tampone + buffer zone + + + + + Fondo + Site + Grundstück + Terrain + + + + + Quartierplan + plan de quartier + piano di quartiere + quarter map + + + + + Grundwasserschutzareal + périmètre de protection des eaux souterraines + area di protezione delle acque sotterranee + groundwater protection area + + + + + Precisione + Precision + Genauigkeit + Précision + + + + + Grundwasserschutzzone + zone de protection des eaux souterraines + zona di protezione delle acque sotterranee + groundwater protection zone + + + + + Querprofil + profil en travers + profilo trasversale + transverse profile + + + + + Mineral construction waste + Déchets de construction minérale + Mineralische Bauabfälle + Rifiuti da costruzione minerale + mineralische Bauabfälle + + + + Tagesstruktur + centro (di accoglienza) diurno + + + + + + + + Grossregion + grande région + grande regione + major region + + + + + Rasterdaten + données raster + dati in formato raster + raster file + + + + + Grundbuchplan, Plan für das Grundbuch + plan cadastral, plan du registre foncier + piano catastale, piano per il registro fondiario + Cadastral map + + + + + Rebbauzone + zone viticole + zona viticola + vineyard zone + + + + + Grundeigentum + propriété foncière + proprietà fondiaria + landed property + + + + + Regionaler Waldplan RWP + plan forestier régional PFR + piano forestale regionale PFR + regional forest plan RFP + + + + + Grundplan + Fonds de plan + piano di base + basic plan (?) + + + + + Registro + Register + Register + Registre + + + + + Gravimetria + Gravimetry + Gravimetrie, Schweremessung + Gravimétrie + + + + + Grenzlinie + Ligne de frontières + linea di confine + Boundary line + + + + + + + + + + + + + + + + + + + déchets biogènes + biogene Abfälle + rifiuti biogeni + biodegradable waste + biogene Abfälle + + + + + Richtplan + plan directeur + piano direttore + structure plan + + + + + good water status + bon état des eaux + Gewässerzustand + + + + + Reservezone, Bauentwicklungsgebiet + zona di riserva + zone réservée, zone d'utilisation différée + reserved zone + + + + + struttura armonizzata + structure harmonisée + harmonised structure + harmonisierte Struktur + harmonisierte Struktur + + + + + Rutschung + glissement de terrain + franamento + slide + + + + + Sammlungen (Archive, Bibliotheken, Museen) + Collections (archives, bibliothèques, musées) + Collezioni (archivi, biblioteche, musei) + Collections (archives, libraries, museums) + + + + + Condotta + Pipeline + Rohrleitung + Conduite + + + + + Historische Karte + Carte historique + carta storica + Historic map + + + + + Events + Evènement + Ereignisse + Eventi + Ereignisse + + + + + Historischer Verkehrsweg + voie de communication historique + via di communicazione storica + historic traffic route + def + + + + + Rote Zone + zone rouge + zona rossa + red zone + + + + + + + + + + + + + Canneto + Reed bed + Schilfgürtel + Roselière + + + + + Ostacolo + Obstacle + Hindernis + Obstacle + + + + + Acclività + Gradient + Hangneigung + Déclivité + + + + + + + + + + + + + + Hauptstrasse + Route principale + strada principale + Main road + + + + + Pecora + Sheep + Schaf + Mouton + + + + + Polluted site + Site pollué + Belasteter Standort + Sito inquinato + + + + + Haltestelle öffentlicher Verkehrsbetriebe + arrêt de transports publics + fermata delle aziende pubbliche + public transport stop + + + + + Hangmure + Colata detritica + Coulée de boue + Landslide + + + + + Grünzone + zone de verdure + zona verde + green belt + + + + Asyl + Asilo + + + + + + + + Conservation planning + Etude de conservation + Erhaltungsplanung + Studio di conservazione + Conservation planning + Etude de conservation + Erhaltungsplanung + Studio di conservazione + + + + + Hochmoor, Übergangsmoor + haut-marais, marais de transition + torbiera alta, torbiera di transizione + raised bog, transitional bog + + + + + Überflug + Sorvolo + Survol + Overflight + + + + + Wildlife corridor + Corridor faunistique + Wildtierkorridor + Corridoio faunistico + Wildtierkorridor + + + + + Excavation + Déblai + Aufgrabung + Sterro di trincea + + + + + Macereto + Scree + Geröll + Pierrier + + + + + Schutzareal + périmètre de protection + perimetro di protezione (?) + protection area (?) + + + + + Carico di fondo + Bedload + Geschiebe + Charriage + + + + + Schutzbau + ouvrage de protection + opera di protezione + protection structure + + + + + Geschützte Geografische Angabe GGA + Indication géographique protégée IGP + Indicazione geografica protetta IGP + Protected Geographical Indication PGI + + + + + Green Waste + Déchets verts + Grüngut + Rifiuti verdi + Grüngut + + + + + Schutzwald + forêt à fonction protectrice + bosco con funzione protettiva + protection forest + + + + + Geschützte Ursprungsbezeichnung GUB + Appellation d'Origine Contrôlée AOC + Denominazione d'Origine Controllata DOC/DOP + Protected Designation of Origin PDO + + + + + Schutzzone + zone de protection + zona di protezione + protection zone + + + + + Gesteinsmatrix + matrice rocheuse + matrice rocciosa + rock matrix + + + + + Schlammlawine + coulée boueuse + colata di fango + mudflow + + + + + Schloss + Château + Castello + Castle + + + + + + + + + ZCF (Zone de Crêtes et de Forêts) + + + + + Schummerung + Ombrage + Ombreggiatura + Hillshading + + + + + Katalog + + + + + Materiale detritico + Rock waste + Schutt + Détritus + + + + + Key + Clé + Schlüssel + Chiave + Schlüssel + + + + + Wasserleitung + Condotta d'acqua + Conduite d'eau + Water pipe + + + + + geologia superficiale + géologie de la surface + surface geology + Oberflächengeologie + surface geology + géologie de la surface + Oberflächengeologie + + + + + Geologische Karte + carte géologique + carta geologica + geologic map + + + + + Gravità + Gravity + Schwere + Gravité + + + + + Geomarketing + Géomarketing + Geomarketing + Geomarketing + + + + + Geophysikalische Karte + carte géophysique + carta geofisica + geophysical map + + + + + Seebodenkurve + Courbe des fonds des lacs + quota altimetrica dei laghi + Contour in lakes + + + + + blanket layer + revêtement + Deckschicht + pavimentazione + Deckschicht + + + + + Geoprodukt + Géo-Produit + geo-prodotto + geoproduct + + + + + Gasleitung + Condotta di gas + Conduite de gaz + Gas pipeline + + + + + Geotopo + Geotope + Geotop + Géotope + + + + + Positionierungsdienst + service de positionnement + + + + + Seename + Nom de lac + nome di lago + Lake name + + + + + Secondary schools + Ecole secondaire + Mittelschulen + Scuola secondaria + Mittelschulen + + + + + Cantonal + Cantonal + Kantonal + Cantonale + kantonal + + + + + Siedlungsgebiet + milieu bâti + superficie d’insediamento + settlement area + + + + + GPS (Global Positioning System) + GPS (Global Positioning System) + GPS (Global Positioning System) + GPS (Global Positioning System) + + + + + Segnalazione + Signalling + Signalisierung + Signalisation + + + + + Parapendio + Paragliding + Gleitschirm + Parapente + + + + + Siedlungsbegrenzung + limitation de l'urbanisation + limitazione delle aree edificate + limitation of urbanisation + + + + + GLONASS + GLONASS + GLONASS + GLONASS + + + + + Siedlungserweiterung + expansion du milieu bâti + ampliamento dell'insediamento + expansion of urbanisation (?) + + + + + Seilbahnstation + Station téléférique + Stazione funicolaria + Funicular Station + + + + + Seuchenbekämpfung + Lutte contre les épizooties + lotta antiepizoozia + Control of epidemics + + + + + Segelflug + Vol à voile + volo a vela + Glider + + + + + Photo + Photo + Foto + Foto + Foto + + + + + Teleferica + Cableway + Seilbahn + Téléphérique + + + + + Gewässerlinie + Hydrographie linéaire + hidrografia linearea + Hydrography (lines) + + + + + Gewässername + Nom de cours d'eau + nome di corso d'acqua + River name + + + + + + + + + + + + + + Gewerbezone + zone artisanale + zona artisanale + crafts zone (?) + + + + + GIS (Geographic Information Systems) + SIG (Système d'Information Géographique) + (GIS) Geografisches InformationSystem) + GIS + + + + + Situation + Situation + Situazione + Situation + + + + + Gewässerschutzbereich + secteur de protection des eaux + settore di protezione delle acque + water protection sector + + + + + géologie hamonisée + harmonised geology + harmonisierte Geologie + geologia armonizzata + harmonisierte Gologie + + + + + Historical plan + Plan historique + Historischer Plan + Piano storico + Historischer Plan + + + + + Skilift + remontée mécanique + risalita meccanica + mountain lift + + + + + Situationsplan + plan de situation + piano di situazione + situation plan + + + + + Suspect site + Site suspect + Verdachtsstandort + Sito Sospetto + Verdachtsstandort + + + + + site of accident + lieu d'accident + Unfallstandort + luogo di un incidente rilevante + Unfallstandorte + + + + + espace vert + Grünanlage + spazio verde + Grünanlage + + + + + Eliporto + Heliport + Helikopterlandeplatz + Héliport + + + + + vitesse maximale de 30 km/h + Tempo 30 + velocità massima di 30 km/h + Tempo 30 + + + + + Geländename (AV) + nome di luogo (MU) + lieu-dit (MO) + + + + + Wasserleitungsnetz + Rete di distribuzione idrica + Réseau de distribution d'eau + Water-supply system + + + + + Road axis + Axe routier + Strassenachse + Asse stradale + Strassenachse + + + + + + + + + + + + + + Osservazione nazionale della qualità delle acque superficiali NAWA + National Surface Water Quality Monitoring Programme NAWA + Observation nationale de la qualité des eaux de surface NAWA + Nationalen Beobachtung der Oberflächengewässerqualität NAWA + NAWA + + + + + Alpine uplift + Soulèvement alpin + Alpenhebung + Innalzamento delle Alpi + Heights + altitudes + Alpenhebung + + + + + Street noise + Bruit de la rue + Strassenlärm + Il rumore della strada + Strassenlärm + + + + + Racchetta + Snowshoe + Schneeschuh + Raquette + + + + + + + + + + + + + + acque + waters + eaux + Gewässer + Gewässer + + + + + Numbering + Numérotage + Nummerierung + Numerazione + Nummerierung + + + + + Biological risk + Risque biologique + Biologische Gefahr + Rischio biologico + Biologische Gefahr + + + + + Inspectors + Inspecteurs + Inspektoren + Ispettori + Inspektoren + + + + + Cantonal + Cantonal + Kanton + Cantonale + cantonal + Kanton, kantonal + + + + aree tranquillities + + + + + Bikesharing + Partage de vélo + Bikesharing + Bikesharing + + + + + register + Inventaire + Verzeichnis + Inventario + Monuments and historic buildings register + Inventaire des monuments + Denkmalverzeichniss + Inventario dei monumenti + + + + + Reh + Capriolo + Chevreuil + Roe deer + + + + + Federal + Fédéral + Bundes + Federale + fédéral + + + + + Walk + Randonnée + Wandern + A piedi + randonnée + + + + + + + + + Sachplan + Piano settoriale + Plan sectoriel + Sectoral plan + + + + + Representation + Représentation + Darstellung + Rappresentazione + Darstellung + + + + + Airborne-Laser-Scanning + Airborne-Laser-Scanning + Airborne-Laser-Scanning + Airborne-Laser-Scanning + Airborne-Laser-Scanning + + + + + Pool + Bassin + Becken + Bacino + bassin + + + + + inventory of monuments + inventaire de monuments + Denkmalinventar + inventario dei monumenti + Denkmalinventar + + + + + Forest clearance + Déboisement + Waldabstand + Disboscamento + Waldabstand + + + + + Point of Interest (POI) + Point d'intérêt + + + + + + Sondernutzungsplan, Spezialplan + piano di utilizzazione speciale + plan spécial, plan d'affectation de détail + + + + + Biotopverbund + + + + + + + + + + + Other areas + Autre zone + Weitere Bereiche + Altre aree + autre zone + + + + + operational plan + plan d'intervention + Einsatzplan + piano di intervento + Einsatzpläne + + + + + Protective measures + Mesures de protection + Schutzmassnahmen + Misure di protezione + Schutzmassnahmen + + + + + Chemical hazard + Danger chimique + Chemische Gefahr + Rischio chimico + + + + + Construction project + Projet de construction + Bauprojekt + Progetto di costruzione + Bauprojekt + + + + + Sectors + Secteurs + Branchen + Settori + secteurs + + + + + cadastre d'espaces verts + Grünflächenkataster + catasto delle aree verdi + Grünflächenkataster + + + + Piano direttore per quartiere + PDQ ( Plan Directeur de Quartier) + structure plan for quarters + + + + + Klosterzone + Zona del monastero + Zone de monastère + Monastery zone + + + + + Operation + Exploitation + Betrieb + Funzionamento + exploitation + + + + + SilvaProtect + SilvaProtect + SilvaProtect + SilvaProtect + + + + + Construction + Construction + Bau + Costruzione + construction + + + + + flow direction + direction d'écoulement + Fliessrichtung + direzione della corrente + Fliessrichtung + + + + + OeREB + RDPPF + ÖREB + RDPP + OeREB + RDPPF + ÖREB + RDPP + + + + + approvisionnement et élimination + Ver-/ Entsorgung + approvigionamento ed evacuazione + Ver-/ Entsorgung + + + + + Anbaueignung + aptitude culturale + attitudine alla coltura + cultivation suitability + + + + + Murgang + lave torrentielle + lava torrentizia + debris flow + + + + + INSPIRE + INSPIRE + INSPIRE + INSPIRE + INSPIRE + + + + kindergarten + + Kindergarten + asilo infantile + Jardin d'enfants + + + + + Observation + Observation + Beobachtung + Osservazione + observation + + + + + + + + + + + + + + + + + amtliche Vermessung AV + mensuration officielle MO + misurazione ufficiale MU + cadastral surveying + + + + + Autobus + Bus + Autobus + Autobus + + + + + Naturobjekt + objet naturel + oggetto naturale + natural feature + + + + + Nationalstrasse + route nationale + strada nazionale + motorway + + + + + Antenna + Antenna + Antenne + Antenne + + + + + nationales Inventar + inventaire national + inventario nazionale + national inventory + + + + + Auengebiet + zone alluviale + zona golenale + alluvial site + + + + + Verifica + Follow-up monitoring + Nachkontrolle + Suivi + + + + + Zone + Zona + Zone + Zone + + + + + Groundwater resources + Ressources en eaux souterraines + Grundwasservorkommen + Risorse idriche sotterranee + Grundwasservorkommen + + + + + Almenda del lago + Allmend du lac + Lake Allmend (common land) + Seeallmend + + + + + Ökologische Ausgleichsfläche + Superficie di compensazione ecologica + Surface de compensation écologique + Ecological compensation area + + + + + Pilone + Pylon + Mast + Pylône + + + + + Mobiltelefonie + Téléphonie mobile + telefonia mobile + Mobile telecom + + + + + Marcatura + Marking + Markierung + Balisage + + + + + Termine di confine + Marker stone + Markstein + Borne + + + + + + + + + + + Old map + Carte ancienne + Alte Karte + Carta anziana + + + + + Erdgasleitung + Metandotto + Conduite de gaz naturel + Natural gas pipeline + + + + + Alpwirtschaftszone + zone alpestre + zona alpestre + alpine farming zone (?) + + + + + Moorlandschaft + Site marécageux + zona palustre + mire + + + + + INTERREG III + INTERREG III + INTERREG III + INTERREG III + INTERREG III + + + + + Building line + Alignement + Baulinie + Linea di edificazione + + + + + Baumgruppe + groupe d'arbres + gruppo d'alberi + group of trees + + + + + Baustatistik + statistique de la construction et du logement + statistica delle costruzioni + housing and building statistics + + + + + Richtplanung + Pianificazione direttrice + Planification directrice + Structural planning + + + + + Construction zone + Zone à bâtir + Bauzone + zona edificabile + + + + + Berghütte + Cabane de montagne + rifugio di montagna + mountain lodge + + + + + Bergname + Nom de montagne + nome di montagna + Mountain name + + + + + Chamois + Chamois + Gämse + Camoscio + chamois + + + + + roccia in posto + roche mère + bedrock + Felsuntergrund + bedrock + roche mère + Felsuntergrund + + + + + OneGeology-Europe + OneGeology-Europe + OneGeology-Europe + OneGeology-Europe + OneGeology-Europe + + + + + Naturschutzzone + zone naturelle protégée + zona naturale protetta + protected natural zone + + + + + Navigazione + Navigation + Navigation + Navigation + + + + + Nummerierungsbereich + domaine de numérotation + area di numerazione + numbering area + + + + + Nutzungsplan + Piano d'utilizzazione + Plan d'affectation + Land use plan + + + + + Kabelkommunikation + Comunicazione via cavo + Communication par câble + Cable communication + + + + + geographical name + nom géographique + Geografischer Name + nome geografico + Geografische Namen der amtlichen Vermessung + + + + + Basiskarte + carte de base + carta di base + topographic base + + + + + Barriera + Barrier + Barriere + Barrière + + + + + Rockfall process + Processo di franamento + Processus d'écroulement + Sturzprozess + + + + + dogs prohibition + interdiction de promenade de chiens + Hundeverbot + Hundeverbot + + + + + Baugrund + Terrain de fondation + Terreno di fondazione + Building land + + + + + Baubewilligung + autorisation de construire + autorizzazione di costruzione + construction permit + + + + + Telecommunications installation + Installation de télécommunication + Fernmeldeanlage + Impianto di telecomunicazione + Telecommunications installation + Installation de télécommunication + Fernmeldeanlage + Impianto di telecomunicazione + + + + + Verkehrsbelastung + carico di traffico + charge de trafic + traffic load + + + + + Indicative + Indicatif + Indikativ + Indicativo + indicatif + + + + + pedestrian priority zone + zone de rencontre + Begegnungszone + zona d'incontro + Begegnungszone + + + + + Leveling + Nivellement + Nivellement + Leveling + Nivellement + Nivellement + + + + + road + route + Strasse + strada + Strassenbaum + + + + + + + + + + + + + + + + + + + + + + + quality category + classe de qualité + Güteklasse + classe qualitativa + Güteklasse + + + + + Retention + Rétention + Speicherung + Ritenzione + rétention + + + + + pedestrian area + zone piétonne + Fussgängerzone + zona pedonale + Fussgängerzone + + + + + Mikrozonierung + + + + + Öffentliche Baute + Opera pubblica + Ouvrage public + Public construction + + + + + Waste wood + Bois de récupération + Abfallholz + Abfallholz + + + + + town centre + centre d'une localité + Ortszentrum + centro della cità + Ortszentrum + + + + + Extraction of raw materials + Extraction des matières premières + Rohstoffgewinnung + Estrazione di materie prime + Rohstoffgewinnung + + + + + Smorzamento + Amortissement + Dämpfung + Damping + + + + + Bundesinventar + Inventario federale + Inventaire fédéral + Federal inventory + + + + stato delle acque + + + + + + + + + + Boar + Sanglier + Wildschwein + Cinghiale + sanglier + + + + + + + + + + + + + + + + + attitudine + Eignung + + + + Pedestrian + piéton + Fussgänger + pedonale + + + + + + mezzi motorizzati privati + motorisierter Individualverkehr MIV + motorised private transport + transport individuel motorisé + MIV (motorisierter Individualverkehr) + + + + + traffic calming + modération du trafic + Verkehrsberuhigung + moderazione del traffico + Verkehrsberuhigung + + + + + Non-ionising radiation + Rayonnement non ionisant + Nichtionisierende Strahlung (NIS) + Radiazioni non ionizzanti + Nichtionisierende Strahlung (NIS) + + + + + Mil Airspace Chart + Armee + Mil Airspace Chart + Mil Airspace Chart + Armee + Mil Airspace Chart + + + + + Périmètre communal + Gemeinschafts Perimeter + Perimetro comunale + Communal perimeter + périmètre communal + + + + + assisted area + région assistée + Fördergebiete + Fördergebiete + + + + + OneGeology + OneGeology + OneGeology + OneGeology + OneGeology + OneGeology + OneGeology + OneGeology + + + + + Nutzungsfläche + Superficie d'utilizzazione + Surface d'affectation + Surface of utilisation + + + + + + + + Quartierrichtplan + + + + + + Gebirgslandeplatz + area d’atterraggio di montagna + place d’atterrissage en montagne + mountain landing site + + + + + Wegnetz + Réseau de chemin + rete di cammino + Path netwok + + + + + Driftwood + Bois flotté + Schwemmholz + Driftwood + Schwemmholz + + + + + Weilerzone + zone de hameau + zona di casali + hamlet zone + + + + + Torrente + Torrent + Wildbach + Torrent + + + + + Wegweiser + poteau indicateur + cartello indicatore + fingerpost + + + + + + + + + Weinbau- und Strandzone + + + + + Casale + Hamlet + Weiler + Hameau + + + + + Measure + Mesure + Massnahme + Misura + measure + mesure + Massnahme + misura + + + + + Wohnungsfläche + Surface d'habitation + superficie d'abitazione + residential surface + + + + + Wohnzone + zone d'habitation + zona d'abitazione + residential zone (?) + + + + + Wirtschaftszweig + branche économique + branca dell'economia + economic branch + + + + + + + + + + + + + + + + + walking routes + + + + + viabilità + desserte + Erschliessung + Erschliessung + + + + + Planning projects + Projets de plannification + Planungsvorhaben + Progetti di pianificazione + Planungsvorhaben + + + + + Tram line + Ligne de tram + Tramlinie + Tram linea + Tramlinie + + + + + GEWISS + GEWISS + GEWISS + GEWISS + GEWISS + GEWISS + GEWISS + GEWISS + + + + + labelling + désignation + Beschriftung + caratterizzazione + Beschriftung + + + + + Zone für öffentliche Bauten und Anlagen + zone de constructions et d'installations publiques + zona per edifici e attrezzature pubbliche + public construction and installation zone (?) + + + + + Site + Ebauche + Anlagen + Complesso + Anlagen + + + + + GeoMol + GeoMol + GeoMol + GeoMol + GeoMol + GeoMol + GeoMol + GeoMol + + + + + Naturereignis + evento naturale + événement naturel + natural event + + + + + WMS + WMS + WMS + WMS + WMS + + + + + Observation tower + Mirador + Aussichtsturm + Torre di osservazione + mirador + + + + + Stair + Treppe + Scala + Escalier + + + + + + + + + + + + + + + + + + + + + + + + + + + + firing range installation + installation de tir + Schiessanlage + poligono di tiro + Schiessanlagen + + + + + Zonennutzungsplan ZNPL + Plan d'affectation de zone PAZ + Zonennutzungsplan ZNPL + Zonennutzungsplan ZNPL + + + + + Zonenplan + Plan de zones + piano delle zone + plan of zones + + + + Arbre-habitat + + + + + + + + + + + + + Planrahmen + margine di piano + Bord de plan + plan frame + + + + + Landumlegung + Ricomposizione particellare + Remaniement parcellaire + Reorganisation of land + + + + + + + + + subsoil categories + + + + + + + + + + Luftseilbahn + funivia + aerial cableway + téléphérique + Luftseilbahn + + + + + Hillshade + Hillshade + Hillshade + Hillshade + Hillshade + + + + + park + parc + Parkanlage + parco + Parkanlage + + + + + Reptiles areas + Zones à reptiles + Reptiliengebiete + Aree rettili + Reptiliengebiete + + + + + Geothermal probes + Sondes géoterhmiques + Erdwärmesonden + Sonde geotermiche + Erdwärmesonden + + + + + Vernetzung + mise en réseau + interconnessione + interconnection + + + + + Verpachtung + affitto + affermage + (letting on) lease + + + + + EGIP (European Geothermal Information Platform) + EGIP (European Geothermal Information Platform) + EGIP (European Geothermal Information Platform) + EGIP (European Geothermal Information Platform) + EGIP (European Geothermal Information Platform) + EGIP (European Geothermal Information Platform) + EGIP (European Geothermal Information Platform) + EGIP (European Geothermal Information Platform) + + + + + + + + + + + + + + + + + + blocking + verrouillage + Sperrung + blocco + Sperrungen + + + + + Natural hazard map + Carte des dangers naturels + Naturgefahrenkarte + Rischi naturali mappa + Naturgefahrenkarte + + + + + use density + densité d'utilisation + Ausnutzungsziffer + Ausnutzungsziffer + + + + + Waldhütte + cabane des bois + capanna della foresta + Forest House + + + + + Mine + Mine + Abbaustellen + Mina + Abbaustellen + + + + + Waldgesellschaft + association forestière + associazione forestale + forest association + + + + + Waldgrenze + limite forestière + limite del bosco + forest line + + + + + Waldfeststellung + constatation de la nature forestière + accertamento del carattere forestale + forest ascertainment (?) + + + + + Waldfläche + surface boisée + superficie boschiva + wooded area + + + + + Voralpen + Préalpes + Prealpi + Lower Alps + + + + + Criquets + Criquets + Heuschrecken + Locuste + Heuschrecken + + + + + Waldentwicklung + évolution de la forêt + evoluzione della foresta + forest evolution + + + + + Dauernde Bodenverschiebung + Territoire en mouvement permanent + Spostamento di terreno permanente + + + + + + + + + + + + + + + Waldkreis + arrondissement forestier + circondario forestale + forest district + + + + + Waldnutzung + Usage de la fôret + utilizzazione del bosco + forest use + + + + + Railway noise + Bruit des chemins de fer + Bahnlärm + Rumore dei treni + + + + + Margine forestale + Forest edge + Waldrand + Lisière + + + + Randonnées pédestres + Wanderrouten + percorsi a piedi + + + + + + + Cammino + Path + Weg + Chemin + + + + + Border points + Points frontaliers + Grenzpunkte + Punti di frontiera + Grenzpunkte + + + + + Waldstandort + Station forestière + stazione forestiera + forest site + + + + + Waldwiese + prairie forestière + prato boschivo + forest meadow + + + + + Waldzusammensetzung + composition de la forêt + composizione della foresta + forest composition + + + + + Wasserbau + aménagement des cours d'eau + sistemazione dei corsi d'acqua + river management + + + + + Swiss Geological Survey + Service géologique national + Landesgeologie + Servizio geologico nazionale + Service géologique national + Landesgeologie + Swiss Geological Survey + + + + + innerorts + interno delle località + intérieur des localités + innerorts + + + + + FINELTRA + FINELTRA + FINELTRA + FINELTRA + FINELTRA + FINELTRA + FINELTRA + FINELTRA + + + + + FSDI Federal Spatial Data Infrastructure + IFDG l’Infrastructure Fédérale de données géographiques + BGDI Bundesgeodaten-Infrastruktur + IFDG Infrastruttura federale dei dati geografici + BGDI + + + + + facility + aire d'entreprise + Betriebsstandorte + area dell'azienda + Betriebsstandorte + + + + + Heritage + Patrimoine + Erbe + Patrimonio + patrimoine + + + + + renaturization + renaturalisation + Renaturierung + rinituralizzazione + Renaturierung Gewässer + + + + + Geodaten + Geodati + Géodonnées + Geodata + + + + + Area of mining and recultivation + Site d'abbatage et de la remise en culture + Abbau- und Rekultivierungsgebiet + Abbau- und Rekultivierungsgebiet + + + + + Safety zone + Zona da segirezza + Zone de sécurité + Sicherheitszone + Zona di sicurezza + Safety zone + Zona di sicurezza + Zone de sécurité + Sicherheitszone + + + + + Itinerary + Itineraire + Reiseroute + Itinerario + itineraire + + + + + geodätischer Fixpunkt + point géodésique + punto fisso geodetico + geodetic control point + + + + + geodätisches Datum + datum géodésique + datum geodetico + geodetic datum + + + + + Geoide + Geoid + Geoid + Géoïde + + + + + Army logistics + Logistique de l'armée + Armeelogistik + Logistica dell'Esercito + Armeelogistik + + + + + Boschetto + Small wood + Gehölz + Bosquet + + + + + Geländedarstellung + Représentation du terrain + rappresentazione dell terreno + Terrain representation + + + + + Place of archeological discovery + lieu de découverte archéologique + archäologische Fundstätten + luogo del rinvenimento archeologico + archäologische Fundstätten + + + + + Gemeindegrenze + confine di comune, confine comunale + Limite de commune, limite communale + Municipal boundary + + + + + Generalkarte + Carte générale + Carta generale + General map + + + + + measurement cargo from building sites + déchets de chantier tour venant + Bausperrgut + Bausperrgut + + + + + + + + Vieux bois + old wood + + + + KLARA - micro-station d'épuration + KLARA - small wastewater treatment plant + + + + + Crespuglio + Scrub + Gebüsch + Buissons + + + + + Gefahrenkarte + carte des dangers + carta dei pericoli + hazard map + + + + + Gefahrenkataster + cadastre des dangers + catasto dei pericoli + hazard inventory + + + + + + + + + + + Army Logistics Center + Armée Centre Logistique ALC + Rekrutierung + Esercito Centro Logistico + Armée Centre Logistique ALC + Rekrutierung + Armée Centre Logistique ALC + + + + ANTP (Association Neuchâteloise de Tourisme Pédestre) + ANTP (Association Neuchâteloise de Tourisme Pédestre) + + + + + Sondernutzungszone + Zone d'uso particolare + Zone d'usage particulier + Zone for special usage + + + + + + + + ANTP (Association Neuchâteloise de Tourisme Pédestre) + ANTP (Association Neuchâteloise de Tourisme Pédestre) + + + + + + + + + + + + + + + + + + + Luftfahrthindernis + Ostacolo alla navigazione aerea + Obstacle à la navigation aérienne + Air navigation obstacle + + + + + Response spectrum + Spectre de réponse + Antwortspektrum + Spettro di risposta + + + + + + + + + + + + + + Solar potential + Potentiel solaire + Solarpotential + Potenziale solare + Solarpotential + + + + + sketch + croquis + Handriss + abbozzo + Mutationshandriss + + + + + cronostratigrafia + chronostratigraphie + chronostratigraphy + Chronostratigrafie + chronostratigraphy + chronostratigraphie + Chronostratigrafie + + + + + Gambero di fiume + Flusskrebs + Ecrevisse + Crayfish + + + + Point of Interest (POI) + + + + + + + + + + + + + + + + + + Isohypses + Isohypses + Isohypsen + Isohypses + Isohypsen + + + + Traffico giornaliero medio + Trafic journalier moyen + Average daily traffic + + + + + + + + + Contour lines + Courbes de niveau + Höhenkurven + Linee di contorno + Höhenkurven + + + + + Petrografia + Petrography + Petrografie + Pétrographie + + + + + Palude + Swamp + Flachmoor + Bas-marais + + + + + Perimetro + Perimeter + Perimeter + Périmètre + + + + + Aerodromo + Airfield + Flugplatz + Aérodrome + + + + + Politische Grenze + découpage politique + confine politico + political frontier + + + + + Flugsicherung + sécurité de la navigation aérienne + sicurezza della navigazione aerea + safety of air navigation + + + + + Planeinteilung + répartition des plans + ripartizione dei piani + plan compartmentation (?) + + + + + Aeroplano + Aeroplane + Flugzeug + Avion + + + + + Flugzone + Zone de vol + zona di volo + Fly area + + + + + Postleitzahl PLZ + numéro postal d'acheminement NPA + numero postale d'avviamento NPA + postcode + + + + + Flurname + nom local + nome locale + local name (?) + + + + + Fiume + River + Fluss + Rivière + + + + + bat + Chauve-souris + Fledermaus + Pipistrello + Fledermaus + + + + + Luftraum + Spazio aereo + Espace aérien + Airspace + + + + + Ortsplan + Plan de localité + piano di località + location plan + + + + + Watercourses + Cours d'eau + Fliessgewässer + Corsi d'acqua + Fliessgewässer + + + + + dati armonizzati + harmonised Data + harmonisierte Daten + données harmonisées + harmonisierte Daten + + + + + Localizzazione + Locating + Ortung + Repérage + + + + + Ortsplanung + aménagement local + pianificazione locale + local planning and management + + + + + Ruhezone + Zona di silenzio + Zone de silence + Rest area + + + + + Passnamen + Noms de cols + nome del passo + Pass names + + + + + Parcella + Plot + Parzelle + Parcelle + + + + + Flachbau + construction basse + costruzione bassa + low building + + + + + Surveying standard + Mensuration standard + Vermessungsstandard + Rilievo standard + Vermessungsstandard + + + + + Counting + Comptage + Zählen + Conteggio + comptage + + + + + Tick + Tique + Zecke + Zecca + + + + + + + + + Creta + Crête + Krete + + + + + Freihaltezone + zone à maintenir libre + zona da mantenere libera da costruzioni + keep free zone (?) + + + + + Ortsbild + site construit + insediamento + heritage site + + + + + surface of crop rotation + surface d'assolement + Fruchtfolgefläche (FFF) + superficie per l'avvicendamento delle colture + + + + + Orthometrische Höhe + Altitude orthométrique + quota ortometrica + Orthometric height + + + + + Ortofoto + Orthophoto + Orthofoto + Orthophoto + + + + + Forststrasse + route forestière + strada forestale + forest road + + + + + Fragebogenerhebung + relevé par questionnaire + indagine per questionario + survey by questionnaire + + + + + Ort, Ortschaft + Località + Localité + Place + + + + + Gebietsname + Nom de territoire + nome di territorio + Area name + + + + + GALILEO + GALILEO + GALILEO + GALILEO + + + + + Ortsname + Nom de lieu, toponyme + nome del luogo + Place name + + + + + Gebäudeadresse + adresse de bâtiment + indirizzo di edificio + building address (?) + + + + + Ortsbildschutz + site construit protégé + insediamento protetto + heritage site protection + + + + + linen duty + obligation de tenir en laisse + Leinenpflicht + obbligo di tenere il cane al guinzaglio + Leinenpflicht + + + + + Ecomorfologia + Ökomorphologie + Ecomorphologie + Ecomorphology + + + + + + + + + + + Durchschnittlicher täglicher Verkehrs + + + + + Forstrevier + triage forestier + settore forestale + forest district + + + + common land + + + + + + + + + + + + + + + + + + Notifiable + Déclaration obligatoire + meldepflichtig + A denuncia + meldepflichtig + + + + + Damages + Dégâts + Schadensersatz + Indennizzo + dégâts + + + + + Oberflächenrauhigkeit + rugosité du terrain + scabrosità del terreno + surface roughness + + + + + Nutzungszone + zone d'affectation + zona di utilizzazione + use zone (?) + + + + + Superficial + Surface + Oberfläche + Superficie + Oberfläche + + + + + Eigentumsbeschränkung + restrictions à la propriété + restrizione al diritto di proprietà + restriction of the right of property + + + + + Einzelobjekte + oggetti singoli + Objets divers + single objects + + + + + Strom + Corrente + Courant + Current + + + + + Einzelsignatur + Symbole individuel + Simbolo individuale + Individual Symbol + + + + + Nutzungsplanung + Pianificazione dell'utilizzazione + Planification de l'utilisation du sol + Land use planning + + + + + + + + + + + + + + Natur- und Landschaftsschutz + protezione del paesaggio e della natura + + + + + Historic sites + Sites historiques + Historische Stätten + Siti storici + historische Stätten + + + + + Broadband connection + Raccordement à haut débit + Breitband Verbindung + Collegamento a banda larga + + + + + SIA405 + SIA405 + SIA405 + SIA405 + + + + + Structural melioration + Améliorations structurelles + Strukturverbesserungen + Miglioramenti strutturali + Structural melioration + Améliorations structurelles + Strukturverbesserungen + Miglioramenti strutturali + + + + + unità geologiche armonizzate + harmonisierte geologische Einheiten + harmonised geologic units + unités géologiques harmonisées + harmonisierte gologische Einheiten + + + + + Floor + Etage + Geschoss, Stockwerk + Piano + + + + + dry meadows + prairies et pâturages secs PPS + Trockenwiesen und -weiden TWW + prati e pascoli secchi + Trockenwiese + + + + + Durchgangsstrasse + Route de transit + strada di transito + through road + + + + + e-geo.ch Geoportal + geoportale e-geo.ch + géoportail e-geo.ch + e-geo.ch geoportal + + + + Oekomorphologie + + + + + + + + + + + + + + + + + + Proprietario + Owner + Eigentümer + Propriétaire + + + + + + + Ecomorphology + Ecomorphologie + + + + + Digitales Terrainmodell DTM, Geländemodell DGM + Modèle numérique de terrain MNT + modello digitale del terreno DTM + Digital terrain model DTM + + + + + Dolina + Doline + Doline + Doline + + + + + Distanzangabe + Distance routière + indicazione della distanza + Road distance + + + + + + + + + + + + + Festgestein + roche consolidée, roche cohérente + roccia coerente + well-consolidated rock + + + + + Fixpunkte + Points fixes + punti fissi + Control points + + + + + Szenario + Scenario + Scenario + Scénario + Szenario + scenario + scenario + scénario + + + + + Outdoor catering + Gastronimie extérieur + Aussenbewirtung + Aussenbewirtung + + + + + + + + + + + + + + + Allgemeine Systematik der Wirtschaftszweige NOGA + Nomenclature Générale des Activités économiques NOGA + Nomenclatura generale delle attività economiche NOGA + General classification of economic activities NOGA + + + + + Economia alpestre + Alpine economy + Alpwirtschaft + Alpage + + + + + Administrative Einteilung + division administrative + suddivisione amministrativa + administrative division + + + + + general principle + conception directrice + Leitbild + linee direttive + Leitbild + + + + + Confine amministrativo + Administrative Grenze + Frontière administrative + Administrative boundary + + + + + Abstandslinie + ligne de comparaison + linea di contorno (?) + contour line (?) + + + + + Ferienhauszone + zone de maisons de vacances + zona di case di vacanza + summer cottage zone + + + + + Asse + Axis + Achse + Axe + + + + + average water level + niveau d'eau moyen + Mittelwasserstand + livello medio d'acqua + Mittelwasserstand + + + + + 3D Visualisierung + Visualisation 3D + visualizzazione 3D + 3D visualisation + + + + + Fähre + Bac + traghetto + Ferry + + + + + Ablagerungszone + aire de sédimentation + bacino di sedimentazione + deposition zone + + + + + Materiale erratico + erratischer Block, Findling + Bloc erratique + Erratic + + + + + Standing water + Eau stagnante + Stehende Gewässer + Acqua stagnante + Stehende Gewässer + + + + + Erhohlungszone + zone de détente + zona ricreativa + recreation zone + + + + + Simulazione 3D + 3D simulation + 3D Simulation + Simulation 3D + + + + + Ereigniskataster + cadastre des événements + catasto degli eventi + register of events + + + + + Distance + Distance + Distanz + Distanza + Distanz + + + + + Erdsonde + sonde terrestre + sonda terrestra + geothermal probe + + + + + Eisenbahnlinie + ligne de chemin de fer + linea di ferrovia + railway track + + + + + Bezirksgrenze + Limite de district + confine di distretto + District boundary + + + + + Bezugsmarkierung + point repère + punto di riferimento + fiducial mark + + + + + Quadro di riferimento + Bezugsrahmen, Referenzrahmen + Cadre de référence + Reference frame + + + + + Bezugssystem, Referenzsystem + système de référence + sistema di riferimento + reference system + + + + + Bodenbedeckung + Couverture du sol + Copertura del suolo + Land cover + + + + + action plan + plan de mesures + Massnahmenplan + piano dei provvedimenti + Massnahmenplan + + + + + Ordinance on Direct Agricultural Payments + Ordonnance sur les paiements directs versés dans l'agriculture + Direktzahlungsverordnung DZV + Ordinanza concernente i pagamenti diretti all'agricoltura + Direktzahlungsverordnung DZV + + + + + + + + + + + + + + Faglia + Fault + Störung + Faille + Störungen + + + + + Stromnetz + Rete elettrica + Réseau électrique + Current network + + + + + preservation of historical monuments + conservation des monuments historiques + Denkmalpflege + conservazione dei monumenti storici + Denkmalpflege + + + + + Station + Gare/station + Bahnhof/Station + Stazione + Bahnhof/Station + + + + + Stratigrafia + Stratigraphy + Stratigrafie + Stratigraphie + stratigraphy + stratigraphie + Stratigrafie + + + + + Vine + Vigne + Rebe + vigne + + + + + Versorgungsgebiet + zona di diffusione + zone de diffusion + coverage area + + + + + Dienstbarkeit + Servitù + Servitude + Easement + + + + + Basisplan + Piano di base + Plan de base + Basis plan + + + + + Tallitura + Tillering + Bestockung + Tallage + + + + + roccia metamorfica + roche métamorphique + metamorphic rock + Metamorphes Gestein + Metamorphic rock + roche métamorphique + Metamorphes Gestein + + + + + Switzerland + Suisse + Schweiz + Svizzera + Schweiz + + + + + Bewegungsachse + axe de mouvement + asse di movimento + direction of movement + + + + + Bevölkerungsstatistik + statistique de la population + statistica della popolazione + population statistics + + + + + Distretto + District + Bezirk + District + + + + vecchio legno + Altholz + + + + + + Digitales Höhenmodell DHM + Modèle numérique d'altitude MNA + Modello digitale di elevazione DEM + Digital elevation model DEM + + + + + Digitales Oberflächenmodell DOM + Modèle numérique de surface MNS + Modello digitale di superficie DSM + Digital surface model DSM + + + + + Datenverfügbarkeit + disponibilité données + disponibilità di dati + data availability + + + + + Digitales Farborthofotomosaik + Mosaïque d'orthophotos numériques en couleur + mosaico di ortofoto digitali a colori + Digital color orthophoto mosaic + + + + + Preavviso, parere + Expertise + Gutachten + Préavis + + + + + Protection of monuments + Protection des monuments + Denkmalschutz + Protezione dei monumenti + Protection of monuments + Protection des monuments + Denkmalschutz + Protezione dei monumenti + + + + + Militärische Baute oder Anlage + Costruzione o impianto militare + Construction ou installation militaire + Military construction or installation + + + + + roccia sedimentaria + roche sédimentaire + sedimentary rock + Sedimentgestein + sedimentary rock + roche sédimentaire + Sedimentgestein + + + + + (groundwater) catchment + captazione (della falda freatica) + captage (des eaux) + Fassung + Fassung + + + + + Crosswalk + passage pour piétons + Fussgängerstreifen FGS + passaggio pedonale + Fussgängerstreifen + + + + + Bruchkante + Ligne de crêtes + linea di rottura + Breakline + + + + + Quarter + Quartiere + Quartier (de ville) + Quartier (Stadtteil) + + + + + depositi superficiali + dépôt superficiel + superficial deposit + Oberflächenablagerung + superficial deposit + dépôt superficiel + Oberflächenablagerung + + + + + + + + + + + + + + + + + + + Anomalie di Bouguer + Bouguer-Anomalien + Anomalies de Bouguer + Bouguer-Anomalies + + + + + Projektierungszone + zona di progettazione + zone réservée + project planning zone + + + + + Datendownload + Téléchargement de données + download di dati + data download + + + + + Identifier + Identifiant + Identifikator + Identifier + Identifikator + + + + + Datenbeschreibung + Description de données + descrizione di dati + data description + + + + + Chalet + Chalet + Chalet + Chalet + + + + + Buslinie + ligne de bus + linea d'autobus + Bus network + + + + + tapping of a spring + captage d'une source + Quellfassung + captare acqua di sorgente + + + + + + + + + + + + + + + opendata.swiss + opendata.swiss + opendata.swiss + opendata.swiss + opendata.swiss + + + + + + + + + + + + + + + + + Allee + viale + + allée + alley + + + + + + Mil_Personelles + + + + + + + + + + + + Kreten- und Waldzone + + + + + Tiefbauzone + ZCB (Zone de Constructions Basses) + civil engineering zone + + + + + + + + + + + + + Schonzone + zone de ménagement + careful treatment zone + + + + ZVG (Zone de Vignes et de Grèves) + viniculture and beach zone + + + + + + riva + Grève + + + + KLARA - piccoli sistemi di trattamento + KLARA - Kleinkläranlage + + + + + + + + Mil_Ausbildung + Mil_formazione + Mil_formation + + + + + + + + + + + + + + + + + + + Beach + + + Ufer / Strand + + + + Geobasisdaten + geodati di base + géodonnée de base + official geodata + + + + + + + + + + + + + + + + + + + + + + + + Aufbewahrungs- und Archivierungsplanung AAP - Bund + Pianificazione della conservazione e dell’archiviazione AAP - Confederazione + Planification de la conservation et de l'archivage AAP - Conféderation + Conservation and archiving planning AAP - Confederation + + + + + + + + + geodata model + modèle de géodonnées + Geodatenmodell + + + + + + + + + + + + + + + + model documentation + documentation de modèle + Modelldokumentation + + + + + + + + + + + + + + + + representation model + modèle de représentation + Darstellungsmodell + + + + + + + + + + + + + + + + object catalog + catalogue des objets + Objektkatalog + + + + + + + + + + + + + + + + + + + + spectral micro-zoning + icrozonage spectral + microzonazione spettrale + + + + + + + + + + Spektrale Mikrozonierung + + + + + + + + + + + + + + + + + Gemeinde + + communal + + + + + + + + + + + + + + + + + + + + Schiessschaden + + dégâts de tirs + shooting demage + + + + + + + + + + + + + + + + + + + + + + + + + day center + centre d'accueil de jour + + + + communale + communal + + + + manifestazione sportiva + manifestation sportive + Sports event + + + + + Sportveranstaltung + + + + + + + + + archaeological excavation + découverte archéologique + archäologische Ausrabung + scavo archeologico + + + + + + + + + + + + + + Macrofaune + Macrofaune + Makrofauna + Macrofauna + + + + + + + + + + + + + + + Macrozoobenthos + Macrozoobenthos + Makrozoobenthos + Macrozoobenthos + + + + + + + + + + + + + + + Mobility + Mobilité + Mobilität + Mobilità + + + + + + + + + + + + + + + Neobiota + Espèces exotiques + Neobiota + Specie aliene + + + + + + + + + + + + + + + Fish fauna + Faune piscicole + Fischfauna + Fauna ittica + + + + + + + + + + + + + + + Invasive + Invasive + Invasiv + Invasivo + + + + + + + + + + + + + + + Local climate + Climat local + Lokalklima + Clima locale + + + + + + + + + + + + + + + Biodiversity + Biodiversité + Biodiversität + Biodiversità + + + + + + + + + + + + + + + Shower + Douche + Dusche + Doccia + + + + + + + + + + + + + + + Horse riding + Equitation + Reiten + Equitazione + + + + + + + + + + + + + + + Toilet + Toilette + Toilette + Toilette + + + + + + + + + + + + + + + Climate zones + Zones climatiques + Klimazonen + Zone climatiche + + + + + + + + + + + + + + + + + + + + + + + + + + + Zones de tranquillités + + + + + + + + + Zones of tranquility + + + + Wildruhezonen + + + + + Cultural property + Biens culturels + Kulturgüter + Beni culturali + + + + + + + + + + + + + + + Romans + Romain + Römer + Romano + + + + + + + + + + + + + + + + + + + + + + + + + + + + depth of the groundwater + + + + Höchsthochwasserstand + niveau d'eau maximal + maximum water level + + + + + + + + + + + micro-organisme + le micro-organisme + Kleinlebewesen + microorganismo + + + + + + + + + + Augusta Raurica + Augusta Raurica + Augusta Raurica + Augusta Raurica + + + + + + + + + + + + + + + Seismic noise + Bruit sismique + Bodenunruhe + Rumore sismico + + + + + + + + + + + + + + + Birs + Birse + Birs + + + + + + + + + + + + + + + + + Plan directeur cantonal + Kantonaler Richtplan RIP + + + + + + + + + + + + + + + + Natural hazar + Dangers naturels + Naturgefahren + rischi naturali + + + + + + + + + + + + + + + Urinal + Urinoir + Pissoir + Orinale + + + + + + + + + + + + + + + Cycling routes + Pistes de vélo + Radrouten + Percorsi per ciclisti + + + + + + + + + + + + + + + Risks + Risques + Risiken + Rischi + + + + + + + + + + + + + + + Mobile Communication + Radio communication mobile + Mobilfunk + Radiomobile + + + + + + + + + + + + + + classes de sol de fondation + + + + + Mountainbike + mountain bike + VTT (Vélo Tout Terrain) + Mountain bike + + + + + + Ufer + riva + Rive + shore + + + + + Plant nutrient + Eléments nutritifs des plantes + Pflanzennährstoff + Impianto di nutrienti + + + + + + + + + + + + + + + Reference point + Point de référence + Bezugspunkt + Punto di riferimento + + + + + + + + + + + + + + + Ground Properties + Propriétés du sol + Bodeneigenschaften + Proprietà del suolo + + + + + + + + + + + + + + + Floor quality + Qualité du sol + Bodenqualität + la qualità del suolo + + + + + + + + + + + + + + + Soil recovery + Récupération des sols + Bodenverwertung + Recupero del suolo + + + + + + + + + + + + + + + Soil mapping + Cartographie des sols + Bodenkartierung + Mappatura del suolo + + + + + + + + + + + + + + + Species of fish + Espèces de poissons + Fischarten + Specie di pesci + + + + + + + + + + + + + + + + + Hindernisbegrenzungskataster + Catasto delle limitazione degli ostacoli + Cadastre limitation obstacles + + + + + Asylum + Asile + + + + + Housing inventory + Inventaire des logements + Wohnungsinventar + Inventario abitazioni + + + + + + + + + + + + + + + Cultural heritage + Monument culturel + Kulturdenkmal + Monumento culturale + + + + + + + + + + + + + + + Cultural history + Histoire culturelle + Kulturgeschichte + Storia culturale + + + + + + + + + + + + + + + + Hygiène de l'air + Lufthygiene + + + + + + + + + + + + + + + + Reservoir + Réservoir + Reservoir + Serbatoio + + + + + + + + + + + + + + + Secondary home + Résidence Secondaire + Zweitwohnung + Abitazioni secondarie + + + + + + + + + + + + + + + Rail + Rail + Schiene + rotaia + + + + + + + + + + + + + + + Urban climate + Climat urbain + Stadtklima + Clima urbano + + + + + + + + + + + + + + + Retirement home + Maison de repos + Altersheim + Casa di riposo + + + + + + + + + + + + + + + Professional school + Ecole professionnelle + Berufsschule + Scuola professionale + + + + + + + + + + + + + + + + + + terreni di fondazione + Baugrundklassen + + + + + + Mil_training + + + + + + + + + + + + + + + + + + + + Introduction + Introduction + Einleitung + Introduzione + + + + + + + + + + + + + + + Drainage plan + Plan de drainage + Entwässerungsplan + Piano di drenaggio + + + + + + + + + + + + + + + Family garden + Jardin familial + Familiengärten + Giardino di famiglia + + + + + + + + + + + + + + + Building address + Adresses de bâtiments + Gebäudeadressen + Indirizzi di costruzione + + + + + + + + + + + + + + + + + + + Aptitude + Aptitude + + + + + 1G-E (OneGeology-Europa) + 1G-E (OneGeology-Europa) + 1G-E (OneGeology-Europe) + 1G-E (OneGeology-Europe) + + + + + + + + + Ecological benefits + Avantages écologiques + Ökologischer Nutzen + Benefici ambientali + + + + + + + + + + + + + + + Factory Cadastre + Cadastre des usines + Werkkataster + Mappe fabbriche + + + + + + + + + + + + + + Hiking trail network + Réseau de chemins de randonnée + Wanderwegnetz + Rete dei sentieri + + + + + + + + + + + + + + Run-off + Ruissellement + Abschwemmung + + + + + + + + + + + + + + + + Linked Data + Linked Data + Linked Data + Linked Data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AED (AED - Automated External Defibrillator) + DAE (DAE - Défibrillateur automatique externe) + AED (AED - Automatischer Externer Defibrillator) + DAE (DAE - Defibrillatore semiautomatico) + + + + + + + + + + + + + + housing for the elderly + logements destinés aux personnes âgées + Alterswohnen + + + + + + + + + + Sewage treatment + Épuration des eaux + Kläranlage + depulatore + + + + + + + + + stazione di servizio + Tankstelle + + + + + + + + + + + + + + + + + + + + + + + filling station + + + + + + + + + + area-developpement + + Arealentwicklung + développement de surface + + + + + + + + + + + + + Station service + + + + + + + + + level + niveau + Pegel + livello + + + + + + + + + Federal Register of Buildings and Dwellings (RBD) + Registre des bâtiments et logements (RegBL) + Gebäude- und Wohnungsregister GWR + Registro degli edifici e delle abitazioni (REA) + + + + + + + + + + + + + + + cantonal inventory + inventaire cantonal + Kantonales Inventar + inventario cantonale + + + + + + + + + + + + + + + + + + + + + + + + + Rahmennutzungsplan + piani particolareggiati + plan local de l'urbanisme + + + + + + + dryness + sécheresse + Trockenheit + secchezza + + + + + + + + + + + + + + + + + + + + drain + écoulement + Abfluss + emissario + + + + + + + River space + Espace fluvial + Gewässerraum + Spazio fiume + + + + + + + + + + + + + + revitalisation + revitalisation + Revitalisierung + rivitalizzazione + + + + + + + + + + + + + + + road networks + réseau routier + Strassennetz + rete stradale + + + + + + + + + + + + + + + Roman age + époque romaine + römische Epoche + epoca romana + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + point of mesurement + + + + + historical building + bâtiment historique + historisches Gebäude + edificio storico + + + + + + + + + + + + + + + + avis de tir + Schiessanzeige + avviso di tiro + + + + + + + + + + + + + + + + + + la hauteur d'eau souterraine + Grundwassermächtigkeit + + + + + Planning tool + Outil de planification + Planungsinstrument + Strumento di pianificazione + + + + + + + + + + Jours de tirs + Schiessdaten + Date di tiro + + + + + + + + + + + + + + + + tir militaire + Militärschiessen + tiro militare + + + + + + + + + + + + + + + rifle range + Place de tir + Schiessplatz + Piazza di tiro + + + + + + + + + + + + + + + + Heure de tir + Schiesszeiten + Periodo di tiro + + + + + + + + + + + + + + + prohibited area + Zone interdite + Sperrgebiet + Zona vietata + + + + + + + + + + + + + + + + + + + + + + + + + + + Forest function + Fonction forestière + Waldfunktion + Funzione foresta + + + + + + + + + + Produzione di legname + Holzproduktion + Production de bois + + + + + + + + + + Timber production + + + + + + + + + + + + + + UML diagramm + Diagramme UML + UML-Diagramm + Diagramma UML + + + + + + + + + + + + + Tree-habitat + + + Baum-Lebensraum + + + + + + + + + + + + + + + + + + + + + + Rutschprozess + processo di scivolamento + processus de glissement + + + + + + + processus hydrologique + Wasserprozess + processo idrologico + + + + + + + + + + + + + + + Excavation + Fouille + Ausgrabung + Scavo + + + + + + + + + + + + + + + historical watercourse + hydrosystème fluvial historique + historischer Wasserlauf + corso d'acqua storico + + + + + + + + + + + + + + + cultivated area + surfache cultivée + Kulturfläche + superficie destinata ad una coltivazione + + + + + + + + + + + + + + + town fortification + fortifications de la ville + Stadtbefestigung + forificazione della città + + + + + + + + + + + + + + + dates of waste collection + date ramassage déchets + Abfuhrtermin + + + + + + + + + + + + + + + + waste collection zone + zone ramassage déchets + Abfuhrzone + + + + + + + + + + + + + + + + Canton of St. Gallen (SG) + St. Gallen (SG) + Kanton St.Gallen + St. Gallen (SG) + + + + + + + + + + + + + + + meeting place + lieu de rencontre + Begegnungsort + luogo d'incontro + + + + + + + + + + + + + + + streetworking + animation/travail de quartier + Quartierarbeit + + + + + + + + + + + + + + + + meeting point + lieu de rencontre + Treffpunkt + luogo di ritrovo + + + + + + + + + + + + + + + Energy carrier + Agent énergétique + Energieträger + + + + + + + + + + + + + + + + DIEMO + Base de données nationale suisse des infrastructures de recharge DIEMO + Daten-Infrastruktur Elektromobilität (DIEMO) + DIEMO + + + + + + + + + + + + + + + Skating Route + Route de skating + Skatingweg + + + + + + + + + + + + + + + + military shooting exercises + tir militaire + Militärschiessen + tiro militare + + + + + + + + + + + + + + + + + restricted area + zone interdite + Sperrgebiet + zone vietata + + + + + + + + + + + + + + + + + shooting range + place de tir + Schiessplatz + piazza di tiro + + + + + + + + + + + + + + + + + + pompe à eau brute + Rohwasserpumpe + + + + + + + + + + + + + + + + + + shooting date + jour de tir + Schiessdaten + giorno di tiro + + + + + + + + + + + + + + + + + shooting range + installation de tir + Schiessanlage + impianto di tiro + + + + + + + + + + + + + + + + + shotting times + heure de tir + Schiesszeiten + orari du tiro + + + + + + + + + + + + + + + + + military construction or installation + construction ou installation militaire + militärische Baute oder Anlage + Costruzioni e impianti militari + + + + + + + + + + + + + + + + + + captage d'eau souterraine + Grundwasserfassung + Captazione di acque sotterranee + + + + + + + + + + + + + + + + + + captage d'eau de surface + Oberflaechengewaesserfassung + Captazione di acque superficiali + + + + + + + + + + + + + + + + + military activities + activité militaire + militärische Aktivitäten + attività militari + + + + + + + + + + + + + + + + + shooting range bulletin + avis de tir + Schiessanzeige + avviso di tiro + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iso19139.che/src/main/java/org/fao/geonet/GeocatLangUtils.java b/iso19139.che/src/main/java/org/fao/geonet/GeocatLangUtils.java new file mode 100644 index 00000000000..03feda0c29c --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/GeocatLangUtils.java @@ -0,0 +1,372 @@ +package org.fao.geonet; + +import jeeves.server.dispatchers.guiservices.XmlCacheManager; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.util.AttributeImpl; +import org.fao.geonet.constants.Geonet; +import org.fao.geonet.kernel.GeonetworkDataDirectory; +import org.fao.geonet.util.ElementFinder; +import org.fao.geonet.util.LangUtils; +import org.fao.geonet.utils.IO; +import org.fao.geonet.utils.Log; +import org.fao.geonet.utils.Xml; +import org.jdom.Content; +import org.jdom.Element; +import org.jdom.JDOMException; +import org.json.JSONException; +import org.json.JSONObject; +import org.springframework.context.ApplicationContext; + +import java.io.IOException; +import java.io.Reader; +import java.net.URLEncoder; +import java.nio.file.DirectoryStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.*; + +/** + * Used to get translations and strings from the strings xml files + * + * @author jeichar + */ +public final class GeocatLangUtils extends LangUtils +{ + + public static String translateAndJoin(ApplicationContext context, String type, String key, String separator) throws IOException, + JDOMException { + Map translations = LangUtils.translate(context, type, key); + StringBuilder msg = new StringBuilder(); + + addTranslation(separator, msg, translations.get("ger")); + addTranslation(separator, msg, translations.get("fre")); + addTranslation(separator, msg, translations.get("ita")); + addTranslation(separator, msg, translations.get("eng")); + + return msg.toString(); + } + + private static void addTranslation(String separator, StringBuilder msg, String translation) { + if (translation != null && !translation.isEmpty()) { + if (msg.length() > 0) { + msg.append(separator); + } + msg.append(translation); + } + } + + /** + * Returns the default language of the metadata + */ + @SuppressWarnings("unchecked") + public static String iso19139DefaultLang(Element xml) + { + + while (xml.getParentElement() !=null ){ + xml = xml.getParentElement(); + } + + Iterator iter = xml.getDescendants(new ElementFinder("language", Geonet.Namespaces.GMD, + "CHE_MD_Metadata")); + if (!iter.hasNext()) { + iter = xml.getDescendants(new ElementFinder("language", Geonet.Namespaces.GMD, "MD_Metadata")); + } + + String defaultLang = "eng"; + if (iter.hasNext()) { + Element langElem = (Element) iter.next(); + if (langElem.getChild("CharacterString", Geonet.Namespaces.GCO) != null) { + defaultLang = langElem.getChildTextTrim("CharacterString", Geonet.Namespaces.GCO); + } + } + return defaultLang; + } + + /** + * Returns the text of the element translated if possible. The preferredLang + * is first choice then the metadata default lang is next + * + * @param element + * element with CharacterString or PT_FreeText element children + */ + public static String iso19139TranslatedText(Element element, String preferredLang, String defaultLang) + { + Element charString = element.getChild("CharacterString", Geonet.Namespaces.GCO); + if (preferredLang.equalsIgnoreCase(defaultLang) + && charString != null) { + return element.getChild("CharacterString", Geonet.Namespaces.GCO).getTextTrim(); + } + + String fallback = null; + + ElementFinder finder = new ElementFinder("LocalisedCharacterString", Geonet.Namespaces.GMD, "textGroup"); + @SuppressWarnings("unchecked") + Iterator localised = element.getDescendants(finder); + + while( localised.hasNext() ){ + Element next = localised.next(); + + String langcode = next.getAttributeValue("locale").substring(1); + if( preferredLang.toLowerCase().startsWith(langcode) ){ + return next.getTextTrim(); + } + if( defaultLang.toLowerCase().startsWith(langcode) ){ + fallback = next.getTextTrim(); + } + } + + if( fallback==null && charString!=null ) { + return charString.getTextTrim(); + } + + if(fallback == null ){ + Iterator children = element.getDescendants(finder); + if (children.hasNext()) { + return ((Element) children.next()).getTextTrim(); + } else { + return element.toString(); + } + } + return fallback; + } + + /** + * Accesses a translation from the simplified multiLang xml + * + * @see org.fao.geonet.GeocatLangUtils#createDescFromParams(Element, String) + */ + @SuppressWarnings("unchecked") + public static String getTranslation(String descAt, String locale) throws IOException, JDOMException + { + Element desc = loadInternalMultiLingualElem(descAt); + if( locale==null ){ + if( desc.getText() == null && !"null".equalsIgnoreCase(desc.getText())){ + if( !desc.getChildren().isEmpty() ){ + return ((Element) desc.getChildren()).getTextTrim(); + } + } else { + return desc.getTextTrim(); + } + }else{ + String code = locale.substring(0, 2); + String nonEmptyText = null; + for (Element child : (List) desc.getChildren()) { + final String text = child.getTextTrim(); + if( child.getName().equalsIgnoreCase(code) && !"null".equalsIgnoreCase(text) && !text.isEmpty()){ + return text; + } else if (nonEmptyText == null && !text.isEmpty() && !"null".equalsIgnoreCase(text)) { + nonEmptyText = text; + } + } + if( desc.getText() != null && desc.getTextTrim().length()>0 ){ + return desc.getTextTrim(); + } else if (nonEmptyText != null){ + return nonEmptyText; + } + } + return ""; + } + + public static String encodeXmlText(String data) { + return ""; + } + + /** + * Creates the simplified translation XML from the parameters + */ + public static String createDescFromParams(Element params, String paramBaseName) + { + + final String descDe = encodeXmlText(Util.getParam(params, paramBaseName + "DE", "")); + final String descIt = encodeXmlText(Util.getParam(params, paramBaseName + "IT","")); + final String descFr = encodeXmlText(Util.getParam(params, paramBaseName + "FR","")); + final String descEn = encodeXmlText(Util.getParam(params, paramBaseName + "EN","")); + final String descRm = encodeXmlText(Util.getParam(params, paramBaseName + "RM", "")); + + return String.format("%s%s%s%s%s", descDe, descFr, descIt, descEn, descRm); + } + + public static Element toIsoMultiLingualElem(Path appPath, String basicValue) throws Exception + { + + final Element desc = loadInternalMultiLingualElem(basicValue); + return Xml.transform(desc, appPath.resolve("xsl/iso-internal-multilingual-conversion.xsl")); + } + + public static Element loadInternalMultiLingualElem(String basicValue) throws IOException + { + + final String xml = "" + basicValue.replaceAll("(<\\w+>)\\s*(\\)*()","$1$5") + ""; + + Log.debug(Geonet.GEONETWORK, "Parsing xml to get languages: \n" + xml); + + Element desc; + try { + desc = Xml.loadString(xml, false); + } catch(JDOMException jdomParse) { + try { + String encoded = URLEncoder.encode(basicValue, "UTF-8"); + desc = Xml.loadString(String.format("%1$s%1$s%1$s%1$s", encoded),false); + } catch (JDOMException e) { + Element en = new Element("EN").setText("Error setting parsing text: " + basicValue); + desc = new Element("description").addContent(en); + } + } + return desc; + } + public static List loadInternalMultiLingualElemCollection(String basicValue) throws IOException, JDOMException { + Element multiLingualElem = loadInternalMultiLingualElem(basicValue); + @SuppressWarnings("unchecked") + List content = multiLingualElem.getContent(); + List nodes = new ArrayList<>(content); + Set locales = new HashSet(); + + for (Iterator iter = nodes.iterator(); iter.hasNext(); ) { + Content node = iter.next(); + if( node instanceof Element){ + String locale = ((Element)node).getName(); + if( locales.contains(locale) ){ + iter.remove(); + }else{ + locales.add(locale); + } + } + node.detach(); + } + return nodes; + } + + public static List analyzeForSearch(Reader reader) throws IOException { + return null; + // TODO geocat4 +// ArrayList strings = new ArrayList(); +// GeoNetworkAnalyzer analyzer = new GeoNetworkAnalyzer(); +// try { +// TokenStream stream = analyzer.tokenStream(null, reader); +// stream.reset(); +// do { +// Iterator iterator = stream.getAttributeImplsIterator(); +// while (iterator.hasNext()) { +// AttributeImpl next = iterator.next(); +// if(next instanceof CharTermAttribute) { +// String term = ((CharTermAttribute) next).toString(); +// if(term.length() > 0) +// strings.add(term); +// } +// } +// } while (stream.incrementToken()); +// return strings; +// } finally { +// analyzer.close(); +// } + } + + public static String to2CharLang(String s) { + if(s.length() > 2) { + s = s.substring(0,2); + } + return s; + } + + public enum FieldType { URL, STRING } + public static String toInternalMultilingual(String metadataLang, Path appPath, Element descElem2, FieldType fieldType) throws Exception + { + if( descElem2==null ){ + return null; + } + + Element descElem = (Element) descElem2.clone(); + descElem.setName("root"); + descElem.setNamespace(null); + + String desc; + Map params = new HashMap(); + params.put("metadataLang", metadataLang); + String styleSheet; + switch (fieldType) + { + case URL: + styleSheet = "xsl/iso-internal-multilingual-conversion-url.xsl"; + break; + case STRING: + styleSheet = "xsl/iso-internal-multilingual-conversion.xsl"; + break; + default: + throw new IllegalArgumentException(fieldType+" needs to be supported"); + } + + Element converted = Xml.transform(descElem, appPath.resolve(styleSheet), params); + + @SuppressWarnings("unchecked") + List allTranslations = converted.getChildren(); + StringBuilder builder = new StringBuilder(converted.getTextTrim()); + + for (Element element : allTranslations) { + builder.append(Xml.getString(element)); + } + desc = builder.toString(); + return desc; + } + + /** + * Find all the translations for a given key in the .xml file. normally you will want + * 'type' to == 'string'. In fact the 2 parameter method can be used for this. + * + * @param type the type of translations file, typically strings + * @param key the key to look up. may contain / but cannot start with one. for example: categories/water + */ + public static Map translate(ApplicationContext context, String type, String key) throws JDOMException, IOException { + TranslationKey translationKey = new TranslationKey(type, key); + Map translations = translationsCache.get(translationKey); + + if (translations == null || context.getBean(SystemInfo.class).isDevMode()) { + Path webappDir = context.getBean(GeonetworkDataDirectory.class).getWebappDir(); + Path loc = webappDir.resolve("loc"); + XmlCacheManager cacheManager = context.getBean(XmlCacheManager.class); + + String xmlTypeWithExtension = "xml/" + type + ".xml"; + String jsonTypeWithExtension = "json/" + type + ".json"; + + Map translations1 = new HashMap<>(); + try (DirectoryStream paths = Files.newDirectoryStream(loc, IO.DIRECTORIES_FILTER)) { + for (Path path : paths) { + final String lang = path.getFileName().toString(); + String translation = null; + if (Files.exists(path.resolve(jsonTypeWithExtension))) { + Path jsonFile = path.resolve(jsonTypeWithExtension); + try { + JSONObject json = new JSONObject(new String(Files.readAllBytes(jsonFile), Constants.CHARSET)); + translation = json.optString(key); + } catch (JSONException e) { + throw new RuntimeException("Failed to parse the following file as a json file: " + jsonFile, e); + } + } else if (Files.exists(path.resolve(xmlTypeWithExtension))) { + Element xml = cacheManager.get(context, true, loc, xmlTypeWithExtension, lang, lang, false); + if (key.contains("/") || key.contains("[") || key.contains(":")) { + translation = Xml.selectString(xml, key); + } else { + translation = xml.getChildText(key); + } + } + if (translation != null && !translation.trim().isEmpty()) { + translations1.put(lang, translation); + } + } + } + translations = translations1; + translationsCache.put(translationKey, translations); + } + + return translations; + } + + + /** + * same as translate(context, "string", key) + */ + public static Map translate(ApplicationContext context, String key) throws JDOMException, IOException { + return translate(context, "strings", key); + } + +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03Api.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03Api.java new file mode 100644 index 00000000000..8f2ab0c97bf --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03Api.java @@ -0,0 +1,150 @@ +/* + * Copyright (C) 2001-2016 Food and Agriculture Organization of the + * United Nations (FAO-UN), United Nations World Food Programme (WFP) + * and United Nations Environment Programme (UNEP) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + * Rome - Italy. email: geonetwork@osgeo.org + */ + +package org.fao.geonet.api.gm03; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import io.swagger.v3.oas.annotations.tags.Tag; +import jeeves.server.context.ServiceContext; +import jeeves.services.ReadWriteController; +import org.fao.geonet.api.API; +import org.fao.geonet.api.ApiParams; +import org.fao.geonet.api.ApiUtils; +import org.fao.geonet.api.exception.NotAllowedException; +import org.fao.geonet.api.exception.ResourceNotFoundException; +import org.fao.geonet.domain.AbstractMetadata; +import org.fao.geonet.domain.ReservedOperation; +import org.fao.geonet.kernel.DataManager; +import org.fao.geonet.kernel.SchemaManager; +import org.fao.geonet.lib.Lib; +import org.fao.geonet.utils.Log; +import org.jdom.Element; +import org.jdom.input.DOMBuilder; +import org.jdom.output.DOMOutputter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.w3c.dom.Document; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.nio.file.Path; + +import static org.fao.geonet.api.ApiParams.*; + + +@Tag(name = API_CLASS_RECORD_TAG, + description = API_CLASS_RECORD_OPS) +@Controller("recordsGm03") +@ReadWriteController +public class Gm03Api { + + private final String GM03_XSL_CONVERSION_FILE= "convert/ISO19139CHE-to-GM03.xsl"; + private final String GM03_XSD_FILE = "GM03_2_1.xsd"; + + @Autowired + SchemaManager _schemaManager; + + @Autowired + DataManager _dataManager; + + @Operation(summary = "Get a metadata record as full GM03") + @RequestMapping(value = "/{portal}/api/records/{metadataUuid}/formatters/gm03", + method = RequestMethod.GET, + produces = { + MediaType.APPLICATION_XML_VALUE + }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Return the record in GM03 format."), + @ApiResponse(responseCode = "403", description = ApiParams.API_RESPONSE_NOT_ALLOWED_CAN_VIEW) + }) + public + @ResponseBody + Element getRecordAsGM03( + @Parameter( + description = API_PARAM_RECORD_UUID, + required = true) + @PathVariable + String metadataUuid, + @RequestHeader( + value = HttpHeaders.ACCEPT, + defaultValue = MediaType.APPLICATION_XML_VALUE + ) + String acceptHeader, + HttpServletResponse response, + HttpServletRequest request + ) + throws Exception { + + AbstractMetadata metadata; + + try { + metadata = ApiUtils.canViewRecord(metadataUuid, request); + } catch (ResourceNotFoundException e) { + Log.debug(API.LOG_MODULE_NAME, e.getMessage(), e); + throw e; + } + catch (Exception e) { + Log.debug(API.LOG_MODULE_NAME, e.getMessage(), e); + throw new NotAllowedException(ApiParams.API_RESPONSE_NOT_ALLOWED_CAN_VIEW); + } + ServiceContext context = ApiUtils.createServiceContext(request); + try { + Lib.resource.checkPrivilege(context, + String.valueOf(metadata.getId()), + ReservedOperation.view); + } catch (Exception e) { + Log.debug(API.LOG_MODULE_NAME, e.getMessage(), e); + throw new NotAllowedException(ApiParams.API_RESPONSE_NOT_ALLOWED_CAN_VIEW); + } + + Element xml = _dataManager.getMetadataNoInfo(context, metadata.getId() + ""); + + final String schema = metadata.getDataInfo().getSchemaId(); + Path schemaDir = null; + if (schema != null) { + schemaDir = _schemaManager.getSchemaDir(schema); + } + + DOMOutputter outputter = new DOMOutputter(); + Document domIn = outputter.output(new org.jdom.Document(xml)); + + Path xsdFile = schemaDir.resolve(GM03_XSD_FILE); + Path xsl = schemaDir.resolve(GM03_XSL_CONVERSION_FILE); + + ISO19139CHEtoGM03Base toGm03 = new ISO19139CHEtoGM03(xsdFile, xsl); + Document domOut = toGm03.convert(domIn); + + DOMBuilder builder = new DOMBuilder(); + Element rootElement = builder.build(domOut).getRootElement(); + rootElement.detach(); + return rootElement; + } + + +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03BaseService.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03BaseService.java new file mode 100644 index 00000000000..cefda6eefdf --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03BaseService.java @@ -0,0 +1,122 @@ +package org.fao.geonet.api.gm03; + +import jeeves.interfaces.Service; +import jeeves.server.ServiceConfig; +import jeeves.server.UserSession; +import jeeves.server.context.ServiceContext; +import org.fao.geonet.Logger; +import org.fao.geonet.Util; +import org.fao.geonet.constants.Geonet; +import org.fao.geonet.constants.Params; +import org.fao.geonet.domain.ReservedOperation; +import org.fao.geonet.exceptions.MetadataNotFoundEx; +import org.fao.geonet.exceptions.MissingParameterEx; +import org.fao.geonet.kernel.DataManager; +import org.fao.geonet.lib.Lib; +import org.fao.geonet.utils.IO; +import org.jdom.Element; +import org.jdom.input.DOMBuilder; +import org.jdom.output.DOMOutputter; +import org.w3c.dom.Document; +import org.xml.sax.SAXException; + +import javax.xml.transform.TransformerConfigurationException; +import java.nio.file.Path; + +public abstract class Gm03BaseService implements Service { + protected Path xsl; + private Path xsd; + + public void init(Path appPath, ServiceConfig params) throws Exception { + final String xslTxt = params.getValue("xsl"); + xsl = IO.toPath(xslTxt); + if (!xsl.isAbsolute()) + xsl = appPath.resolve(xslTxt); + + final String xsdTxt = params.getValue("xsd"); + xsd = IO.toPath(xsdTxt); + if (!xsd.isAbsolute()) + xsd = appPath.resolve(xsdTxt); + } + + public Element exec(Element params, ServiceContext context) throws Exception { + boolean validate = Util.getParam(params, "validate", false); + final Path xsdFile; + if (validate) { + xsdFile = xsd; + } else { + xsdFile = null; + } + + UserSession session = context.getUserSession(); + + //----------------------------------------------------------------------- + //--- handle current tab + + Element elCurrTab = params.getChild(Params.CURRTAB); + + if (elCurrTab != null) + session.setProperty(Geonet.Session.METADATA_SHOW, elCurrTab.getText()); + + //----------------------------------------------------------------------- + //--- check access + + DataManager dm = context.getBean(DataManager.class); + + // the metadata ID + String id; + + // does the request contain a UUID ? + try { + String uuid = Util.getParam(params, Params.UUID); + // lookup ID by UUID + id = dm.getMetadataId(uuid); + } catch (MissingParameterEx x) { + // request does not contain UUID; use ID from request + try { + id = Util.getParam(params, Params.ID); + } + // request does not contain ID + catch (MissingParameterEx xx) { + // give up + throw new Exception("Request must contain a UUID or an ID"); + } + } + + Lib.resource.checkPrivilege(context, id, ReservedOperation.view); + + //----------------------------------------------------------------------- + //--- get metadata + + Element elMd = dm.getMetadata(context, id, false, true, true); + + if (elMd == null) + throw new MetadataNotFoundEx(id); + + Logger logger = context.getLogger(); + try { + logger.info("1"); + DOMOutputter outputter = new DOMOutputter(); + logger.info("2"); + Document domIn = outputter.output(new org.jdom.Document(elMd)); + logger.info("3"); + + ISO19139CHEtoGM03Base toGm03 = createConverter(xsdFile); + logger.info("4"); + Document domOut = toGm03.convert(domIn); + logger.info("5"); + + DOMBuilder builder = new DOMBuilder(); + logger.info("6"); + return builder.build(domOut).getRootElement(); + } catch (RuntimeException e) { + logger.error(e.toString()); + throw e; + } catch (Exception e) { + logger.error(e.toString()); + throw e; + } + } + + protected abstract ISO19139CHEtoGM03Base createConverter(Path xsdFile) throws SAXException, TransformerConfigurationException; +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03Service.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03Service.java new file mode 100644 index 00000000000..e344f6cd903 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03Service.java @@ -0,0 +1,13 @@ +package org.fao.geonet.api.gm03; + +import org.xml.sax.SAXException; + +import javax.xml.transform.TransformerConfigurationException; +import java.nio.file.Path; + +public class Gm03Service extends Gm03BaseService { + protected ISO19139CHEtoGM03Base createConverter(Path xsdFile) throws SAXException, TransformerConfigurationException { + return new ISO19139CHEtoGM03(xsdFile, xsl.toAbsolutePath()); + } + +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03smallService.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03smallService.java new file mode 100644 index 00000000000..5722737e81b --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/Gm03smallService.java @@ -0,0 +1,12 @@ +package org.fao.geonet.api.gm03; + +import org.xml.sax.SAXException; + +import javax.xml.transform.TransformerConfigurationException; +import java.nio.file.Path; + +public class Gm03smallService extends Gm03BaseService { + protected ISO19139CHEtoGM03Base createConverter(Path xsdFile) throws SAXException, TransformerConfigurationException { + return new ISO19139CHEtoGM03small(xsdFile, xsl.toAbsolutePath()); + } +} \ No newline at end of file diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03.java new file mode 100644 index 00000000000..cb0b325aa56 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03.java @@ -0,0 +1,206 @@ +package org.fao.geonet.api.gm03; + +import org.apache.commons.lang.ArrayUtils; +import org.fao.geonet.utils.IO; +import org.w3c.dom.*; +import org.xml.sax.SAXException; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Iterator; + +public class ISO19139CHEtoGM03 extends ISO19139CHEtoGM03Base { + public ISO19139CHEtoGM03(Path schemaLocation, Path xslFilename) throws SAXException, TransformerConfigurationException { + super(schemaLocation, xslFilename); + } + + protected boolean wantIntermediate() { + return true; + } + + protected void flatten(Document source) throws FlattenerException { + final Node start = getRootNode(source); + flattenNode(start, null, start); + } + + private void flattenNode(Node root, Node parent, Node cur) throws FlattenerException { + if (cur.getNodeType() != Node.ELEMENT_NODE) return; + + final NamedNodeMap attrs = cur.getAttributes(); + + Node backRef = findBackRef(cur); + if (backRef != null) { + replaceByInsertion(root, parent, cur, backRef); + } + + if (attrs != null) { + Node ref = attrs.getNamedItem("REF"); + if (ref != null && ref.getTextContent().equals("?")) { + replaceByReference(root, parent, cur); + } + if (ref != null && ref.getTextContent().equals("../../?")) { + replaceByBackReference(root, parent, cur); + } + } + + final Iterator childsIter = new ChildIterator(cur); + while (childsIter.hasNext()) { + Node child = childsIter.next(); + flattenNode(root, cur, child); + } + } + + private void replaceByInsertion(Node root, Node parent, Node cur, Node dummyBackRef) throws FlattenerException { + final Node tidAttr = parent.getAttributes().getNamedItem("TID"); + if (tidAttr == null) { + //already moved... + return; + } + final String tid = tidAttr.getTextContent(); + + parent.removeChild(cur); + removeEmptyStuff(parent); + root.appendChild(cur); + + String backRefName = dummyBackRef.getAttributes().getNamedItem("name").getTextContent(); + + final Document doc = cur.getOwnerDocument(); + Node backRef = doc.createElementNS(NS, backRefName); + final Attr ref = doc.createAttributeNS(null, "REF"); + ref.setTextContent(tid); + backRef.getAttributes().setNamedItem(ref); + + cur.replaceChild(backRef, dummyBackRef); + } + + private void removeEmptyStuff(Node parent) { + ChildIterator it = new ChildIterator(parent); + while (it.hasNext()) { + Node node = it.next(); + if (node.getNodeType() == Node.TEXT_NODE && EMPTY.matcher(node.getTextContent()).matches()) { + parent.removeChild(node); + } + } + } + + private Node findBackRef(Node parent) throws FlattenerException { + for (Node cur = parent.getFirstChild(); cur != null; cur = cur.getNextSibling()) { + if (cur.getNodeName().equals("BACK_REF")) { + return cur; + } + } + return null; + } + + private void replaceByReference(Node root, Node parent, Node cur) throws FlattenerException { + final NodeList childs = cur.getChildNodes(); + if (childs.getLength() < 1) { + //cannot replace by a reference if there is no element in it + return; + } + Node dest = childs.item(0); + while (dest != null && dest.getNodeType() != Node.ELEMENT_NODE) { + dest = dest.getNextSibling(); + } + if (dest == null) { + throw new FlattenerException("No child element found for flattening a reference): " + cur.getNodeName()); + } + if (dest.getNodeName().equals("ERROR")) return; + cur.removeChild(dest); + + if (dest.getAttributes() == null) { + throw new FlattenerException("No attribute in element " + dest.getNodeName() + " from " + cur.getNodeName()); + } + final Node tidTxt = dest.getAttributes().getNamedItem("TID"); + if (tidTxt == null) { + throw new FlattenerException("No TID in element " + dest.getNodeName() + " from " + cur.getNodeName()); + } + String tid = tidTxt.getTextContent(); + cur.getAttributes().getNamedItem("REF").setTextContent(tid); + removeEmptyStuff(cur); + + root.appendChild(dest); + + //must flatten the child that we just moved. + flattenNode(root, root, dest); + } + + private void replaceByBackReference(Node root, Node parent, Node cur) throws FlattenerException { + Node parentNode = parent.getParentNode(); + + Node tidAtt = parentNode.getAttributes().getNamedItem("TID"); + + if (tidAtt == null) { + throw new FlattenerException("No TID in element " + parentNode.getNodeName() + " from back ref of " + cur.getNodeName()); + } + String tid = tidAtt.getTextContent(); + cur.getAttributes().getNamedItem("REF").setTextContent(tid); + + parentNode.removeChild(parent); + root.appendChild(parent); + } + + protected void removeDuplicates(Document doc) throws FlattenerException { + final Node root = getRootNode(doc); + + //have to do that in more that one pass, since two nodes can become identical + //once they reference the same node + while (true) { + boolean found = false; + UnDuplifier unDuplifier = new UnDuplifier(); + ChildIterator it = new ChildIterator(root); + while (it.hasNext()) { + Node cur = it.next(); + found = unDuplifier.addNode(root, cur) || found; + } + if (found) { + unDuplifier.translateRefs(root); + } else { + break; + } + } + } + + protected String getGmlCoordinateNs() { + return NS; + } + + private Node getRootNode(Document doc) throws FlattenerException { + NodeList root = doc.getElementsByTagNameNS(NS, "GM03_2_1Comprehensive.Comprehensive"); + if (root.getLength() != 1) { + throw new FlattenerException("Not 1 and only 1 GM03_2_1Comprehensive.Comprehensive"); + } + final Node start = root.item(0); + return start; + } + + protected Element createCoordinate(Document doc, String[] vals) { + Element coordNode = doc.createElementNS(NS, "COORD"); + for (int k = 0; k < vals.length; k++) { + String val = vals[k]; + Element valNode = doc.createElementNS(NS, "C" + (k + 1)); + valNode.setTextContent(val); + coordNode.appendChild(valNode); + } + return coordNode; + } + + public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException, FlattenerException, + TransformerException { + final String xslFilename = args[0]; + final String schemaFilename = args[1]; + final String[] xmlFilenames = (String[]) ArrayUtils.subarray(args, 2, args.length); + + Path schemaLocation = null; + if (!schemaFilename.equalsIgnoreCase("no")) { + schemaLocation = IO.toPath(schemaFilename); + } + ISO19139CHEtoGM03 converter = new ISO19139CHEtoGM03(schemaLocation, IO.toPath(xslFilename)); + + converter.convert(xmlFilenames, "ISO19139CHEtoGM03.main"); + } + +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03Base.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03Base.java new file mode 100644 index 00000000000..4204e1aad5b --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03Base.java @@ -0,0 +1,300 @@ +package org.fao.geonet.api.gm03; + +import org.apache.xml.serialize.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.fao.geonet.Constants; +import org.fao.geonet.utils.TransformerFactoryFactory; +import org.w3c.dom.*; +import org.xml.sax.SAXException; + +import javax.xml.XMLConstants; +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.dom.DOMResult; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamSource; +import javax.xml.validation.Schema; +import javax.xml.validation.SchemaFactory; +import java.io.*; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Pattern; + +public abstract class ISO19139CHEtoGM03Base { + protected static final String NS = "http://www.interlis.ch/INTERLIS2.3"; + protected static final SchemaFactory SCHEMA_FACTORY = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); + protected static final Pattern EMPTY = Pattern.compile("^[\\s\n\r]*$"); + protected final Schema schema; + protected Transformer xslt; + + public ISO19139CHEtoGM03Base(Path schemaLocation, Path xslFilename) throws SAXException, TransformerConfigurationException { + if (schemaLocation != null) { + schema = SCHEMA_FACTORY.newSchema(schemaLocation.toFile()); + } else { + schema = null; + } + xslt = TransformerFactoryFactory.getTransformerFactory().newTransformer(new StreamSource(xslFilename.toFile())); + } + + protected void convert(String[] xmlFilenames, String group) { + for (int i = 0; i < xmlFilenames.length; i++) { + String xmlFilename = xmlFilenames[i]; + try { + convert(xmlFilename, group); + } catch (Throwable e) { + System.out.println("Error while converting " + xmlFilename); + e.printStackTrace(); + throw new Error(e); + } + } + } + + public Document convert(Document domIn) throws TransformerException, FlattenerException, IOException, SAXException { + final Source source = new DOMSource(domIn); + + // TODO make the group the group of the metadata being transformed. But this could cause bugs so I am leaving it now + final Document doc = doTransform("geocat.ch", source, null); + + validate(domIn.getDocumentURI(), doc); + return doc; + } + + private Document doTransform(String group, final Source source, String intermediateFile) throws TransformerException, + FlattenerException, IOException { + DOMResult transformed = new DOMResult(); + xslt.setParameter("group", group); + xslt.transform(source, transformed); + final Document doc = (Document) transformed.getNode(); + + if (wantIntermediate() && intermediateFile != null) { + OutputStream outputStream = new FileOutputStream(intermediateFile); + saveDom(doc, outputStream); + } + + flatten(doc); + convertCoordinates(doc); + removeDuplicates(doc); + removeUnwantedTID(doc); + return doc; + } + + private static final String[] TID_LESS_ELEMS = { + "GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat", + "GM03_2_1Core.Core.MD_DistributiondistributionFormat", + "GM03_2_1Comprehensive.Comprehensive.MD_Distributiondistributor", + "GM03_2_1Core.Core.CI_ResponsiblePartyparentinfo", + "GM03_2_1Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor", + "GM03_2_1Core.Core.CI_ResponsiblePartyparentinfoGM03_2_1Core.Core.referenceSystemInfoMD_Metadata", + "GM03_2_1Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty", + "GM03_2_1Comprehensive.Comprehensive.CI_Citationidentifier", + "GM03_2_1Core.Core.MD_IdentificationpointOfContact", + "GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationupdateScopeDescription", + "GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact", + "GM03_2_1Comprehensive.Comprehensive.resourceFormatMD_Identification", + "GM03_2_1Core.Core.descriptiveKeywordsMD_Identification", + "GM03_2_1Comprehensive.Comprehensive.MD_UsageuserContactInfo", + "GM03_2_1Comprehensive.Comprehensive.resourceConstraintsMD_Identification", + "GM03_2_1Comprehensive.Comprehensive.aggregationInfo_MD_Identification", + "GM03_2_1Core.Core.EX_ExtentgeographicElement", + "GM03_2_1Comprehensive.Comprehensive.revisionMD_Identification", + "GM03_2_1Comprehensive.Comprehensive.dimensionMD_CoverageDescription", + "GM03_2_1Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription", + "GM03_2_1Comprehensive.Comprehensive.MD_AttributenamedType", + "GM03_2_1Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription", + "GM03_2_1Comprehensive.Comprehensive.CI_Citationidentifier", + "GM03_2_1Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty", + "GM03_2_1Comprehensive.Comprehensive.DQ_Scopeextent", + "GM03_2_1Core.Core.EX_ExtentgeographicElement", + "GM03_2_1Comprehensive.Comprehensive.reportDQ_DataQuality", + "GM03_2_1Comprehensive.Comprehensive.sourceLI_Lineage", + "GM03_2_1Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty", + "GM03_2_1Comprehensive.Comprehensive.CI_Citationidentifier", + "GM03_2_1Comprehensive.Comprehensive.portrayalCatalogueInfoMD_Metadata", + "GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationupdateScopeDescription", + "GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact", + "GM03_2_1Comprehensive.Comprehensive.MD_MetadatalegislationInformation", + "GM03_2_1Core.Core.referenceSystemInfoMD_Metadata", + "GM03_2_1Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor", + "GM03_2_1Comprehensive.Comprehensive.extentSV_ServiceIdentification", + "GM03_2_1Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification", + "GM03_2_1Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint" + }; + + private void removeUnwantedTID(Document doc) { + for (String tagname : TID_LESS_ELEMS) { + NodeList elementsByTagName = doc.getElementsByTagName(tagname); + for (int i = elementsByTagName.getLength() - 1; i >= 0; i--) { + Node item = elementsByTagName.item(i); + NamedNodeMap attributes = item.getAttributes(); + if (attributes.getNamedItem("TID") != null) { + attributes.removeNamedItem("TID"); + } + } + } + + } + + public void convert(String xmlFilename, String group) throws FlattenerException, IOException, TransformerException, SAXException { + File xmlFile = new File(xmlFilename); + String parent = xmlFile.getParent(); + if (parent == null) parent = "."; + + final Source source = new StreamSource(xmlFilename); + Document doc = doTransform(group, source, parent + "/intermediate_" + xmlFile.getName()); + + final String resultFilename = parent + "/result_" + xmlFile.getName(); + OutputStream outputStream = new FileOutputStream(resultFilename); + saveDom(doc, outputStream); + validate(resultFilename, doc); + + } + + public void convert(Source source, String group, OutputStream outputStream) throws FlattenerException, IOException, + TransformerException, SAXException { + + Document doc = doTransform(group, source, null); + + saveDom(doc, outputStream); + + } + + protected abstract boolean wantIntermediate(); + + protected abstract void flatten(Document source) throws FlattenerException; + + protected abstract void removeDuplicates(Document doc) throws FlattenerException; + + /** + * Will replace all the gml:coordinates with a set of COORD with C1 and C2 childs. + */ + private void convertCoordinates(Document doc) { + while (true) { + NodeList toConvert = doc.getElementsByTagNameNS(getGmlCoordinateNs(), "GML_COORDINATES"); + if (toConvert.getLength() == 0) break; + Node cur = toConvert.item(0); + convertCoordinates(doc, cur); + } + } + + protected abstract String getGmlCoordinateNs(); + + /** + * Will replace a gml:coordinates with a set of COORD with C1 and C2 childs. + */ + protected void convertCoordinates(Document doc, Node gmlCoordinates) { + Node parent = gmlCoordinates.getParentNode(); + + String cs = gmlCoordinates.getAttributes().getNamedItem("cs").getTextContent(); + String decimal = gmlCoordinates.getAttributes().getNamedItem("decimal").getTextContent(); + String ts = gmlCoordinates.getAttributes().getNamedItem("ts").getTextContent(); + String raw = gmlCoordinates.getTextContent(); + + String[] coords = raw.split(Pattern.quote(ts)); + for (int j = 0; j < coords.length; j++) { + String coord = coords[j]; + String[] vals = coord.split(Pattern.quote(cs)); + if (vals.length >= 2) { + for (int i = 0; i < vals.length; i++) { + vals[i] = vals[i].replace(decimal, "."); + } + Element coordNode = createCoordinate(doc, vals); + parent.insertBefore(coordNode, gmlCoordinates); + } + } + + parent.removeChild(gmlCoordinates); + } + + protected abstract Element createCoordinate(Document doc, String[] vals); + + protected void validate(String xmlFilename, Document doc) throws IOException, SAXException { +/* + if (schema != null) { + Validator validator = schema.newValidator(); + final TranslateAndValidate.MyErrorHandler errorHandler = new TranslateAndValidate.MyErrorHandler(xmlFilename); + validator.setErrorHandler(errorHandler); + + Source validationSource = new DOMSource(doc); + + validator.validate(validationSource); + //errorHandler.printError(System.out); + errorHandler.throwErrors(); + } +*/ + } + + public static String toString(Element node) throws IOException { + ByteArrayOutputStream stream = new ByteArrayOutputStream(); + + try { + OutputFormat format = new OutputFormat(); + format.setIndent(2); + format.setIndenting(true); + format.setPreserveSpace(false); + + XMLSerializer serializer = new XMLSerializer(); + serializer.setOutputFormat(format); + serializer.setOutputByteStream(stream); + serializer.serialize(node); + } finally { + stream.close(); + } + + return stream.toString(Constants.ENCODING); + } + public static void saveDom(Document node, OutputStream outputStream) throws IOException { + try { + OutputFormat format = new OutputFormat(); + format.setIndent(2); + format.setIndenting(true); + format.setPreserveSpace(false); + + XMLSerializer serializer = new XMLSerializer(); + serializer.setOutputFormat(format); + serializer.setOutputByteStream(outputStream); + serializer.serialize(node); + } finally { + outputStream.close(); + } + } + + public static class FlattenerException extends Exception { + private static final long serialVersionUID = 1L; + + public FlattenerException(String message) { + super(message); + } + } + + /** + * A DOM child node iterator that takes a snapshot of the list of child nodes + * at construction. It is therefore not impacted by the modifications while iterating + */ + protected static class ChildIterator implements Iterator { + private final List childs; + private int pos = 0; + + public ChildIterator(Node root) { + childs = new ArrayList(); + for (Node child = root.getFirstChild(); child != null; child = child.getNextSibling()) { + childs.add(child); + } + } + + public boolean hasNext() { + return pos < childs.size(); + } + + public Node next() { + return childs.get(pos++); + } + + public void remove() { + throw new UnsupportedOperationException(); + } + } +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03small.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03small.java new file mode 100644 index 00000000000..51bc13131f3 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/ISO19139CHEtoGM03small.java @@ -0,0 +1,64 @@ +package org.fao.geonet.api.gm03; + +import org.apache.commons.lang.ArrayUtils; +import org.fao.geonet.utils.IO; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.xml.sax.SAXException; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import java.io.IOException; +import java.nio.file.Path; + +public class ISO19139CHEtoGM03small extends ISO19139CHEtoGM03Base { + private static final String GML = "http://www.geocat.ch/2003/05/gateway/GML"; + + public ISO19139CHEtoGM03small(Path schemaLocation, Path xslFilename) throws SAXException, TransformerConfigurationException { + super(schemaLocation, xslFilename); + } + + protected boolean wantIntermediate() { + return false; + } + + protected void flatten(Document source) throws FlattenerException { + } + + protected void removeDuplicates(Document doc) throws FlattenerException { + } + + protected String getGmlCoordinateNs() { + return null; + } + + protected Element createCoordinate(Document doc, String[] vals) { + Element coordNode = doc.createElementNS(GML, "GML:pos"); + StringBuffer coords = new StringBuffer(); + for (int k = 0; k < vals.length; k++) { + String val = vals[k]; + if (k > 0) { + coords.append(" "); + } + coords.append(val); + } + coordNode.setTextContent(coords.toString()); + return coordNode; + } + + public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException, FlattenerException, + TransformerException { + final String xslFilename = args[0]; + final String schemaFilename = args[1]; + final String[] xmlFilenames = (String[]) ArrayUtils.subarray(args, 2, args.length); + + Path schemaLocation = null; + if (!schemaFilename.equalsIgnoreCase("no")) { + schemaLocation = IO.toPath(schemaFilename); + } + ISO19139CHEtoGM03small converter = new ISO19139CHEtoGM03small(schemaLocation, IO.toPath(xslFilename)); + + converter.convert(xmlFilenames, "ISO19139CHEtoGM03small.main"); + } +} \ No newline at end of file diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/TranslateAndValidate.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/TranslateAndValidate.java new file mode 100644 index 00000000000..61eabd5e435 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/TranslateAndValidate.java @@ -0,0 +1,357 @@ +package org.fao.geonet.api.gm03; + +import jeeves.server.context.ServiceContext; +import net.sf.saxon.om.Axis; +import net.sf.saxon.om.AxisIterator; +import net.sf.saxon.om.NodeInfo; +import net.sf.saxon.pattern.NodeKindTest; +import org.apache.commons.lang.ArrayUtils; +import org.fao.geonet.Constants; +import org.fao.geonet.kernel.SchemaManager; +import org.fao.geonet.schema.iso19139che.ISO19139cheUtil; +import org.fao.geonet.utils.IO; +import org.fao.geonet.utils.TransformerFactoryFactory; +import org.xml.sax.ErrorHandler; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; + +import javax.xml.XMLConstants; +import javax.xml.transform.*; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; +import javax.xml.validation.Schema; +import javax.xml.validation.SchemaFactory; +import javax.xml.validation.Validator; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; + +public class TranslateAndValidate { + public static final SchemaFactory SCHEMA_FACTORY = SchemaFactory + .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); + + private static final TransformerFactory TRANSFORMER_FACTORY = TransformerFactory + .newInstance(); + + public File outputDir = new File("output"); + + public boolean debug = false; + + public static void main(String[] args) throws SAXException, IOException, + TransformerConfigurationException { + final String xslFilename = args[0]; + final String schemaFilename = args[1]; + final String[] xmlFilenames = (String[]) ArrayUtils.subarray(args, 2, + args.length); + + new TranslateAndValidate().run(xslFilename, schemaFilename, + xmlFilenames); + } + + /** + * @param xslFilename + * @param schemaFilename if null, does not validate transformed document. + * @param xmlFilenames + * @throws SAXException + * @throws TransformerConfigurationException + * @throws IOException + */ + public void run(String xslFilename, String schemaFilename, + String[] xmlFilenames) throws SAXException, + TransformerConfigurationException, IOException { + + Schema schema = null; + + // Only validate if a schemafile is provided + if (schemaFilename != null) { + // Compile the schema. + // Here the schema is loaded from a java.io.File, but you could use + // a java.net.URL or a javax.xml.transform.Source instead. + File schemaLocation = new File(schemaFilename); + schema = SCHEMA_FACTORY.newSchema(schemaLocation); + } + Transformer xslt = TRANSFORMER_FACTORY.newTransformer(new StreamSource( + xslFilename)); + + for (int i = 0; i < xmlFilenames.length; i++) { + String xmlFilename = xmlFilenames[i]; + final String xmlFilenameOnly = new File(xmlFilename).getName(); + final StreamSource source = new StreamSource(xmlFilename); + + StringBuffer doc = translate(xmlFilename, source, xslt, false, null); + saveFile(doc, "result_" + xmlFilenameOnly); + if (debug) { + saveFile(translate(xmlFilename, source, xslt, true, null), "intermediate_" + + xmlFilenameOnly); + } + if (schema != null) + validate(schema, xmlFilename, doc, xslt); + } + } + + /** + * @param xslFilename + * @param schemaFilename if null, does not validate transformed document. + * @throws SAXException + * @throws TransformerConfigurationException + * @throws IOException + */ + public void run(String xslFilename, String schemaFilename, + Source source) throws SAXException, + TransformerConfigurationException, IOException { + + // Compile the schema. + // Here the schema is loaded from a java.io.File, but you could use + // a java.net.URL or a javax.xml.transform.Source instead. + Schema schema = null; + if (schemaFilename != null) { + File schemaLocation = new File(schemaFilename); + + // Only validate if a schemafile is provided + schema = SCHEMA_FACTORY.newSchema(schemaLocation); + } + + Transformer xslt = TRANSFORMER_FACTORY.newTransformer(new StreamSource( + xslFilename)); + + StringBuffer doc = translate("unknown", source, xslt, false, null); + saveFile(doc, "result_"); + if (debug) { + saveFile(translate("unknown", source, xslt, true, null), "intermediate_"); + } + if (schema != null) + validate(schema, "", doc, xslt); + } + + private StringBuffer translate(String xmlFilename, Source source, Transformer xslt, + boolean debug, String uuid) { + final StringWriter result = new StringWriter(); + StreamResult transformed = new StreamResult(result); + xslt.setParameter("DEBUG", debug ? "1" : "0"); + if (uuid != null) { + xslt.setParameter("uuid", uuid); + } + try { + xslt.transform(source, transformed); + } catch (TransformerException ex) { + if (xmlFilename != null) { + System.out.println("Errors in " + xmlFilename + ":"); + } else { + System.out.println("Errors:"); + } + ex.printStackTrace(System.out); + throw new AssertionError(ex); + } + return result.getBuffer(); + } + + private void validate(Schema schema, final String xmlFilename, + StringBuffer doc, Transformer xslt) throws IOException { + + Source source = new StreamSource(new StringReader(doc.toString()), + "errorResult.xml"); + + // 3. Get a validator from the schema. + Validator validator = schema.newValidator(); + final MyErrorHandler errorHandler = new MyErrorHandler(xmlFilename); + validator.setErrorHandler(errorHandler); + + try { + validator.validate(source); + if (errorHandler.hasErrors()) { + errorHandler.printError(System.out); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + errorHandler.printError(new PrintStream(out, true, Constants.ENCODING)); + if (xmlFilename != null) { + generateTempFiles(doc, xslt, xmlFilename); + } + throw new AssertionError(out.toString(Constants.ENCODING)); + } else { + // System.out.println(xmlFilename + " is valid."); + } + } catch (SAXException ex) { + if (xmlFilename != null) { + generateTempFiles(doc, xslt, xmlFilename); + } + errorHandler.throwErrors(); + } + } + + public void validate(Schema schema, final String xmlFilename) + throws IOException { + + Source source = new StreamSource(new InputStreamReader(new FileInputStream(xmlFilename), Constants.ENCODING)); + + // 3. Get a validator from the schema. + Validator validator = schema.newValidator(); + final MyErrorHandler errorHandler = new MyErrorHandler(xmlFilename); + validator.setErrorHandler(errorHandler); + + try { + validator.validate(source); + if (errorHandler.hasErrors()) { + errorHandler.printError(System.out); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + errorHandler.printError(new PrintStream(out, true, Constants.ENCODING)); + throw new AssertionError(out.toString(Constants.ENCODING)); + } else { + // System.out.println(xmlFilename + " is valid."); + } + } catch (SAXException ex) { + errorHandler.printError(System.out); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + errorHandler.printError(new PrintStream(out, true, Constants.ENCODING)); + throw new AssertionError(out.toString(Constants.ENCODING)); + } + } + + private void generateTempFiles(StringBuffer doc, Transformer xslt, + String xmlFilename) throws IOException { + saveFile(doc, "errorResult.xml"); + final StreamSource source = new StreamSource(xmlFilename); + + saveFile(translate(xmlFilename, source, xslt, true, null), "errorDebug.xml"); + } + + protected void saveFile(StringBuffer doc, String fileName) throws IOException { + Files.createDirectories(outputDir.toPath()); + + Writer writer = new BufferedWriter(new OutputStreamWriter( + new FileOutputStream(new File(outputDir, fileName)), "UTF8")); + writer.write(doc.toString()); + writer.close(); + } + + public static class MyErrorHandler implements ErrorHandler { + private final String xmlFilename; + private List exceptions = new ArrayList(); + + public MyErrorHandler(String xmlFilename) { + this.xmlFilename = xmlFilename; + } + + public void warning(SAXParseException exception) throws SAXException { + exceptions.add(exception); + } + + public void error(SAXParseException exception) throws SAXException { + exceptions.add(exception); + } + + public void fatalError(SAXParseException exception) throws SAXException { + exceptions.add(exception); + } + + public boolean hasErrors() { + return !exceptions.isEmpty(); + } + + public void printError(PrintStream out) { + if (hasErrors()) { + out.println(exceptions.size() + " errors in " + xmlFilename + + ":"); + for (int i = 0; i < exceptions.size(); i++) { + SAXParseException exception = exceptions.get(i); + out.println(exception.getLineNumber() + ";" + + exception.getColumnNumber() + ": " + + exception.getMessage()); + } + } + } + + public void throwErrors() throws UnsupportedEncodingException { + if (hasErrors()) { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + PrintStream stream = new PrintStream(out, true, Constants.ENCODING); + printError(stream); + String msg = out.toString(Constants.ENCODING); + + throw new RuntimeException(msg, exceptions.get(0)); + } + } + } + + public void run(File gm03StyleSheet, File gm03Xsd, String[] xmlFilenames) + throws Exception { + String schemaFilename; + if (gm03Xsd != null) + schemaFilename = gm03Xsd.getAbsolutePath(); + else + schemaFilename = null; + run(gm03StyleSheet.getAbsolutePath(), schemaFilename, xmlFilenames); + + } + + public static NodeInfo toCheBootstrap(NodeInfo doc, String uuid, + String validate, String debugFileName, String webappDir) + throws Exception { + + final String SEP = File.separator; + + final ServiceContext serviceContext = ServiceContext.get(); + SchemaManager sm = serviceContext.getBean(SchemaManager.class); + Path schemaDir = sm.getSchemaDir("iso19139.che"); + + String transfoPath = schemaDir.resolve("convert").resolve("GM03to19139CHE").toString(); + StringBuilder xslFileName = new StringBuilder(transfoPath).append(SEP); + + String xml = ISO19139cheUtil.writeXml(doc.getRoot()); + AxisIterator iter = doc.iterateAxis(Axis.DESCENDANT, NodeKindTest.ELEMENT); + while (iter.moveNext()) { + NodeInfo next = (NodeInfo) iter.next(); + if (next == null) { + break; + } + String lp = next.getLocalPart(); + if (lp.startsWith("GM03_2_1")) { + // basic dir will work + xslFileName.append("version2_1").append(SEP); + break; + } else if (lp.startsWith("GM03_2")) { + xslFileName.append("version2").append(SEP); + break; + } else if (lp.equals("GM03Comprehensive.Comprehensive") || lp.equals("GM03Core.Core.MD_Metadata")) { + break; + } + + } + + + if (xml.trim().isEmpty()) { + throw new IllegalArgumentException("XML document does not seem to be a GM03 variant"); + } + + xslFileName.append("CHE03-to-19139.xsl"); + + Transformer xslt = TransformerFactoryFactory.getTransformerFactory().newTransformer(new StreamSource(IO.toPath(xslFileName.toString()).toUri().toASCIIString())); + + byte[] bytes = xml.getBytes("UTF-8"); + StreamSource source = new StreamSource(new ByteArrayInputStream(bytes)); + + TranslateAndValidate instance = new TranslateAndValidate(); + StringBuffer result = instance.translate(debugFileName, source, xslt, false, uuid); + if (debugFileName != null && !debugFileName.isEmpty()) { + File outFile = new File(debugFileName); + instance.outputDir = outFile.getParentFile(); + Files.createDirectories(instance.outputDir.toPath()); + + instance.saveFile(result, "result_" + outFile.getName()); + + source = new StreamSource(new ByteArrayInputStream(bytes)); + instance.saveFile(instance.translate(null, source, xslt, true, uuid), "intermediate_" + outFile.getName()); + } + + + if (validate != null && !validate.trim().isEmpty()) { + File schemaLocation = new File(validate); + Schema schema = SCHEMA_FACTORY.newSchema(schemaLocation); + instance.validate(schema, null, result, xslt); + } + + Source xmlSource = new StreamSource(new ByteArrayInputStream(result.toString().getBytes("UTF-8"))); + return doc.getConfiguration().buildDocument(xmlSource); + } + +} \ No newline at end of file diff --git a/iso19139.che/src/main/java/org/fao/geonet/api/gm03/UnDuplifier.java b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/UnDuplifier.java new file mode 100644 index 00000000000..4b1857d7cb7 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/api/gm03/UnDuplifier.java @@ -0,0 +1,153 @@ +package org.fao.geonet.api.gm03; + +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Compare the nodes one by one and remove duplicates using interlis references. + */ +public class UnDuplifier { + private final Map> nodesByHash = new HashMap>(); + private final Map translations = new HashMap(); + + /** + * Add a node to un-duplify. + * + * @return true if it was a duplified node. + */ + public boolean addNode(Node root, Node node) throws ISO19139CHEtoGM03.FlattenerException { + // extents should not be removed because of reusable objects. A real corner case but possible + if (node.getNodeName().equals("GM03_2Core.Core.EX_Extent")) return false; + if (node.getNodeName().equals("GM03_2_1Core.Core.CI_Contact")) return false; + if (node.getNodeName().equals("GM03_2_1Core.Core.CI_Address")) return false; + + int hash = computeNodeHash(node); + List curSlot = nodesByHash.get(hash); + if (curSlot == null) { + final ArrayList newSlot = new ArrayList(1); + newSlot.add(node); + nodesByHash.put(hash, newSlot); + return false; + } else { + for (int i = 0; i < curSlot.size(); i++) { + Node orig = curSlot.get(i); + if (equals(node, orig)) { + String nodeTid = node.getAttributes().getNamedItem("TID").getTextContent(); + String origTid = orig.getAttributes().getNamedItem("TID").getTextContent(); + root.removeChild(node); + translations.put(nodeTid, origTid); + return true; + } + } + curSlot.add(node); + return false; + } + } + + /** + * Translate the REF attributes + * + * @param node + * @throws ISO19139CHEtoGM03.FlattenerException + */ + public void translateRefs(Node node) throws ISO19139CHEtoGM03.FlattenerException { + switch (node.getNodeType()) { + case Node.ELEMENT_NODE: + Node ref = node.getAttributes().getNamedItem("REF"); + if (ref != null) { + String newRef = translations.get(ref.getTextContent()); + if (newRef != null) { + ref.setTextContent(newRef); + } + } + NodeList childs = node.getChildNodes(); + for (int i = 0; i < childs.getLength(); ++i) { + Node cur = childs.item(i); + translateRefs(cur); + } + break; + + case Node.TEXT_NODE: + break; + + default: + throw new ISO19139CHEtoGM03.FlattenerException("Un-supported node type: " + node.getNodeType()); + } + } + + private int computeNodeHash(Node node) throws ISO19139CHEtoGM03.FlattenerException { + switch (node.getNodeType()) { + case Node.ELEMENT_NODE: + NodeList nodes = node.getChildNodes(); + int hash = node.getLocalName().hashCode(); + for (int i = 0; i < nodes.getLength(); ++i) { + Node cur = nodes.item(i); + hash = hash ^ computeNodeHash(cur); + } + + NamedNodeMap params = node.getAttributes(); + for (int j = 0; j < params.getLength(); ++j) { + Node cur = params.item(j); + final String name = cur.getNodeName(); + if (!name.equals("TID")) { + hash = hash ^ name.hashCode(); + hash = hash ^ cur.getTextContent().hashCode(); + } + } + return hash; + + case Node.TEXT_NODE: + return node.getTextContent().hashCode(); + + case Node.COMMENT_NODE: + return node.getTextContent().hashCode(); + + default: + throw new ISO19139CHEtoGM03.FlattenerException("Un-supported node type: " + node.getNodeType()); + } + } + + private static boolean equals(Node a, Node b) throws ISO19139CHEtoGM03.FlattenerException { + if (a.getNodeType() != b.getNodeType()) return false; + + switch (a.getNodeType()) { + case Node.ELEMENT_NODE: + if (!a.getNodeName().equals(b.getNodeName())) return false; + NodeList childsA = a.getChildNodes(); + NodeList childsB = b.getChildNodes(); + NamedNodeMap attrsA = a.getAttributes(); + NamedNodeMap attrsB = b.getAttributes(); + if (childsA.getLength() != childsB.getLength()) return false; + if (attrsA.getLength() != attrsB.getLength()) return false; + for (int i = 0; i < childsA.getLength(); ++i) { + Node curA = childsA.item(i); + Node curB = childsB.item(i); + if (!equals(curA, curB)) return false; + } + for (int i = 0; i < attrsA.getLength(); ++i) { + Node curA = attrsA.item(i); + if (!curA.getNodeName().equals("TID")) { + Node curB = attrsB.getNamedItemNS(curA.getNamespaceURI(), curA.getNodeName()); + if (curB == null) return false; + if (!curA.getTextContent().equals(curB.getTextContent())) + return false; + } + } + + return true; + + case Node.TEXT_NODE: + return a.getTextContent().equals(b.getTextContent()); + + default: + throw new ISO19139CHEtoGM03.FlattenerException("Un-supported node type: " + a.getNodeType()); + } + + } +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentFormat.java b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentFormat.java new file mode 100644 index 00000000000..0ef62e88636 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentFormat.java @@ -0,0 +1,514 @@ +package org.fao.geonet.kernel.extent; + +import org.fao.geonet.Constants; +import org.fao.geonet.GeocatLangUtils; +import org.fao.geonet.utils.Log; +import org.fao.geonet.utils.Xml; +import org.geotools.geometry.jts.JTS; +import org.geotools.gml3.GMLConfiguration; +import org.geotools.referencing.CRS; +import org.geotools.xsd.Encoder; +import org.jdom.Comment; +import org.jdom.Content; +import org.jdom.Element; +import org.jdom.Namespace; +import org.locationtech.jts.geom.*; +import org.locationtech.jts.geom.impl.CoordinateArraySequence; +import org.locationtech.jts.io.WKTWriter; +import org.opengis.feature.simple.SimpleFeature; +import org.opengis.geometry.BoundingBox; +import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.opengis.referencing.operation.MathTransform; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import static org.fao.geonet.kernel.extent.ExtentHelper.reducePrecision; + + +/** +* Created with IntelliJ IDEA. +* User: Jesse +* Date: 11/15/13 +* Time: 9:29 AM +* To change this template use File | Settings | File Templates. +*/ +public enum ExtentFormat +{ + GMD_SPATIAL_EXTENT_POLYGON + { + @SuppressWarnings("unchecked") + @Override + public Element format(GMLConfiguration gmlConfiguration, Path appPath, SimpleFeature feature, FeatureType featureType, Source wfs, + String extentTypeCode, CoordinateReferenceSystem crs, int coordPrecision) throws Exception + { + Element fullObject = gmdFormat(gmlConfiguration, appPath, feature, GMD_POLYGON, featureType, extentTypeCode, crs, + coordPrecision); + List geographicElements = new ArrayList(fullObject.getChildren("geographicElement", + ExtentManager.GMD_NAMESPACE)); + + Element polygon, bbox, id; + polygon = bbox = id = null; + + for (Element element : geographicElements) { + element.detach(); + element.setName("spatialExtent"); + if (element.getChild("EX_BoundingPolygon", ExtentManager.GMD_NAMESPACE) != null) { + polygon = element.getChild("EX_BoundingPolygon", ExtentManager.GMD_NAMESPACE); + } else if (element.getChild("EX_GeographicBoundingBox", ExtentManager.GMD_NAMESPACE) != null) { + bbox = element.getChild("EX_GeographicBoundingBox", ExtentManager.GMD_NAMESPACE); + } else { + if (!element.getChildren().isEmpty()) { + id = (Element) element.getChildren().get(0); + } + } + } + + if (polygon != null) + return polygon; + if (bbox != null) + return bbox; + return id; + } + }, + GMD_BBOX + { + @Override + public Element format(GMLConfiguration gmlConfiguration, Path appPath, SimpleFeature feature, FeatureType featureType, Source wfs, + String extentTypeCode, CoordinateReferenceSystem crs, int coordPrecision) throws Exception + { + return gmdFormat(gmlConfiguration, appPath, feature, this, featureType, extentTypeCode, crs, coordPrecision); + } + }, + GMD_POLYGON + { + @Override + public Element format(GMLConfiguration gmlConfiguration, Path appPath, SimpleFeature feature, FeatureType featureType, Source wfs, + String extentTypeCode, CoordinateReferenceSystem crs, int coordPrecision) throws Exception + { + return gmdFormat(gmlConfiguration, appPath, feature, this, featureType, extentTypeCode, crs, coordPrecision); + } + }, + GMD_COMPLETE + { + @Override + public Element format(GMLConfiguration gmlConfiguration, Path appPath, SimpleFeature feature, FeatureType featureType, Source wfs, + String extentTypeCode, CoordinateReferenceSystem crs, int coordPrecision) throws Exception + { + return gmdFormat(gmlConfiguration, appPath, feature, this, featureType, extentTypeCode, crs, coordPrecision); + } + }, + WKT + { + @Override + public Element format(GMLConfiguration gmlConfiguration, Path appPath, SimpleFeature feature, FeatureType featureType, Source wfs, + String extentTypeCode, CoordinateReferenceSystem crs, int coordPrecision) throws Exception + { + return formatWKT(feature, featureType, wfs, crs, coordPrecision); + } + }, + AUTO + { + @Override + public Element format(GMLConfiguration gmlConfiguration, Path appPath, SimpleFeature feature, FeatureType featureType, Source wfs, + String extentTypeCode, CoordinateReferenceSystem crs, int coordPrecision) throws Exception + { + Geometry geometry = (Geometry) feature.getDefaultGeometry(); + if (isSquare(geometry, coordPrecision)) { + return GMD_BBOX.format(gmlConfiguration, appPath, feature, featureType, wfs, extentTypeCode, crs, coordPrecision); + } else { + return GMD_COMPLETE.format(gmlConfiguration, appPath, feature, featureType, wfs, extentTypeCode, crs, coordPrecision); + } + } + }; + + static boolean isSquare(Geometry geometry, int coordPrecision) { + if (geometry.getNumPoints() == 5 && geometry.getNumGeometries() == 1 + && (geometry instanceof Polygon || geometry instanceof MultiPolygon)) { + Geometry reducedPrecisionGeom = ExtentHelper.reducePrecision(geometry, coordPrecision); + Coordinate[] coords = reducedPrecisionGeom.getCoordinates(); + + for (int i = 1; i < coords.length; i++) { + Coordinate coord0 = coords[i-1]; + Coordinate coord1 = coords[i]; + double xdiff = coord0.x - coord1.x; + if (xdiff == 0) { + continue; + } + double slope = (coord0.y - coord1.y) / xdiff; + if (!(eq(slope, 0) || eq(slope, 90) || eq(slope, 180) || eq(slope, 270))) { + return false; + } + } + + return true; + } + return false; + } + + private static boolean eq(double d1, double d2) { + return Math.abs(d1 - d2) < 0.0000001; + } + + public abstract Element format(GMLConfiguration gmlConfiguration, Path appPath, SimpleFeature feature, FeatureType featureType, Source wfs, + String extentTypeCode, CoordinateReferenceSystem crs, int coordPrecision) throws Exception; + + public static ExtentFormat lookup(String formatParam) + { + ExtentFormat format; + if (formatParam == null) { + format = ExtentFormat.WKT; + } else { + format = ExtentFormat.valueOf(formatParam.toUpperCase()); + } + return format; + } + + + private static Element gmdFormat(GMLConfiguration gmlConfiguration, Path appPath, SimpleFeature feature, ExtentFormat format, + FeatureType featureType, String extentTypeCode, CoordinateReferenceSystem crs, int coordPrecision) + throws Exception + { + + final Element exExtent = new Element("EX_Extent", ExtentManager.GMD_NAMESPACE); + final Element geographicElement = new Element("geographicElement", ExtentManager.GMD_NAMESPACE); + + exExtent.addContent(geographicElement); + Element geoExTypeEl; + switch (format) + { + case GMD_BBOX: + geoExTypeEl = bbox(feature,crs); + geographicElement.addContent(geoExTypeEl); + addExtentTypeCode(geoExTypeEl, extentTypeCode); + + break; + case GMD_COMPLETE: + geoExTypeEl = boundingPolygon(gmlConfiguration, feature,crs, coordPrecision); + geographicElement.addContent(geoExTypeEl); + addExtentTypeCode(geoExTypeEl, extentTypeCode); + + final Element geographicElement2 = new Element("geographicElement", ExtentManager.GMD_NAMESPACE); + exExtent.addContent(geographicElement2); + Element bboxElem = bbox(feature,crs); + geographicElement2.addContent(bboxElem); + addExtentTypeCode(bboxElem, extentTypeCode); + + break; + case GMD_POLYGON: + geoExTypeEl = boundingPolygon(gmlConfiguration, feature,crs, coordPrecision); + geographicElement.addContent(geoExTypeEl); + addExtentTypeCode(geoExTypeEl, extentTypeCode); + + break; + + default: + throw new IllegalArgumentException(format + " is not one of the permitted formats for this method"); + } + + String attribute = (String) feature.getAttribute(featureType.geoIdColumn); + Element geoIdElem = createGeoIdElem(appPath, attribute); + if (geoIdElem != null) { + exExtent.addContent(0, geoIdElem); + } + + try { + Element descElem = null; + attribute = (String) feature.getAttribute(featureType.descColumn); + if (attribute != null) { + descElem = GeocatLangUtils.toIsoMultiLingualElem(appPath, ExtentHelper.decodeDescription(attribute)); + } + if (descElem == null) { + // making a desc object always present. Mostly a hack to make + // editing easier + descElem = GeocatLangUtils.toIsoMultiLingualElem(appPath, " "); + } + exExtent.addContent(0, descElem); + } catch (final Exception e) { + final ByteArrayOutputStream out = new ByteArrayOutputStream(); + e.printStackTrace(new PrintStream(out, true, Constants.ENCODING)); + Log.error("org.fao.geonet.services.xlink.Extent", "Error parsing XML from feature:\n" + out); + } + + return exExtent; + } + + private static void addExtentTypeCode(final Element parentEl, String extentTypeCode) + { + final Element typeCodeEl = new Element("extentTypeCode", ExtentManager.GMD_NAMESPACE); + final Element booleanEl = new Element("Boolean", ExtentManager.GCO_NAMESPACE); + + parentEl.addContent(0, typeCodeEl); + typeCodeEl.addContent(booleanEl); + + if (extentTypeCode == null || extentTypeCode.trim().length() == 0) { + extentTypeCode = "true"; + } + if(extentTypeCode.trim().equals("1")) { + extentTypeCode = "true"; + } + Boolean value = Boolean.parseBoolean(extentTypeCode.trim()); + booleanEl.setText(value?"1":"0"); + } + + @SuppressWarnings("unchecked") + private static Element createGeoIdElem(Path appPath, String attribute) throws Exception + { + + Element geoEl = new Element("geographicElement", ExtentManager.GMD_NAMESPACE); + Element geoDesEl = new Element("EX_GeographicDescription", ExtentManager.GMD_NAMESPACE); + Element geoIdEl = new Element("geographicIdentifier", ExtentManager.GMD_NAMESPACE); + Element mdIdEl = new Element("MD_Identifier", ExtentManager.GMD_NAMESPACE); + Element codeEl = new Element("code", ExtentManager.GMD_NAMESPACE); + + geoEl.addContent(geoDesEl); + + geoDesEl.addContent(geoIdEl); + geoIdEl.addContent(mdIdEl); + mdIdEl.addContent(codeEl); + + if (attribute != null && attribute.trim().length() > 0) { + codeEl.setAttribute("type", "gmd:PT_FreeText_PropertyType", Namespace.getNamespace("xsi", + "http://www.w3.org/2001/XMLSchema-instance")); + String decodeDescription = ExtentHelper.decodeDescription(attribute); + + List content = new ArrayList(GeocatLangUtils.toIsoMultiLingualElem(appPath, + decodeDescription).getContent()); + for (Content element : content) { + element.detach(); + codeEl.addContent(element); + } + } else { + return null; + } + + return geoEl; + } + + private static Element bbox(SimpleFeature feature, CoordinateReferenceSystem crs) throws Exception + { + Element bbox = new Element("EX_GeographicBoundingBox", ExtentManager.GMD_NAMESPACE); + Element west = new Element("westBoundLongitude", ExtentManager.GMD_NAMESPACE); + Element east = new Element("eastBoundLongitude", ExtentManager.GMD_NAMESPACE); + Element south = new Element("southBoundLatitude", ExtentManager.GMD_NAMESPACE); + Element north = new Element("northBoundLatitude", ExtentManager.GMD_NAMESPACE); + + BoundingBox bounds = feature.getBounds(); + double eastDecimal = reducePrecision(bounds.getMaxX(), 0); + double westDecimal = reducePrecision(bounds.getMinX(), 0); + double southDecimal = reducePrecision(bounds.getMinY(), 0); + double northDecimal = reducePrecision(bounds.getMaxY(), 0); + + bbox.addContent(new Comment(String.format("native coords: %s,%s,%s,%s", westDecimal, southDecimal, eastDecimal, northDecimal))); + + bbox.addContent(west); + bbox.addContent(east); + bbox.addContent(south); + bbox.addContent(north); + + Geometry geometry = (Geometry) feature.getDefaultGeometry(); + MathTransform transform = CRS.findMathTransform(feature.getFeatureType().getCoordinateReferenceSystem(), crs); + Geometry transformed = JTS.transform(geometry, transform); + + Envelope latLongBounds = transformed.getEnvelopeInternal(); + double latLongEastDecimal = reducePrecision(latLongBounds.getMaxX(), ExtentHelper.COORD_DIGITS); + double latLongWestDecimal = reducePrecision(latLongBounds.getMinX(), ExtentHelper.COORD_DIGITS); + double latLongSouthDecimal = reducePrecision(latLongBounds.getMinY(), ExtentHelper.COORD_DIGITS); + double latLongNorthDecimal = reducePrecision(latLongBounds.getMaxY(), ExtentHelper.COORD_DIGITS); + + west.addContent(decimal(latLongWestDecimal)); + east.addContent(decimal(latLongEastDecimal)); + south.addContent(decimal(latLongSouthDecimal)); + north.addContent(decimal(latLongNorthDecimal)); + + return bbox; + } + + private static Element decimal(double value) + { + Element dec = new Element("Decimal", ExtentManager.GCO_NAMESPACE); + dec.setText(String.valueOf(value)); + return dec; + } + + private static Element boundingPolygon(GMLConfiguration gmlConfiguration, SimpleFeature feature, CoordinateReferenceSystem crs, int coordPrecision) throws Exception + { + final Element boundingPoly = new Element("EX_BoundingPolygon", ExtentManager.GMD_NAMESPACE); + final Element polyon = new Element("polygon", ExtentManager.GMD_NAMESPACE); + final Element geom = encodeAsGML(gmlConfiguration, feature, crs, coordPrecision); + geom.detach(); + boundingPoly.addContent(polyon); + polyon.addContent(geom); + return boundingPoly; + } + + private static Element encodeAsGML(GMLConfiguration gmlConfiguration, SimpleFeature feature, CoordinateReferenceSystem crs, int coordPrecision) throws Exception + { + final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + final Encoder encoder = new Encoder(gmlConfiguration); + encoder.setIndenting(false); + final CoordinateReferenceSystem baseCrs = feature.getFeatureType().getCoordinateReferenceSystem(); + MathTransform transform = CRS.findMathTransform(baseCrs, crs, true); + Geometry transformed = JTS.transform((Geometry) feature.getDefaultGeometry(), transform ); + reducePrecision(transformed, coordPrecision); + + transformed = removeDuplicatePoints(transformed); + + ExtentHelper.addGmlId(transformed); + encoder.encode(transformed, org.geotools.gml3.GML.geometryMember, outputStream); + String gmlString = outputStream.toString(Constants.ENCODING); + Element geometryMembers = Xml.loadString(gmlString, false); + @SuppressWarnings("rawtypes") + Iterator iter = geometryMembers.getChildren().iterator(); + do { + Object next = iter.next(); + if (next instanceof Element) { + return (Element) next; + } + } while (iter.hasNext()); + + throw new RuntimeException(transform+ " was not encoded correctly to GML"); + } + + static Geometry removeDuplicatePoints(Geometry geometry) { + GeometryFactory factory = new GeometryFactory(); + + if (geometry instanceof MultiPolygon) { + MultiPolygon multiPolygon = (MultiPolygon) geometry; + Polygon[] polygons = new Polygon[multiPolygon.getNumGeometries()]; + for (int i = 0; i < multiPolygon.getNumGeometries(); i++) { + polygons[i] = (Polygon) removeDuplicatePoints(multiPolygon.getGeometryN(i)); + } + + return factory.createMultiPolygon(polygons); + } else if (geometry instanceof Polygon) { + Polygon polygon = (Polygon) geometry; + + LinearRing shell = (LinearRing) removeDuplicatePoints(polygon.getExteriorRing()); + + LinearRing[] holes = new LinearRing[polygon.getNumInteriorRing()]; + for (int i = 0; i < polygon.getNumInteriorRing(); i++) { + holes[i] = (LinearRing) removeDuplicatePoints(polygon.getInteriorRingN(i)); + } + + return factory.createPolygon(shell, holes); + } else if (geometry instanceof MultiLineString) { + MultiLineString lineString = (MultiLineString) geometry; + LineString[] lineStrings = new LineString[lineString.getNumGeometries()]; + for (int i = 0; i < lineString.getNumGeometries(); i++) { + lineStrings[i] = (LineString) removeDuplicatePoints(lineString.getGeometryN(i)); + } + + return factory.createMultiLineString(lineStrings); + } else if (geometry instanceof LinearRing) { + CoordinateSequence coords = removeDuplicatePoints(((LineString) geometry).getCoordinateSequence()); + + return factory.createLinearRing(coords); + } else if (geometry instanceof LineString) { + CoordinateSequence coords = removeDuplicatePoints(((LineString) geometry).getCoordinateSequence()); + + return factory.createLineString(coords); + } else { + return geometry; + } + } + + private static CoordinateSequence removeDuplicatePoints(CoordinateSequence coordinateSequence) { + if (coordinateSequence.size() == 0) { + return coordinateSequence; + } + final Coordinate[] coordinates = new Coordinate[coordinateSequence.size()]; + + int coords = 1; + double x,y,z; + x = coordinateSequence.getX(0); + y = coordinateSequence.getY(0); + z = coordinateSequence.getOrdinate(0, 2); + coordinates[0] = coordinateSequence.getCoordinate(0); + + for (int i = 1; i < coordinates.length; i++) { + double nx = coordinateSequence.getX(i); + double ny = coordinateSequence.getY(i); + double nz = coordinateSequence.getOrdinate(i, 2); + + if (Math.abs(x - nx) > 0.0000001 || + Math.abs(y - ny) > 0.0000001 || + Math.abs(z - nz) > 0.0000001) { + coordinates[coords++] = coordinateSequence.getCoordinate(i); + } + + x = nx; + y = ny; + z = nz; + + } + + if (coords < coordinates.length) { + final Coordinate[] finalCoords = new Coordinate[coords]; + System.arraycopy(coordinates, 0, finalCoords, 0, coords); + return new CoordinateArraySequence(finalCoords); + } + + return coordinateSequence; + } + + protected static Element formatWKT(SimpleFeature next, FeatureType featureType, Source wfs, CoordinateReferenceSystem crs, int coordDigits) throws Exception + { + final Element response = new Element("response"); + + final Element featureTypeElem = formatFeatureType(featureType, wfs, response); + + final Element featureElem = new Element(ExtentHelper.FEATURE); + final String id = next.getAttribute(featureType.idColumn).toString(); + featureElem.setAttribute(ExtentHelper.ID, id); + featureTypeElem.addContent(featureElem); + + if (featureType.descColumn != null) { + String desc = ExtentHelper.decodeDescription((String) next.getAttribute(featureType.descColumn)); + final Element descElem = Xml.loadString("<" + ExtentHelper.DESC + ">" + desc + "", false); + descElem.setAttribute("class", "object"); + featureElem.addContent(descElem); + } + + if (featureType.geoIdColumn != null) { + String desc = ExtentHelper.decodeDescription((String) next.getAttribute(featureType.geoIdColumn)); + final Element descElem = Xml.loadString("<" + ExtentHelper.GEO_ID + ">" + desc + "", false); + descElem.setAttribute("class", "object"); + featureElem.addContent(descElem); + } + if (next.getDefaultGeometry() != null) { + final Element geomElem = new Element(ExtentHelper.GEOM); + final WKTWriter writer = new WKTWriter(); + Geometry geometry = (Geometry) next.getDefaultGeometry(); + MathTransform transform = CRS.findMathTransform(next.getFeatureType().getCoordinateReferenceSystem(), crs); + Geometry transformed = JTS.transform(geometry, transform); + final String wkt = writer.writeFormatted(reducePrecision(transformed, coordDigits)); + String openLayersCompatibleWKT = wkt.replaceAll("\\s+", " "); + geomElem.setText(openLayersCompatibleWKT); + featureElem.addContent(geomElem); + } + return response; + + } + + public static Element formatFeatureType(FeatureType featureType, Source wfs, Element response) + { + final Element wfsElem = new Element("wfs"); + wfsElem.setAttribute(ExtentHelper.ID, wfs.wfsId); + response.addContent(wfsElem); + + final Element featureTypeElem = new Element(ExtentHelper.FEATURE_TYPE); + featureTypeElem.setAttribute(ExtentHelper.TYPENAME, featureType.typename); + featureTypeElem.setAttribute(ExtentHelper.ID_COLUMN, featureType.idColumn); + featureTypeElem.setAttribute(ExtentHelper.DESC_COLUMN, featureType.descColumn); + featureTypeElem.setAttribute(ExtentHelper.MODIFIABLE_FEATURE_TYPE, String.valueOf(featureType.isModifiable())); + + wfsElem.addContent(featureTypeElem); + return featureTypeElem; + } + +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentHelper.java b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentHelper.java new file mode 100644 index 00000000000..2245c0cc68f --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentHelper.java @@ -0,0 +1,435 @@ +package org.fao.geonet.kernel.extent; + +import jeeves.server.UserSession; +import jeeves.server.context.ServiceContext; +import org.fao.geonet.GeocatLangUtils; +import org.fao.geonet.constants.Geonet; +import org.fao.geonet.domain.Pair; +import org.fao.geonet.utils.Xml; +import org.geotools.data.FeatureStore; +import org.geotools.data.Query; +import org.geotools.factory.CommonFactoryFinder; +import org.geotools.feature.FeatureIterator; +import org.geotools.filter.SortByImpl; +import org.geotools.geometry.jts.JTS; +import org.geotools.referencing.CRS; +import org.geotools.referencing.crs.DefaultGeographicCRS; +import org.geotools.util.factory.GeoTools; +import org.jdom.Content; +import org.jdom.Element; +import org.jdom.Text; +import org.locationtech.jts.geom.*; +import org.opengis.feature.simple.SimpleFeature; +import org.opengis.feature.simple.SimpleFeatureType; +import org.opengis.filter.FilterFactory2; +import org.opengis.filter.sort.SortBy; +import org.opengis.filter.sort.SortOrder; +import org.opengis.referencing.FactoryException; +import org.opengis.referencing.NoSuchAuthorityCodeException; +import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.opengis.referencing.operation.MathTransform; +import org.opengis.referencing.operation.TransformException; + +import java.io.IOException; +import java.io.StringReader; +import java.util.*; + +public class ExtentHelper +{ + + public static final String DESC = "desc"; + public static final String GEO_ID = "geoId"; + public static final String ID = "id"; + public static final String FEATURE = "feature"; + public static final String SOURCE = "wfs"; + public static final String DESC_COLUMN = "descColumn"; + public static final String GEO_ID_COLUMN = "geoIdColumn"; + public static final String ID_COLUMN = "idColumn"; + public static final String TYPENAME = "typename"; + public static final String FEATURE_TYPE = "featureType"; + public static final String RESPONSE = "response"; + + public static final String DEFAULT_SOURCE_ID = "default"; + public static final String DEFAULT_ID_COLUMN = "id"; + public static final String MODIFIABLE_FEATURE_TYPE = "modifiable"; + public static final String GEOM = "geom"; + public static final String FORMAT = "format"; + public static final String SELECTION = "extent.selection"; + public static final String SELECTED = "selected"; + public static final String NUM_RESULTS = "numresults"; + public static final String CLEAR_SELECTION = "clearselection"; + public static final String CRS_PARAM = "crs"; + public static final String EXTENT_TYPE_CODE = "extenttypecode"; + public static final int COORD_DIGITS = 3; + public static final CoordinateReferenceSystem WGS84 = DefaultGeographicCRS.WGS84; + public static final CoordinateReferenceSystem CH03; + public static final MathTransform CH03_TO_WGS84; + public static final MathTransform WGS84_TO_CH03; + + static { + try { + CH03 = CRS.decode("EPSG:21781"); + CH03_TO_WGS84 = CRS.findMathTransform(CH03, WGS84, true); + WGS84_TO_CH03 = CH03_TO_WGS84.inverse(); + } catch (Exception e) { + throw new Error(e); + } + } + + public static Element error(String msg) + { + final Element error = new Element("error"); + error.addContent(msg); + return error; + } + + public static ExtentSelection getSelection(ServiceContext context) + { + final UserSession userSession = context.getUserSession(); + ExtentSelection selection = (ExtentSelection) userSession.getProperty(SELECTION); + if (selection == null) { + selection = new ExtentSelection(); + userSession.setProperty(SELECTION, selection); + } + return selection; + } + + private static Geometry transformToCompatibleGeometry(Geometry geometry, Class geometryType) + { + if (geometryType.isAssignableFrom(geometry.getClass())) { + return geometry; + } + + + + + final Geometry finalGeom; + final GeometryFactory factory = geometry.getFactory(); + if (MultiPolygon.class.isAssignableFrom(geometryType) && geometry instanceof Polygon) { + finalGeom = factory.createMultiPolygon(new Polygon[] { (Polygon) geometry }); + } else if (MultiLineString.class.isAssignableFrom(geometryType) && geometry instanceof LineString) { + finalGeom = factory.createMultiLineString(new LineString[] { (LineString) geometry }); + } else if (MultiPoint.class.isAssignableFrom(geometryType) && geometry instanceof Point) { + finalGeom = factory.createMultiPoint(new Point[] { (Point) geometry }); + } else if (Polygon.class.isAssignableFrom(geometryType) && geometry instanceof MultiPolygon + && geometry.getNumGeometries() == 1) { + finalGeom = geometry.getGeometryN(0); + } else if (LineString.class.isAssignableFrom(geometryType) && geometry instanceof LineString + && geometry.getNumGeometries() == 1) { + finalGeom = geometry.getGeometryN(0); + } else if (Point.class.isAssignableFrom(geometryType) && geometry instanceof Point && geometry.getNumGeometries() == 1) { + finalGeom = geometry.getGeometryN(0); + } else if (GeometryCollection.class.isAssignableFrom(geometryType)) { + finalGeom = factory.createGeometryCollection(new Geometry[] { geometry }); + } else { + throw new IllegalArgumentException(geometry + " cannot be converted to " + geometryType); + } + + finalGeom.setSRID(geometry.getSRID()); + return finalGeom; + } + + public static int tosrid(String srs) + { + + int index = srs.indexOf(':'); + if (index == -1) { + index = 0; + } + String number = srs.substring(index + 1); + try { + return Integer.parseInt(number); + } catch (NumberFormatException e) { + return 0; + } + } + + public static String findNextId(FeatureStore store, FeatureType featureType) + throws IOException + { + final Query query = featureType.createQuery(new String[] { featureType.idColumn }); + final FilterFactory2 filterFactory = CommonFactoryFinder.getFilterFactory2(GeoTools.getDefaultHints()); + final SortBy[] sortBy = { new SortByImpl(filterFactory.property(featureType.idColumn), SortOrder.ASCENDING) }; + query.setSortBy(sortBy); + final FeatureIterator features = store.getFeatures(query).features(); + int max = 0; + try { + while (features.hasNext()) { + // double because that is how it is represented in postgis + int i = (int) Double.parseDouble(features.next().getAttribute(featureType.idColumn).toString()); + if (i > max) { + max = i; + } + } + } finally { + features.close(); + } + return String.valueOf(max + 1); + } + + public static Geometry prepareGeometry(final String requestCrsCode, final FeatureType featureType, + Geometry geometry, final SimpleFeatureType schema) throws NoSuchAuthorityCodeException, FactoryException, + TransformException + { + String featureTypeSrs = featureType.srs(); + if (!featureTypeSrs.equalsIgnoreCase(requestCrsCode)) { + CoordinateReferenceSystem requestCrs = CRS.decode(requestCrsCode); + final CoordinateReferenceSystem targetCrs = featureType + .projection(); + geometry = JTS.transform(geometry, CRS.findMathTransform(requestCrs, targetCrs, true)); + } + + geometry = transformToCompatibleGeometry(geometry, schema.getGeometryDescriptor().getType().getBinding()); + + geometry = validateGeom(geometry); + geometry.setSRID(tosrid(featureTypeSrs)); + return geometry; + } + + private static Geometry validateGeom(Geometry geometry) { + Geometry valid = geometry.buffer(0); + valid.setSRID(geometry.getSRID()); + if(valid instanceof Polygon) { + final MultiPolygon multiPolygon = valid.getFactory().createMultiPolygon(new Polygon[]{(Polygon) valid}); + multiPolygon.setSRID(geometry.getSRID()); + return multiPolygon; + } + return valid; + } + + /** + * Adds a gml ID to the user data of geometry and all subgeoms so that GML + * encoding will produce valid geoms + * + * @param geometry + */ + public static void addGmlId(Geometry geometry) + { + HashMap map = new HashMap(); + Object userData = geometry.getUserData(); + String srs = "4326"; + if (userData instanceof String) { + srs = (String) userData; + + } else if (userData instanceof CoordinateReferenceSystem) { + try { + srs = ""+ CRS.lookupEpsgCode((CoordinateReferenceSystem)userData, false); + } catch (Exception e) { + //Assume latlong + } + + } + map.put("srs", srs); + map.put("gml:id", 'N' + UUID.randomUUID().toString().replaceAll("-", "")); + geometry.setUserData(map); + if (geometry instanceof GeometryCollection && geometry.getNumGeometries() > 0) { + for (int i = 0; i < geometry.getNumGeometries(); i++) { + addGmlId(geometry.getGeometryN(i)); + } + } + } + + public static String encodeDescription(String description) + { + if (description == null) { + return null; + } + final String cleaned; + if(description.trim().startsWith(""; + } + return cleaned; + } + + public static String decodeDescription(String description) + { + String decoded = description; + if (decoded == null) { + return null; + } + while (decoded.startsWith("\"") && decoded.endsWith("\"")) { + decoded = decoded.substring(1, decoded.length() - 1); + } + decoded = decoded.replaceAll("@dquot;", "\"").replaceAll("@squot;", "'").replace("",""); + + return decoded; + } + + public static String reduceDesc(String desc) throws Exception + { + + StringBuilder strings = new StringBuilder(); + Element parsed = Xml.loadString("" + desc + "", false); + @SuppressWarnings("unchecked") + Iterator iter = parsed.getDescendants(); + while (iter.hasNext()) { + Content next = iter.next(); + if (next instanceof Text) { + strings.append(((Text) next).getText()); + strings.append(" "); + } + } + + StringBuilder result = new StringBuilder(); + for (String s : GeocatLangUtils.analyzeForSearch(new StringReader(strings.toString()))) { + result.append(" ").append(s); + } + return result.toString(); + } + + public static Geometry reducePrecision(Geometry geometry, CoordinateReferenceSystem crs) { + + int decimals = COORD_DIGITS; + // should check if meters or degrees but this is a quick hack that should work + try { + int code = CRS.lookupEpsgCode(crs, false); + if(code == 21781) { + decimals = 0; + } + } catch (Exception e) { + // its ok + } + + return reducePrecision(geometry, decimals); + } + + public static Geometry reducePrecision(Geometry geometry, int decimals) { + Coordinate[] coords = geometry.getCoordinates(); + for (Coordinate coord : coords) { + coord.x = reducePrecision(coord.x, decimals); + coord.y = reducePrecision(coord.y, decimals); + coord.z = Double.NaN; + } + + return geometry; + } + + public static double reducePrecision(double x, int decimals) { + if(decimals == 0) { + return (long)x; + } + final double precision = Math.pow(10,decimals); + long i = Math.round(x * precision); + final double newVal = ((double) i) / precision; + return newVal; + } + + public static double decimal(Element child) + { + Element decimalElem = child.getChild("Decimal", Geonet.Namespaces.GCO); + if (decimalElem == null) + throw new NoSuchElementException(child.getName() + " does not have a valid decimal child element"); + + final String dec = decimalElem.getTextTrim(); + if(dec.endsWith("ch")) { + return reducePrecision(Double.valueOf(dec.substring(0,dec.length()-2)), 0); + } else { + return reducePrecision(Double.valueOf(dec), COORD_DIGITS); + } + } + + public static Pair diff(GeometryFactory fac, MultiPolygon inclusion, + MultiPolygon exclusion) + { + + try { + if(exclusion.getSRID() == 21781 && inclusion.getSRID() != 21781) { + exclusion = (MultiPolygon) JTS.transform(exclusion, CH03_TO_WGS84); + exclusion.setSRID(4326); + } else if(inclusion.getSRID() == 21781 && exclusion.getSRID() != 21781) { + inclusion = (MultiPolygon) JTS.transform(inclusion, CH03_TO_WGS84); + inclusion.setSRID(4326); + } + } catch (TransformException e) { + throw new RuntimeException(e); + } + + final ExtentTypeCode typeCode; + final Geometry geom; + if (exclusion.contains(inclusion)) { + geom = exclusion.difference(inclusion); + typeCode = ExtentTypeCode.EXCLUDE; + } else { + geom = inclusion.difference(exclusion); + typeCode = ExtentTypeCode.INCLUDE; + } + + if (geom instanceof Polygon) { + Polygon polygon = (Polygon) geom; + return Pair.read(typeCode, fac.createMultiPolygon(new Polygon[] { polygon })); + } + return Pair.read(typeCode, (MultiPolygon) geom); + } + + public static MultiPolygon joinPolygons(GeometryFactory fac, Collection collection) + { + final Collection transformedCollection = transformGeometry(collection); + final Geometry geometry = fac.buildGeometry(transformedCollection); + geometry.setSRID(transformedCollection.iterator().next().getSRID()); + + Geometry geom = validateGeom(geometry); + return (MultiPolygon) geom; + } + + /** + * converts all geoms to same CRS if one is 4326 then all go to 4326 otherwise all stay the same + * This assumes only options are ch03 and wgs84 + */ + private static Collection transformGeometry(Collection collection) { + boolean hasWGS84 = false; + boolean hasCH03 = false; + + for (Polygon polygon : collection) { + if(polygon.getSRID() == 21781) { + hasCH03 = true; + } else { + hasWGS84 = true; + } + } + + if(hasWGS84 && hasCH03) { + ArrayList newCollection = new ArrayList(); + for (Polygon polygon : collection) { + if(polygon.getSRID() == 21781) { + try { + Geometry newP = JTS.transform(polygon, CH03_TO_WGS84); + newP.setSRID(21781); + newCollection.add((Polygon) newP); + } catch (TransformException e) { + throw new RuntimeException(e); + } + } else { + newCollection.add(polygon); + } + } + return newCollection; + } else { + return collection; + } + + } + + public static int bboxSrid(Element bboxElem) { + Element elem = bboxElem.getChild("westBoundLongitude", Geonet.Namespaces.GMD); + if(elem == null)throw new NoSuchElementException(bboxElem.getName() + " does not have wesBoundLongitude"); + + Element decElem = elem.getChild("Decimal", Geonet.Namespaces.GCO); + if (decElem == null) + throw new NoSuchElementException(elem.getName() + " does not have a valid decimal child element"); + return decElem.getTextTrim().endsWith("ch")?21781:4326; + } + + public enum ExtentTypeCode + { + INCLUDE, EXCLUDE, NA + } + + public static double tolerance() { + final double precision = Math.pow(10,COORD_DIGITS); + + return 1/precision; + } + +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentManager.java b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentManager.java new file mode 100644 index 00000000000..d8c13af358e --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentManager.java @@ -0,0 +1,103 @@ +package org.fao.geonet.kernel.extent; + +import org.fao.geonet.utils.Log; +import org.geotools.data.DataStore; +import org.geotools.data.FeatureStore; +import org.geotools.feature.DefaultFeatureCollection; +import org.geotools.feature.simple.SimpleFeatureBuilder; +import org.geotools.util.logging.Logging; +import org.jdom.Namespace; +import org.locationtech.jts.geom.Geometry; +import org.opengis.feature.simple.SimpleFeature; +import org.opengis.feature.simple.SimpleFeatureType; +import org.springframework.beans.factory.annotation.Autowired; + +import java.io.IOException; +import java.util.logging.Handler; +import java.util.logging.LogRecord; + +import static org.fao.geonet.kernel.extent.ExtentHelper.encodeDescription; +import static org.fao.geonet.kernel.extent.ExtentHelper.reduceDesc; + +/** + * The configuration object for Extents. It allows access to the Datastore(s) + * for obtaining the extents + * + * @author jeichar + */ +public class ExtentManager { + + private static final java.util.logging.Logger LOGGER = Logging.getLogger("org.geotools.data"); + public static final Namespace GMD_NAMESPACE = Namespace.getNamespace("gmd", "http://www.isotc211.org/2005/gmd"); + public static final Namespace GCO_NAMESPACE = Namespace.getNamespace("gco", "http://www.isotc211.org/2005/gco"); + public static final String GEOTOOLS_LOG_NAME = "geotools"; + + @Autowired + private DataStore datastore; + private Source source; + + public DataStore getDataStore() throws IOException { + return source.getDataStore(); + } + + public Source getSource() { + return source; + } + + public String add(String id, final String geoId, final String desc, final String requestCrsCode, + final FeatureType featureType, final FeatureStore store, + Geometry geometry, boolean showNative) throws Exception{ + final SimpleFeatureType schema = store.getSchema(); + geometry = ExtentHelper.prepareGeometry(requestCrsCode, featureType, geometry, schema); + + id = addFeature(id, geoId, desc, geometry, featureType, store, schema, showNative); + return id; + } + + @SuppressWarnings("deprecation") + private String addFeature(String id, String geoId, String desc, Geometry geometry, FeatureType featureType, + FeatureStore store, SimpleFeatureType schema, boolean showNative) throws Exception + { + + if (id == null) { + id = ExtentHelper.findNextId(store, featureType); + } + + final SimpleFeature feature = SimpleFeatureBuilder.template(schema, SimpleFeatureBuilder + .createDefaultFeatureId()); + feature.setAttribute(featureType.idColumn, id); + feature.setAttribute(featureType.geoIdColumn, encodeDescription(geoId)); + feature.setAttribute(featureType.descColumn, encodeDescription(desc)); + feature.setAttribute(featureType.showNativeColumn, showNative?"y":"n"); + feature.setAttribute(featureType.searchColumn, encodeDescription(reduceDesc(desc) + reduceDesc(geoId))); + feature.setDefaultGeometry(geometry); + + DefaultFeatureCollection featureCollection = new DefaultFeatureCollection(); + + featureCollection.add(feature); + store.addFeatures(featureCollection); + return id; + } + + public void setSource(Source source) { + this.source = source; + } + + private static final class SourcesLogHandler extends Handler { + + @Override + public void publish(LogRecord record) { + Log.debug(GEOTOOLS_LOG_NAME, record.getMessage()); + } + + @Override + public void flush() { + // nothing + } + + @Override + public void close() throws SecurityException { + // nothing + + } + }} diff --git a/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentSelection.java b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentSelection.java new file mode 100644 index 00000000000..170f7a577ef --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/ExtentSelection.java @@ -0,0 +1,39 @@ +//============================================================================== +//=== Copyright (C) 2001-2008 Food and Agriculture Organization of the +//=== United Nations (FAO-UN), United Nations World Food Programme (WFP) +//=== and United Nations Environment Programme (UNEP) +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, +//=== Rome - Italy. email: geonetwork@osgeo.org +//============================================================================== + +package org.fao.geonet.kernel.extent; + +import org.fao.geonet.domain.Pair; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +public class ExtentSelection +{ + private Set> ids = Collections.synchronizedSet(new HashSet>()); + + public Set> getIds() { + return ids; + } +} \ No newline at end of file diff --git a/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/FeatureType.java b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/FeatureType.java new file mode 100644 index 00000000000..aa87d1a4e4c --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/FeatureType.java @@ -0,0 +1,138 @@ +package org.fao.geonet.kernel.extent; + +import org.geotools.data.DataStore; +import org.geotools.data.FeatureSource; +import org.geotools.data.Query; +import org.geotools.factory.CommonFactoryFinder; +import org.geotools.referencing.CRS; +import org.geotools.referencing.crs.DefaultGeographicCRS; +import org.geotools.util.factory.GeoTools; +import org.opengis.feature.simple.SimpleFeature; +import org.opengis.feature.simple.SimpleFeatureType; +import org.opengis.filter.Filter; +import org.opengis.filter.FilterFactory2; +import org.opengis.filter.expression.Literal; +import org.opengis.filter.expression.PropertyName; +import org.opengis.referencing.crs.CoordinateReferenceSystem; + +import javax.annotation.PostConstruct; +import java.io.IOException; +import java.util.Arrays; + +/** +* @author Jesse on 10/28/2014. +*/ +public final class FeatureType { + public static final String SHOW_NATIVE = "SHOW_NATIVE"; + + private CoordinateReferenceSystem projection; + public String typename; + public String idColumn; + public String geoIdColumn; + public String descColumn; + public String searchColumn; + public String showNativeColumn = SHOW_NATIVE; + public String pgTypeName; + private String srs; + private Source source; + + @PostConstruct + public void init() { + this.pgTypeName = typename.substring(3); + } + + public void setSource(Source source) { + this.source = source; + } + + public void setTypename(String typename) { + this.typename = typename; + } + + public void setIdColumn(String idColumn) { + this.idColumn = idColumn; + } + + public void setGeoIdColumn(String geoIdColumn) { + this.geoIdColumn = geoIdColumn; + } + + public void setDescColumn(String descColumn) { + this.descColumn = descColumn; + } + + public void setSearchColumn(String searchColumn) { + this.searchColumn = searchColumn; + } + + public synchronized void setSrs(String srs) { + this.srs = srs; + } + + public FeatureSource getFeatureSource() throws IOException { + final DataStore datastore = source.getDataStore(); + if (Arrays.asList(datastore.getTypeNames()).contains(pgTypeName)) { + return datastore.getFeatureSource(pgTypeName); + } else { + return null; + } + } + + public boolean isModifiable() + { + return source.modifiable.contains(this); + } + + @Override + public String toString() { + + String string = "typename (" + idColumn + "," + descColumn + ")"; + + if (isModifiable()) { + string += "modifiable"; + } + + return string; + } + + public Query createQuery(String id, String[] properties) + { + final Filter filter = createFilter(id); + return new Query(pgTypeName, filter, properties); + } + public Query createQuery(Filter filter, String[] properties) { + return new Query(pgTypeName, filter, properties); + } + public Query createQuery(String[] properties) { + return createQuery(Filter.INCLUDE,properties); + } + public Filter createFilter(String id) + { + final FilterFactory2 factory = CommonFactoryFinder.getFilterFactory2(GeoTools.getDefaultHints()); + final Literal literal = factory.literal(id); + final PropertyName property = factory.property(idColumn); + final Filter filter = factory.equals(property, literal); + return filter; + } + + public Source wfs() + { + return this.source; + } + + public synchronized CoordinateReferenceSystem projection() + { + try { + this.projection = CRS.decode(srs); + } catch (Exception e) { + this.projection = DefaultGeographicCRS.WGS84; + this.srs = "EPSG:4326"; + } + return projection; + } + + public synchronized String srs() + { + return srs; + } +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/Source.java b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/Source.java new file mode 100644 index 00000000000..a2a722303b5 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/kernel/extent/Source.java @@ -0,0 +1,105 @@ +//============================================================================== +//=== Copyright (C) 2001-2008 Food and Agriculture Organization of the +//=== United Nations (FAO-UN), United Nations World Food Programme (WFP) +//=== and United Nations Environment Programme (UNEP) +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, +//=== Rome - Italy. email: geonetwork@osgeo.org +//============================================================================== + +package org.fao.geonet.kernel.extent; + +import org.geotools.data.DataStore; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.annotation.PostConstruct; +import java.io.IOException; +import java.util.*; + +public class Source { + + Set modifiable = new LinkedHashSet(); + Map types = new LinkedHashMap(); + public String wfsId; + + @Autowired + protected DataStore datastore; + + @PostConstruct + protected void init() { + for (FeatureType featureType : types.values()) { + featureType.setSource(this); + } + } + + public void setModifiable(Set modifiable) { + this.modifiable = modifiable; + } + + public void setTypes(Map types) { + this.types = types; + } + + public void setWfsId(String wfsId) { + this.wfsId = wfsId; + } + + public synchronized DataStore getDataStore() throws IOException + { + return datastore; + } + + @Override + public String toString() + { + return wfsId; + } + + public FeatureType getFeatureType(String typename) + { + if(types.containsKey(typename)) + return types.get(typename); + else if(typename.startsWith("gn:") && types.containsKey(typename.substring(3))) { + return types.get(typename.substring(3)); + } else { + return null; + } + } + + public Map getTypeDefinitions() { + return types; + } + + public Collection getFeatureTypes() { + return types.values(); + } + + public Collection getModifiableTypes() + { + return modifiable; + } + + public String listModifiable() + { + final List name = new ArrayList(); + for (final FeatureType type : getModifiableTypes()) { + name.add(type.typename); + } + return name.toString(); + } + +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheNamespaces.java b/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheNamespaces.java new file mode 100644 index 00000000000..81ab725c2a4 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheNamespaces.java @@ -0,0 +1,11 @@ +package org.fao.geonet.schema.iso19139che; + +import org.jdom.Namespace; + +/** + * Created by francois on 3/26/14. + */ +public class ISO19139cheNamespaces { + public static final Namespace CHE = + Namespace.getNamespace("che", "http://www.geocat.ch/2008/che"); +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheSchemaPlugin.java b/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheSchemaPlugin.java new file mode 100644 index 00000000000..6b4303313d8 --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheSchemaPlugin.java @@ -0,0 +1,723 @@ +package org.fao.geonet.schema.iso19139che; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import org.apache.commons.lang.StringUtils; +import org.fao.geonet.index.es.EsRestClient; +import org.fao.geonet.kernel.schema.AssociatedResource; +import org.fao.geonet.kernel.schema.AssociatedResourcesSchemaPlugin; +import org.fao.geonet.kernel.schema.ExportablePlugin; +import org.fao.geonet.kernel.schema.ISOPlugin; +import org.fao.geonet.kernel.schema.LinkAwareSchemaPlugin; +import org.fao.geonet.kernel.schema.LinkPatternStreamer.ILinkBuilder; +import org.fao.geonet.kernel.schema.LinkPatternStreamer.RawLinkPatternStreamer; +import org.fao.geonet.kernel.schema.MultilingualSchemaPlugin; +import org.fao.geonet.schema.iso19139.ISO19139Namespaces; +import org.fao.geonet.schema.iso19139.ISO19139SchemaPlugin; +import org.fao.geonet.utils.Log; +import org.fao.geonet.utils.Xml; +import org.jdom.Element; +import org.jdom.JDOMException; +import org.jdom.Namespace; +import org.jdom.filter.ElementFilter; +import org.jdom.xpath.XPath; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static org.fao.geonet.schema.iso19139.ISO19139Namespaces.*; + +/** + * Created by francois on 6/15/14. + */ +public class ISO19139cheSchemaPlugin + extends org.fao.geonet.kernel.schema.SchemaPlugin + implements + AssociatedResourcesSchemaPlugin, + MultilingualSchemaPlugin, + ExportablePlugin, + ISOPlugin, + LinkAwareSchemaPlugin { + public static final String IDENTIFIER = "iso19139.che"; + + public static ImmutableSet allNamespaces; + + private static Map allTypenames; + + private static Map allExportFormats; + + private static final String GMO3_URI = "http://www.geocat.ch/2008/gm03_2"; + private static final String GMO3_PREFIX = "gm03"; + + @Autowired + private EsRestClient esRestClient; + + @Value("${es.index.records:gn-records}") + private String defaultIndex = "records"; + + static { + allNamespaces = ImmutableSet.builder() + .add(ISO19139Namespaces.GCO) + .add(ISO19139Namespaces.GMD) + .add(ISO19139Namespaces.SRV) + .add(ISO19139cheNamespaces.CHE) + .build(); + + allTypenames = ImmutableMap.builder() + .put("csw:Record", Namespace.getNamespace("csw", "http://www.opengis.net/cat/csw/2.0.2")) + .put("gmd:MD_Metadata", ISO19139Namespaces.GMD) + .put("che:CHE_MD_Metadata", ISO19139cheNamespaces.CHE) + .put("gm03", Namespace.getNamespace(GMO3_PREFIX, GMO3_URI)) + .put("dcat", Namespace.getNamespace("dcat", "http://www.w3.org/ns/dcat#")) + .build(); + + allExportFormats = ImmutableMap.builder() + // This is more for all basic iso19139 profiles using this bean as default + // The conversion is not available in regular iso19139 plugin. + // This is for backward compatibility. + .put("convert/to19139.xsl", "metadata-iso19139.xml") + // GEOCAT-TODO: Add GM03 + .build(); + } + +// private SubtemplatesByLocalXLinksReplacer subtemplatesByLocalXLinksReplacer; + + public ISO19139cheSchemaPlugin() { + super(IDENTIFIER, allNamespaces); + } + + + /** + * Return sibling relation defined in aggregationInfo. + */ + public Set getAssociatedResourcesUUIDs(Element metadata) { + + String XPATH_FOR_AGGRGATIONINFO = "*//gmd:aggregationInfo/*" + + "[gmd:aggregateDataSetIdentifier/*/gmd:code " + + "and gmd:associationType/gmd:DS_AssociationTypeCode/@codeListValue!='']"; + Set listOfResources = new HashSet(); + List sibs = null; + + try { + sibs = Xml.selectNodes( + metadata, + XPATH_FOR_AGGRGATIONINFO, + allNamespaces.asList()); + + for (Object o : sibs) { + try { + if (o instanceof Element) { + Element sib = (Element) o; + Element agId = (Element) sib.getChild("aggregateDataSetIdentifier", ISO19139Namespaces.GMD) + .getChildren().get(0); + String sibUuid = getChild(agId, "code", ISO19139Namespaces.GMD) + .getChildText("CharacterString", ISO19139Namespaces.GCO); + final Element associationTypeEl = getChild(sib, "associationType", ISO19139Namespaces.GMD); + String associationType = getChild(associationTypeEl, "DS_AssociationTypeCode", ISO19139Namespaces.GMD) + .getAttributeValue("codeListValue"); + final Element initiativeTypeEl = getChild(sib, "initiativeType", ISO19139Namespaces.GMD); + String initiativeType = ""; + if (initiativeTypeEl != null) { + initiativeType = getChild(initiativeTypeEl, "DS_InitiativeTypeCode", ISO19139Namespaces.GMD) + .getAttributeValue("codeListValue"); + } + AssociatedResource resource = new AssociatedResource(sibUuid, initiativeType, associationType); + listOfResources.add(resource); + } + } catch (Exception e) { + Log.error(Log.JEEVES, "Error getting resources UUIDs", e); + } + } + } catch (Exception e) { + Log.error(Log.JEEVES, "Error getting resources UUIDs", e); + } + return listOfResources; + } + + + private Element getChild(Element el, String name, Namespace namespace) { + final Element child = el.getChild(name, namespace); + if (child == null) { + return new Element(name, namespace); + } + return child; + } + + @Override + public Set getAssociatedParentUUIDs(Element metadata) { + ElementFilter elementFilter = new ElementFilter("parentIdentifier", ISO19139Namespaces.GMD); + return Xml.filterElementValues( + metadata, + elementFilter, + "CharacterString", ISO19139Namespaces.GCO, + null); + } + + public Set getAssociatedDatasetUUIDs(Element metadata) { + return getAttributeUuidrefValues(metadata, "operatesOn", ISO19139Namespaces.SRV); + } + + public Set getAssociatedFeatureCatalogueUUIDs(Element metadata) { + return getAttributeUuidrefValues(metadata, "featureCatalogueCitation", ISO19139Namespaces.GMD); + } + + public Set getAssociatedSourceUUIDs(Element metadata) { + return getAttributeUuidrefValues(metadata, "source", ISO19139Namespaces.GMD); + } + + private Set getAttributeUuidrefValues(Element metadata, String tagName, Namespace namespace) { + ElementFilter elementFilter = new ElementFilter(tagName, namespace); + return Xml.filterElementValues( + metadata, + elementFilter, + null, null, + "uuidref"); + } + + + @Override + @SuppressWarnings("unchecked") + public List getTranslationForElement(Element element, String languageIdentifier) { + List matches = null; + + // Collect ISO19139 translation elements + String path = ".//gmd:LocalisedCharacterString" + + "[@locale='#" + languageIdentifier + "']"; + try { + XPath xpath = XPath.newInstance(path); + matches = xpath.selectNodes(element); + } catch (Exception e) { + Log.debug(LOGGER_NAME, String.format( + "%s: getTranslationForElement failed on element %s using XPath '%s' updatedLocalizedTextElement exception %s", + getIdentifier(), Xml.getString(element), path, e.getMessage())); + } + + + // If none found, check ISO19139.che localised URL type + if (matches == null || matches.isEmpty()) { + path = ".//che:LocalisedURL" + + "[@locale='#" + languageIdentifier + "']"; + try { + XPath xpath = XPath.newInstance(path); + matches = xpath.selectNodes(element); + } catch (Exception e) { + Log.debug(LOGGER_NAME, String.format( + "%s: getTranslationForElement LocalisedURL failed on element %s using XPath '%s' updatedLocalizedTextElement exception %s", + getIdentifier(), Xml.getString(element), path, e.getMessage())); + } + } + + return matches; + } + + /** + * Add a LocalisedCharacterString or localisedURL to an element. + * In ISO19139, the translation are + * stored gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString. + *

+ *

+     * 
+     *    Template for Vector data in ISO19139 (multilingual)
+     *    
+     *        
+     *            Modèle de données vectorielles en ISO19139.che (multilingue)
+     *        
+     * 
+ * + * @param element + * @param languageIdentifier + * @param value + */ + @Override + public void addTranslationToElement(Element element, String languageIdentifier, String value) { + if (element.getChild("PT_FreeText", ISO19139Namespaces.GMD) != null || + element.getChild("Anchor", GMX) != null || + element.getChild("CharacterString", ISO19139Namespaces.GCO) != null) { +// super.addTranslationToElement(element, languageIdentifier, value); + // An ISO19139 element containing translation has an xsi:type attribute + element.setAttribute("type", "gmd:PT_FreeText_PropertyType", + Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance")); + + // Create a new translation for the language + Element langElem = new Element("LocalisedCharacterString", ISO19139Namespaces.GMD); + langElem.setAttribute("locale", "#" + languageIdentifier); + langElem.setText(value); + Element textGroupElement = new Element("textGroup", ISO19139Namespaces.GMD); + textGroupElement.addContent(langElem); + + // Get the PT_FreeText node where to insert the translation into + Element freeTextElement = element.getChild("PT_FreeText", ISO19139Namespaces.GMD); + if (freeTextElement == null) { + freeTextElement = new Element("PT_FreeText", ISO19139Namespaces.GMD); + element.addContent(freeTextElement); + } + freeTextElement.addContent(textGroupElement); + } else { + // An ISO19139 element containing translation has an xsi:type attribute + element.setAttribute("type", "che:PT_FreeURL_PropertyType", + Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance")); + + // Create a new translation for the language + Element langElem = new Element("LocalisedURL", ISO19139cheNamespaces.CHE); + langElem.setAttribute("locale", "#" + languageIdentifier); + langElem.setText(value); + Element textGroupElement = new Element("URLGroup", ISO19139cheNamespaces.CHE); + textGroupElement.addContent(langElem); + + // Get the PT_FreeURL node where to insert the translation into + Element freeTextElement = element.getChild("PT_FreeURL", ISO19139cheNamespaces.CHE); + if (freeTextElement == null) { + freeTextElement = new Element("PT_FreeURL", ISO19139cheNamespaces.CHE); + element.addContent(freeTextElement); + } + freeTextElement.addContent(textGroupElement); + } + } + + @Override + public String getBasicTypeCharacterStringName() { + return "gco:CharacterString"; + } + + @Override + public Element createBasicTypeCharacterString() { + return new Element("CharacterString", ISO19139Namespaces.GCO); + } + + @Override + public Element addOperatesOn(Element serviceRecord, Map layers, String serviceType, String baseUrl) { + Element root = serviceRecord + .getChild("identificationInfo", GMD) + .getChild("SV_ServiceIdentification", SRV); + + if (root != null) { + + // Coupling type MUST be present as it is the insertion point + // for coupledResource + Element couplingType = root.getChild("couplingType", SRV); + int coupledResourceIdx = root.indexOf(couplingType); + + layers.keySet().forEach(uuid -> { + String layerName = layers.get(uuid); + + // Create coupled resources elements to register all layername + // in service metadata. This information could be used to add + // interactive map button when viewing service metadata. + Element coupledResource = new Element("coupledResource", SRV); + coupledResource.setAttribute("nilReason", "synchronizedFromOGC", ISO19139Namespaces.GCO); + Element scr = new Element("SV_CoupledResource", SRV); + + + // Create operation according to service type + Element operation = new Element("operationName", SRV); + Element operationValue = new Element("CharacterString", GCO); + + if (serviceType.startsWith("WMS")) + operationValue.setText("GetMap"); + else if (serviceType.startsWith("WFS")) + operationValue.setText("GetFeature"); + else if (serviceType.startsWith("WCS")) + operationValue.setText("GetCoverage"); + else if (serviceType.startsWith("SOS")) + operationValue.setText("GetObservation"); + operation.addContent(operationValue); + + // Create identifier (which is the metadata identifier) + Element id = new Element("identifier", SRV); + Element idValue = new Element("CharacterString", GCO); + idValue.setText(uuid); + id.addContent(idValue); + + // Create scoped name element as defined in CSW 2.0.2 ISO profil + // specification to link service metadata to a layer in a service. + Element scopedName = new Element("ScopedName", GCO); + scopedName.setText(layerName); + + scr.addContent(operation); + scr.addContent(id); + scr.addContent(scopedName); + coupledResource.addContent(scr); + + // Add coupled resource before coupling type element + if (coupledResourceIdx != -1) { + root.addContent(coupledResourceIdx, coupledResource); + } + + + // Add operatesOn element at the end of identification section. + Element op = new Element("operatesOn", SRV); + op.setAttribute("nilReason", "synchronizedFromOGC", GCO); + op.setAttribute("uuidref", uuid); + + String hRefLink = baseUrl + "api/records/" + uuid + "/formatters/xml"; + op.setAttribute("href", hRefLink, XLINK); + + root.addContent(op); + }); + } + + return serviceRecord; + } + + @Override + public List getExtents(Element record) { + List extents = new ArrayList<>(); + + ElementFilter bboxFinder = new ElementFilter("EX_GeographicBoundingBox", GMD); + @SuppressWarnings("unchecked") + Iterator bboxes = record.getDescendants(bboxFinder); + while (bboxes.hasNext()) { + Element box = bboxes.next(); + try { + extents.add(new Extent( + Double.valueOf(box.getChild("westBoundLongitude", GMD).getChild("Decimal", GCO).getText()), + Double.valueOf(box.getChild("eastBoundLongitude", GMD).getChild("Decimal", GCO).getText()), + Double.valueOf(box.getChild("southBoundLatitude", GMD).getChild("Decimal", GCO).getText()), + Double.valueOf(box.getChild("northBoundLatitude", GMD).getChild("Decimal", GCO).getText()) + )); + } catch (NullPointerException e) { + } + } + return extents; + } + + @Override + public Map getCswTypeNames() { + return allTypenames; + } + + @Override + public Map getExportFormats() { + return allExportFormats; + } + + + /** + * Remove all multilingual aspect of an element. Keep the md language localized strings + * as default gco:CharacterString for the element. + * + * @param element + * @param langs Metadata languages. The main language MUST be the first one. + * @return + * @throws JDOMException + */ + @Override + public Element removeTranslationFromElement(Element element, List langs) throws JDOMException { + String mainLanguage = langs != null && langs.size() > 0 ? langs.get(0) : "#EN"; + + List nodesWithStrings = (List) Xml.selectNodes(element, "*//gmd:PT_FreeText", Arrays.asList(ISO19139Namespaces.GMD)); + + for (Element e : nodesWithStrings) { + // Retrieve or create the main language element + Element mainCharacterString = ((Element) e.getParent()).getChild("CharacterString", ISO19139Namespaces.GCO); + if (mainCharacterString == null) { + // create it if it does not exist + mainCharacterString = new Element("CharacterString", ISO19139Namespaces.GCO); + ((Element) e.getParent()).addContent(0, mainCharacterString); + } + + // Retrieve the main language value if exist + List mainLangElement = (List) Xml.selectNodes( + e, + "*//gmd:LocalisedCharacterString[@locale='" + mainLanguage + "']", + Arrays.asList(ISO19139Namespaces.GMD)); + + // Set the main language value + if (mainLangElement.size() == 1) { + String mainLangString = mainLangElement.get(0).getText(); + + if (StringUtils.isNotEmpty(mainLangString)) { + mainCharacterString.setText(mainLangString); + } else if (mainCharacterString.getAttribute("nilReason", ISO19139Namespaces.GCO) == null) { + ((Element) mainCharacterString.getParent()).setAttribute("nilReason", "missing", ISO19139Namespaces.GCO); + } + } else if (StringUtils.isEmpty(mainCharacterString.getText()) && + mainCharacterString.getAttribute("nilReason", ISO19139Namespaces.GCO) == null) { + ((Element) mainCharacterString.getParent()).setAttribute("nilReason", "missing", ISO19139Namespaces.GCO); + } + } + + List nodesWithUrls = (List) Xml.selectNodes(element, "*//che:PT_FreeURL", Arrays.asList(ISO19139cheNamespaces.CHE)); + + for (Element e : nodesWithUrls) { + // Retrieve or create the main language element + Element mainCharacterString = ((Element) e.getParent()).getChild("URL", ISO19139Namespaces.GMD); + if (mainCharacterString == null) { + // create it if it does not exist + mainCharacterString = new Element("URL", ISO19139Namespaces.GMD); + ((Element) e.getParent()).addContent(0, mainCharacterString); + } + + // Retrieve the main language value if exist + List mainLangElement = (List) Xml.selectNodes( + e, + "*//che:LocalisedURL[@locale='" + mainLanguage + "']", + Arrays.asList(ISO19139cheNamespaces.CHE)); + + // Set the main language value + if (mainLangElement.size() == 1) { + String mainLangString = mainLangElement.get(0).getText(); + + if (StringUtils.isNotEmpty(mainLangString)) { + mainCharacterString.setText(mainLangString); + } else if (mainCharacterString.getAttribute("nilReason", ISO19139Namespaces.GCO) == null) { + ((Element) mainCharacterString.getParent()).setAttribute("nilReason", "missing", ISO19139Namespaces.GCO); + } + } else if (StringUtils.isEmpty(mainCharacterString.getText()) && + mainCharacterString.getAttribute("nilReason", ISO19139Namespaces.GCO) == null) { + ((Element) mainCharacterString.getParent()).setAttribute("nilReason", "missing", ISO19139Namespaces.GCO); + } + } + + // Remove unused lang entries + List translationNodes = (List) Xml.selectNodes(element, "*//node()[@locale]"); + for (Element el : translationNodes) { + // Remove all translations if there is no or only one language requested + if (langs.size() <= 1 || + !langs.contains(el.getAttribute("locale").getValue())) { + Element parent = (Element) el.getParent(); + parent.detach(); + } + } + // Remove PT_FreeText which might be emptied by above processing + for (Element el : nodesWithStrings) { + if (el.getChildren().size() == 0) { + el.detach(); + } + } + for (Element el : nodesWithUrls) { + if (el.getChildren().size() == 0) { + el.detach(); + } + } + + + // Sort all children elements translation + // according to the language list. + // When a directory entry is added as an xlink, the URL + // contains an ordered list of language and this ordre must + // be preserved in order to display fields in the editor in the same + // order as other element in the record. + if (langs.size() > 1) { + List elementList = (List) Xml.selectNodes(element, + ".//*[gmd:PT_FreeText]", + Arrays.asList(ISO19139Namespaces.GMD)); + for (Element el : elementList) { + final Element ptFreeText = el.getChild("PT_FreeText", GMD); + List orderedTextGroup = new ArrayList<>(); + for (String l : langs) { + List node = (List) Xml.selectNodes(ptFreeText, "gmd:textGroup[*/@locale='" + l + "']", Arrays.asList(ISO19139Namespaces.GMD)); + if (node != null && node.size() == 1) { + orderedTextGroup.add((Element) node.get(0).clone()); + } + } + ptFreeText.removeContent(); + ptFreeText.addContent(orderedTextGroup); + } + + List urlElementList = (List) Xml.selectNodes(element, + ".//*[che:PT_FreeURL]", + Arrays.asList(ISO19139cheNamespaces.CHE)); + for (Element el : urlElementList) { + final Element ptFreeText = el.getChild("PT_FreeURL", ISO19139cheNamespaces.CHE); + List orderedTextGroup = new ArrayList<>(); + for (String l : langs) { + List node = (List) Xml.selectNodes(ptFreeText, "che:URLGroup[*/@locale='" + l + "']", Arrays.asList(ISO19139cheNamespaces.CHE)); + if (node != null && node.size() == 1) { + orderedTextGroup.add((Element) node.get(0).clone()); + } + } + ptFreeText.removeContent(); + ptFreeText.addContent(orderedTextGroup); + } + } + + return element; + } + + // TODO geocat4 +// @Override +// public Element replaceSubtemplatesByLocalXLinks(Element dataXml, String templatesToOperateOn) { +// return subtemplatesByLocalXLinksReplacer.replaceSubtemplatesByLocalXLinks( +// dataXml, +// templatesToOperateOn); +// } +// +// @Override +// public void init(ManagersProxy managersProxy, ConstantsProxy constantsProxy) { +// List namespaces = new ArrayList<>(allNamespaces); +// subtemplatesByLocalXLinksReplacer = new SubtemplatesByLocalXLinksReplacer(namespaces,managersProxy) { +// +// @Override +// public List getLocalesAsHrefParam(Element dataXml) { +// return ISO19139SchemaPlugin.getLanguages(dataXml); +// } +// }; +// subtemplatesByLocalXLinksReplacer.addReplacer(new FormatReplacer(namespaces, managersProxy, constantsProxy)); +// subtemplatesByLocalXLinksReplacer.addReplacer(new ContactReplacer(namespaces, managersProxy, constantsProxy)); +// subtemplatesByLocalXLinksReplacer.addReplacer(new ExtentReplacer(namespaces, managersProxy, constantsProxy)); +// subtemplatesByLocalXLinksReplacer.addReplacer(new KeywordReplacer(managersProxy)); +// } +// +// @Override +// public boolean isInitialised() { +// return subtemplatesByLocalXLinksReplacer!=null; +// } + + /** + * Process some of the ISO elements which can have substitute. + *

+ * For example, a CharacterString can have a gmx:Anchor as a substitute + * to encode a text value + an extra URL. To make the transition between + * CharacterString and Anchor transparent, this method takes care of + * creating the appropriate element depending on the presence of an xlink:href attribute. + * If the attribute is empty, then a CharacterString is used, if a value is set, an Anchor is created. + * + * @param el element to process. + * @param attributeRef the attribute reference + * @param parsedAttributeName the name of the attribute, for example xlink:href + * @param attributeValue the attribute value + * @return + */ + @Override + public Element processElement(Element el, + String attributeRef, + String parsedAttributeName, + String attributeValue) { + if (Log.isDebugEnabled(LOGGER_NAME)) { + Log.debug(LOGGER_NAME, String.format( + "Processing element %s, attribute %s with attributeValue %s.", + el, attributeRef, attributeValue)); + } + + boolean elementToProcess = isElementToProcess(el); + + if (elementToProcess && parsedAttributeName.equals("xlink:href")) { + boolean isEmptyLink = StringUtils.isEmpty(attributeValue); + boolean isMultilingualElement = el.getName().equals("LocalisedCharacterString"); + + if (isMultilingualElement) { + // The attribute provided relates to the CharacterString and not to the LocalisedCharacterString + Element targetElement = el.getParentElement().getParentElement().getParentElement() + .getChild("CharacterString", GCO); + if (targetElement != null) { + el = targetElement; + } + } + + if (isEmptyLink) { + el.setNamespace(GCO).setName("CharacterString"); + el.removeAttribute("href", XLINK); + return el; + } else { + el.setNamespace(GMX).setName("Anchor"); + el.setAttribute("href", "", XLINK); + return el; + } + } else if (elementToProcess && StringUtils.isNotEmpty(parsedAttributeName) && + parsedAttributeName.startsWith(":")) { + // eg. :codeSpace + el.setAttribute(parsedAttributeName.substring(1), attributeValue); + return el; + } else { + return super.processElement(el, attributeRef, parsedAttributeName, attributeValue); + } + + } + + /** + * Checks if an element requires processing in {@link #processElement(Element, String, String, String)}. + * + * @param el Element to check. + * @return boolean indicating if the element requires processing or not. + */ + protected boolean isElementToProcess(Element el) { + if (el == null) return false; + + return elementsToProcess.contains(el.getQualifiedName()); + } + + @Override + public RawLinkPatternStreamer createLinkStreamer(ILinkBuilder linkbuilder, String excludePattern) { + RawLinkPatternStreamer patternStreamer = new RawLinkPatternStreamer(linkbuilder, excludePattern); + patternStreamer.setNamespaces(ISO19139SchemaPlugin.allNamespaces.asList()); + patternStreamer.setRawTextXPath(".//*[name() = 'gco:CharacterString' or name() = 'gmd:URL' or name() = 'gmd:LocalisedCharacterString' or name() = 'che:LocalisedURL']"); + // TODO: che:URL and multilingual text + return patternStreamer; + } + + @Override + public Set getAssociatedSources(Element metadata) { + Set associatedResources = collectAssociatedResources(metadata, "*//gmd:source"); + return associatedResources; + } + + private Set collectAssociatedResources(Element metadata, String XPATH) { + Set associatedResources = new HashSet<>(); + try { + final List parentMetadata = Xml + .selectNodes( + metadata, + XPATH, + allNamespaces.asList()); + for (Object o : parentMetadata) { + Element sib = (Element) o; + AssociatedResource resource = elementAsAssociatedResource(sib); + associatedResources.add(resource); + } + } catch (JDOMException e) { + e.printStackTrace(); + } + return associatedResources; + } + + private AssociatedResource elementAsAssociatedResource(Element ref) { + String sibUuid = ref.getAttributeValue("uuidref"); + if (StringUtils.isEmpty(sibUuid)) { + sibUuid = ref.getTextNormalize(); + } + String title = ref.getAttributeValue("title", XLINK); + String url = ref.getAttributeValue("href", XLINK); + return new AssociatedResource(sibUuid, "", "", url, title); + } + + @Override + public Set getAssociatedFeatureCatalogues(Element metadata) { + Set associatedResources = collectAssociatedResources(metadata, "*//gmd:featureCatalogueCitation"); + return associatedResources; + } + + @Override + public Set getAssociatedDatasets(Element metadata) { + Set associatedResources = collectAssociatedResources(metadata, "*//srv:operatesOn"); + return associatedResources; + } + + @Override + public Set getAssociatedParents(Element metadata) { + Set associatedResources = new HashSet<>(); + + Element parentIdentifier = metadata.getChild("parentIdentifier", GMD); + if (parentIdentifier != null) { + Element characterString = parentIdentifier.getChild("CharacterString", GCO); + if (characterString != null) { + associatedResources.add(new AssociatedResource(characterString.getText(), "", "")); + } + Element anchor = parentIdentifier.getChild("Anchor", GMX); + if (anchor != null) { + associatedResources.add(elementAsAssociatedResource(anchor)); + } + } + // Parent relation is also frequently encoded using + // aggregation. See parentAssociatedResourceType in ISO19115-3 + return associatedResources; + } + +} diff --git a/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheUtil.java b/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheUtil.java new file mode 100644 index 00000000000..1a1ce3e929f --- /dev/null +++ b/iso19139.che/src/main/java/org/fao/geonet/schema/iso19139che/ISO19139cheUtil.java @@ -0,0 +1,395 @@ +package org.fao.geonet.schema.iso19139che; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimap; +import net.sf.saxon.om.*; +import net.sf.saxon.type.Type; +import org.apache.commons.io.output.ByteArrayOutputStream; +import org.fao.geonet.domain.Pair; +import org.fao.geonet.kernel.extent.ExtentHelper; +import org.fao.geonet.utils.TransformerFactoryFactory; +import org.geotools.gml3.GMLConfiguration; +import org.geotools.xsd.Encoder; +import org.geotools.xsd.Parser; +import org.jdom.Namespace; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.MultiPolygon; +import org.locationtech.jts.geom.Polygon; +import org.w3c.dom.DOMImplementation; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import javax.annotation.Nullable; +import javax.xml.namespace.QName; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.Result; +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; +import java.io.ByteArrayInputStream; +import java.io.StringReader; +import java.nio.charset.Charset; +import java.util.*; + +/** + * Created by francois on 18/05/17. + */ +public class ISO19139cheUtil { + + interface GeomWriter { + Object write(ExtentHelper.ExtentTypeCode code, MultiPolygon geometry) throws Exception; + } + + private static final GMLConfiguration GML3_CONFIG = new org.geotools.gml3.GMLConfiguration(); + + static { + @SuppressWarnings("unchecked") + Set props = ISO19139cheUtil.GML3_CONFIG.getProperties(); + QName toAdd = org.geotools.gml3.GMLConfiguration.NO_SRS_DIMENSION; + props.add(toAdd); + } + + public static final org.geotools.gml2.GMLConfiguration GML2_CONFIG = new org.geotools.gml2.GMLConfiguration(); + private static final Random RANDOM = new Random(); + public static final Namespace CHE_NAMESPACE = ISO19139cheNamespaces.CHE; + + static Parser gml3Parser() { + return new Parser(GML3_CONFIG); + } + + static Parser gml2Parser() { + return new Parser(GML2_CONFIG); + } + + public static Object posListToGM03Coords(Object node, Object coords, Object dim) { + + String[] coordsString = coords.toString().split("\\s+"); + + if (coordsString.length % 2 != 0) { + return "Error following data is not correct:" + coords.toString(); + } + + int dimension; + if (dim == null) { + dimension = 2; + } else { + try { + dimension = Integer.parseInt(dim.toString()); + } catch (NumberFormatException e) { + dimension = 2; + } + } + StringBuilder results = new StringBuilder(""); + + + for (int i = 0; i < coordsString.length; i++) { + if (i % dimension == 0) { + results.append(""); + results.append(coordsString[i]); + results.append(""); + } else if (i > 0) { + results.append(""); + results.append(coordsString[i]); + results.append(""); + } + } + + results.append(""); + try { + Source source = new StreamSource(new ByteArrayInputStream(results.toString().getBytes("UTF-8"))); + DocumentInfo d = ((NodeInfo) node).getConfiguration().buildDocument(source); + return SingletonIterator.makeIterator(d.iterateAxis(Axis.CHILD).next()); + } catch (Exception e) { + return e.getMessage(); + } + } + + public static String writeXml(Node doc) throws Exception { + // Prepare the DOM document for writing + Source source = new DOMSource(doc); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + // Prepare the output file + Result result = new StreamResult(out); + + // Write the DOM document to the file + Transformer xformer = TransformerFactoryFactory.getTransformerFactory().newTransformer(); + xformer.transform(source, result); + return out.toString("utf-8"); + } + + public static String writeXml(NodeInfo doc) throws Exception { + try { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + // Prepare the output file + Result result = new StreamResult(out); + // Write the DOM document to the file + Transformer xformer = TransformerFactoryFactory.getTransformerFactory().newTransformer(); + + xformer.transform(doc, result); + return out.toString("utf-8").replaceFirst("<\\?xml.+?>", "").replace("xmlns=\"\" ", ""); + } catch (Throwable e) { + return doc.getStringValue(); + } + } + + public static Object bbox(Object description, Object src) throws Exception { + + final NodeInfo ni = (NodeInfo) src; + return ISO19139cheUtil.combineAndWriteGeom(description, SingletonIterator.makeIterator(ni), new ISO19139cheUtil.GeomWriter() { + + public Object write(ExtentHelper.ExtentTypeCode code, MultiPolygon geometry) throws Exception { + + Envelope bbox = geometry.getEnvelopeInternal(); + + String template = "" + + "" + + "%s" + + "" + + "" + + "%s" + + "" + + "" + + "%s" + + "" + + "" + + "%s" + + "" + + "" + + "%s" + + "" + + ""; + + String extentTypeCode = code == ExtentHelper.ExtentTypeCode.EXCLUDE ? "false" : "true"; + String xml = String.format(template, extentTypeCode, bbox.getMinX(), bbox.getMinY(), bbox.getMaxX(), bbox.getMaxY()); + + Source source = new StreamSource(new ByteArrayInputStream(xml.getBytes("UTF-8"))); + DocumentInfo doc = ni.getConfiguration().buildDocument(source); + return SingletonIterator.makeIterator(doc); + } + }); + } + + public static Object multipolygon(Object description, Object src) throws Exception { + + final NodeInfo ni = ((NodeInfo) src); + return ISO19139cheUtil.combineAndWriteGeom(description, SingletonIterator.makeIterator(ni), new ISO19139cheUtil.GeomWriter() { + + public Object write(ExtentHelper.ExtentTypeCode code, MultiPolygon geometry) throws Exception { + geometry.setUserData(null); + final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + final Encoder encoder = new Encoder(GML3_CONFIG); + encoder.setIndenting(false); + encoder.setOmitXMLDeclaration(true); + encoder.setEncoding(Charset.forName("UTF-8")); + ExtentHelper.addGmlId(geometry); + encoder.encode(geometry, org.geotools.gml3.GML.geometryMember, outputStream); + + StringBuilder builder = new StringBuilder(""). + append(code == ExtentHelper.ExtentTypeCode.EXCLUDE ? "false" : "true"). + append(""); + + Source xml1 = new StreamSource(new ByteArrayInputStream(outputStream.toByteArray())); + DocumentInfo doc1 = ni.getConfiguration().buildDocument(xml1); + AxisIterator iter = doc1.iterateAxis(Axis.CHILD); + NodeInfo next = (NodeInfo) iter.next(); + + while (next != null) { + AxisIterator iter2 = next.iterateAxis(Axis.CHILD); + Item next2 = iter2.next(); + + while (next2 != null) { + if (next2 instanceof NodeInfo && ((NodeInfo) next2).getNodeKind() == Type.ELEMENT) { + NodeInfo info = (NodeInfo) next2; + + String nodeXml = ISO19139cheUtil.writeXml(info).replaceAll("LinearRing srsDimension=\"\\d\"", "LinearRing"); + builder.append(nodeXml); + } + next2 = iter2.next(); + } + next = (NodeInfo) iter.next(); + } + + builder.append(""); + + Source xmlSource = new StreamSource(new ByteArrayInputStream(builder.toString().getBytes("UTF-8"))); + DocumentInfo doc = ni.getConfiguration().buildDocument(xmlSource); + + return SingletonIterator.makeIterator(doc); + } + }); + + } + + public static Object combineAndWriteGeom(Object description, UnfailingIterator src, ISO19139cheUtil.GeomWriter writer) throws Exception { + + try { + Multimap geoms = ArrayListMultimap.create(); + + NodeInfo next = (NodeInfo) src.next(); + + while (next != null) { + if (!next.getLocalPart().equalsIgnoreCase("geographicElement")) { + AxisIterator childNodes = next.iterateAxis(Axis.CHILD); + + NodeInfo nextChild = (NodeInfo) childNodes.next(); + while (nextChild != null) { + geoms.putAll(ISO19139cheUtil.geometries(nextChild)); + nextChild = (NodeInfo) childNodes.next(); + } + + } + next = (NodeInfo) src.next(); + } + + GeometryFactory fac = new GeometryFactory(); + + MultiPolygon inclusion = null; + if (!geoms.get(true).isEmpty()) { + inclusion = ExtentHelper.joinPolygons(fac, geoms.get(true)); + } + MultiPolygon exclusion = null; + if (!geoms.get(false).isEmpty()) { + exclusion = ExtentHelper.joinPolygons(fac, geoms.get(false)); + } + + + Object result; + + if (inclusion == null) { + if (exclusion == null) { + result = src; + } else { + result = writer.write(ExtentHelper.ExtentTypeCode.EXCLUDE, exclusion); + } + } else if (exclusion == null) { + result = writer.write(ExtentHelper.ExtentTypeCode.INCLUDE, inclusion); + } else { + Pair diff = ExtentHelper.diff(fac, inclusion, exclusion); + result = writer.write(diff.one(), diff.two());; + } + + return result; + } catch (Throwable t) { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + DOMImplementation impl = builder.getDOMImplementation(); + + Document ownerDocument = impl.createDocument(null, null, null); + Element root = ownerDocument.createElement("ERROR"); + root.setAttribute("msg", t.toString().replaceAll("\"", "'")); + StackTraceElement[] trace = t.getStackTrace(); + for (StackTraceElement stackTraceElement : trace) { + Element traceElem = ownerDocument.createElement("trace"); + traceElem.setTextContent(stackTraceElement.toString()); + root.appendChild(traceElem); + } + return root; + } + } + static Multimap geometries(NodeInfo next) throws Exception { + Boolean inclusion = ISO19139cheUtil.inclusion(next); + inclusion = inclusion == null ? Boolean.TRUE : inclusion; + Polygon geom = ISO19139cheUtil.geom(next); + Multimap geoms = ArrayListMultimap.create(); + geoms.put(inclusion, geom); + return geoms; + } + + static Polygon geom(NodeInfo next) throws Exception { + + if ("Polygon".equals(next.getLocalPart())) { + return ISO19139cheUtil.parsePolygon(next); + } + AxisIterator childNodes = next.iterateAxis(Axis.CHILD); + NodeInfo curChildNode = (NodeInfo) childNodes.next(); + + while (curChildNode != null) { + Polygon geom = geom(curChildNode); + if (geom != null) { + return geom; + } + curChildNode = (NodeInfo) childNodes.next(); + } + return null; + } + + @SuppressWarnings("rawtypes") + static Polygon parsePolygon(NodeInfo next) throws Exception { + String writeXml = ISO19139cheUtil.writeXml(next); + + Object value = gml3Parser().parse(new StringReader(writeXml)); + if (value instanceof HashMap) { + HashMap map = (HashMap) value; + List geoms = new ArrayList(); + for (Object entry : map.values()) { + // all I can think about is throwing up, from SpatialIndexWriter, addToList, historic + if (entry instanceof Polygon) { + geoms.add((Polygon) entry); + } else if (entry instanceof Collection) { + Collection collection = (Collection) entry; + for (Object object : collection) { + geoms.add((Polygon) object); + } + } + } + if (geoms.isEmpty()) { + return null; + } else if (geoms.size() > 1) { + throw new AssertionError("Some how multiple polygons were parsed"); + } else { + return geoms.get(0); + } + + } else if (value == null) { + return null; + } else { + return (Polygon) value; + } + } + + static + @Nullable + Boolean inclusion(NodeInfo next) { + if ("extentTypeCode".equals(next.getLocalPart())) { + return booleanText(next); + } + AxisIterator childNodes = next.iterateAxis(Axis.CHILD); + NodeInfo nextChild = (NodeInfo) childNodes.next(); + + while (nextChild != null) { + Boolean inclusion = inclusion(nextChild); + if (inclusion != null) { + return inclusion; + } + nextChild = (NodeInfo) childNodes.next(); + + } + return null; + } + + static Boolean booleanText(NodeInfo next) { + AxisIterator childNodes = next.iterateAxis(Axis.CHILD); + + NodeInfo nextChild = (NodeInfo) childNodes.next(); + + while (nextChild != null) { + if ("Boolean".equals(nextChild.getLocalPart())) { + Item firstChild = nextChild.iterateAxis(Axis.CHILD).next(); + if (firstChild != null) { + String textContent = firstChild.getStringValue(); + return "1".equals(textContent) || "true".equalsIgnoreCase(textContent); + } + } + nextChild = (NodeInfo) childNodes.next(); + } + return true; + } + + +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/GM03_2.xsd b/iso19139.che/src/main/plugin/iso19139.che/GM03_2.xsd new file mode 100644 index 00000000000..4b76283d3d8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/GM03_2.xsd @@ -0,0 +1,6383 @@ + + + + 4.0.1-20081114 + + Units + 2005-06-06 + http://www.interlis.ch/models + + + CodeISO + 20060808 + http://www.kogis.ch + + + GM03_2Core + 20081211 + http://www.kogis.ch + + + GM03_2Comprehensive + 20081211 + http://www.kogis.ch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iso19139.che/src/main/plugin/iso19139.che/GM03_2_1.xsd b/iso19139.che/src/main/plugin/iso19139.che/GM03_2_1.xsd new file mode 100644 index 00000000000..e9a7317fe52 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/GM03_2_1.xsd @@ -0,0 +1,4800 @@ + + + + 4.4.8-20120831 + + Units + 2005-06-06 + http://www.interlis.ch/models + ili23AnnexB + + + CodeISO + 20060808 + http://www.kogis.ch + ili23AnnexB + + + GM03_2_1Core + 20130121 + http://www.kogis.ch + ili23AnnexB + + + GM03_2_1Comprehensive + 20130121 + http://www.kogis.ch + ili23AnnexB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iso19139.che/src/main/plugin/iso19139.che/config/associated-panel/default.json b/iso19139.che/src/main/plugin/iso19139.che/config/associated-panel/default.json new file mode 100644 index 00000000000..d33daaa37c9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/config/associated-panel/default.json @@ -0,0 +1,54 @@ +{ + "config": { + "display": "radio", + "types": [{ + "label": "addOnlinesrc", + "sources": { + "filestore": true + }, + "icon": "fa gn-icon-onlinesrc", + "process": "onlinesrc-add", + "fields": { + "protocol": { + "value": "WWW:LINK", + "isMultilingual": false, + "required": true, + "tooltip": "gmd:protocol" + }, + "url": { + "isMultilingual": false, + "required": true, + "tooltip": "gmd:URL" + }, + "name": {"tooltip": "gmd:name"}, + "desc": {"tooltip": "gmd:description"}, + "function": { + "isMultilingual": false, + "tooltip": "gmd:function" + }, + "applicationProfile": { + "isMultilingual": false, + "tooltip": "gmd:applicationProfile" + } + } + }, { + "label": "addThumbnail", + "sources": { + "filestore": true, + "thumbnailMaker": true + }, + "icon": "fa gn-icon-thumbnail", + "fileStoreFilter": "*.{jpg,JPG,jpeg,JPEG,png,PNG,gif,GIF}", + "process": "thumbnail-add", + "fields": { + "url": { + "param": "thumbnail_url", + "isMultilingual": false, + "required": true + }, + "name": {"param": "thumbnail_desc"} + } + }], + "multilingualFields": ["name", "desc"] + } +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/19139CHE-to-GM03.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/19139CHE-to-GM03.xsl new file mode 100644 index 00000000000..c5a7a0c5562 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/19139CHE-to-GM03.xsl @@ -0,0 +1,400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unknown metadata element + + + + + + + de + de + fr + fr + it + en + rm + rm + aa + + ERROR_ + + + + + + + + + + + + + de + + + + + + + + + + + + + + +

</plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:if> + <xsl:if test="normalize-space(gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[@locale = $defaultLanguage]) != ''"> + <xsl:for-each select="gco:CharacterString[normalize-space(.) != '']"> + <GM03_2_1Core.Core.PT_Group> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainText><xsl:value-of select="."/></plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:for-each> + </xsl:if> + <xsl:for-each select="gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[normalize-space(text())!='']"> + <GM03_2_1Core.Core.PT_Group> + <xsl:apply-templates mode="text" select="@locale"/> + <plainText><xsl:value-of select="."/></plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:for-each> + </textGroup> + </GM03_2_1Core.Core.PT_FreeText> + </xsl:for-each> + </xsl:element> + </xsl:if> + </xsl:template> + + <xsl:template mode="textGroup" match="*" priority="2"> + <xsl:element name="{local-name(.)}"> + <GM03_2_1Core.Core.PT_FreeText> + <textGroup> + <xsl:if test="normalize-space(.)=''"> + <GM03_2_1Core.Core.PT_Group> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainText></plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:if> + <xsl:for-each select="gco:CharacterString[normalize-space(.) != '' + and not(../gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[lower-case(@locale) = concat('#',$defaultLanguage)]) and normalize-space(.) != ''] "> + <GM03_2_1Core.Core.PT_Group> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainText><xsl:value-of select="."/></plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:for-each> + <xsl:for-each select="gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[normalize-space(text())!='']"> + <GM03_2_1Core.Core.PT_Group> + <xsl:apply-templates mode="text" select="@locale"/> + <plainText><xsl:value-of select="."/></plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:for-each> + </textGroup> + </GM03_2_1Core.Core.PT_FreeText> + </xsl:element> + </xsl:template> + + <xsl:template mode="text_" match="*"> + <xsl:element name="{local-name(.)}"> + <GM03_2_1Core.Core.CharacterString_> + <value><xsl:value-of select="."/></value> + </GM03_2_1Core.Core.CharacterString_> + </xsl:element> + </xsl:template> + <xsl:template mode="text" match="*[@xsi:type='gmd:PT_FreeText_PropertyType']" priority="2"> + + <xsl:if test="normalize-space(.) != ''"> + <xsl:element name="{local-name(.)}"> + <GM03_2_1Core.Core.PT_FreeText> + <textGroup> + <xsl:if test="normalize-space(.)=''"> + <GM03_2_1Core.Core.PT_Group> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainText></plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:if> + <xsl:for-each select="gco:CharacterString[normalize-space(.) != '' + and not(../gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[lower-case(@locale) = concat('#',$defaultLanguage) and normalize-space(.) != ''])]"> + <GM03_2_1Core.Core.PT_Group> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainText><xsl:value-of select="."/></plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:for-each> + <xsl:for-each select="gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[normalize-space(.) != '']"> + <GM03_2_1Core.Core.PT_Group> + <xsl:apply-templates mode="text" select="@locale"/> + <plainText><xsl:value-of select="."/></plainText> + </GM03_2_1Core.Core.PT_Group> + </xsl:for-each> + </textGroup> + </GM03_2_1Core.Core.PT_FreeText> + </xsl:element> + </xsl:if> + </xsl:template> + + <xsl:template mode="text" match="*[gco:CharacterString]" priority="1"> + <xsl:if test="normalize-space(.) != ''"> + <xsl:element name="{local-name(.)}"> + <xsl:value-of select="gco:CharacterString"/> + </xsl:element> + </xsl:if> + </xsl:template> + + <xsl:template mode="text" match="*[gco:Real]"> + <xsl:element name="{local-name(.)}"> + <xsl:value-of select="gco:Real"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="text" match="*[gco:Integer]"> + <xsl:element name="{local-name(.)}"> + <xsl:value-of select="gco:Integer"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="text" match="*[gco:Decimal]"> + <xsl:element name="{local-name(.)}"> + <xsl:value-of select="gco:Decimal"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="text" match="*[gco:Boolean]"> + <xsl:element name="{local-name(.)}"> + <!-- In Interlis and GM03, Boolean type is String. + List of value is true and false only. + Transform valid xsd:boolean value (0, 1, true, false) to + valid ili values. --> + <xsl:choose> + <xsl:when test="gco:Boolean='0'">false</xsl:when> + <xsl:when test="gco:Boolean='1'">true</xsl:when> + <xsl:otherwise><xsl:value-of select="gco:Boolean"/></xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:template> + + <xsl:template mode="text" match="*[*/@codeListValue]"> + <xsl:for-each select="*"> + <xsl:element name="{local-name(..)}"> + <xsl:value-of select="@codeListValue"/> + </xsl:element> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="text" match="*[*/@uom='m']"> + <xsl:for-each select="*"> + <xsl:element name="{local-name(..)}"> + <xsl:value-of select="."/> + </xsl:element> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="text" match="@locale"> + <language><xsl:choose> + <xsl:when test=".='#DE'">de</xsl:when> + <xsl:when test=".='#FR'">fr</xsl:when> + <xsl:when test=".='#IT'">it</xsl:when> + <xsl:when test=".='#EN'">en</xsl:when> + <xsl:when test=".='#RM'">rm</xsl:when> + <xsl:when test=".='#AA'">aa</xsl:when> + <xsl:otherwise><xsl:value-of select="substring(., 2)"/></xsl:otherwise> + </xsl:choose></language> + </xsl:template> + + <xsl:template mode="characterString" match="*[gco:CharacterString and normalize-space(gco:CharacterString) != '']"> + <xsl:element name="{local-name(.)}"> + <xsl:value-of select="gco:CharacterString"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="text" match="*[@xsi:type='che:PT_FreeURL_PropertyType' or gmd:URL or che:LocalisedURL]" priority="2"> + <xsl:element name="{local-name(.)}"> + <GM03_2_1Core.Core.PT_FreeURL> + <URLGroup> + <xsl:if test="normalize-space(.)=''"> + <GM03_2_1Core.Core.PT_URLGroup> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainURL></plainURL> + </GM03_2_1Core.Core.PT_URLGroup> + </xsl:if> + <xsl:for-each select="gmd:URL[normalize-space(.) != '']"> + <GM03_2_1Core.Core.PT_URLGroup> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainURL><xsl:value-of select="."/></plainURL> + </GM03_2_1Core.Core.PT_URLGroup> + </xsl:for-each> + <xsl:for-each select="che:LocalisedURL[normalize-space(.) != '']"> + <GM03_2_1Core.Core.PT_URLGroup> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainURL><xsl:value-of select="."/></plainURL> + </GM03_2_1Core.Core.PT_URLGroup> + </xsl:for-each> + <xsl:for-each select="che:PT_FreeURL/che:URLGroup/che:LocalisedURL[normalize-space(.) != '']"> + <GM03_2_1Core.Core.PT_URLGroup> + <xsl:apply-templates mode="text" select="@locale"/> + <plainURL><xsl:value-of select="."/></plainURL> + </GM03_2_1Core.Core.PT_URLGroup> + </xsl:for-each> + </URLGroup> + </GM03_2_1Core.Core.PT_FreeURL> + </xsl:element> + </xsl:template> + + <xsl:template mode="text" match="*[gco:Date]"> + <xsl:element name="{local-name(.)}"> + <xsl:value-of select="gco:Date"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="text" match="*[gco:DateTime]"> + <xsl:element name="{local-name(.)}"> + <xsl:value-of select="gco:DateTime"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="text" match="*[count(*)=0]"> + </xsl:template> + + <xsl:template mode="enum" match="*"> + <xsl:element name="{local-name(.)}"> + <xsl:for-each select="*"> + <xsl:element name="GM03_2_1Core.Core.{local-name(.)}_"> + <value><xsl:value-of select="@codeListValue"/></value> + </xsl:element> + </xsl:for-each> + </xsl:element> + </xsl:template> + + <xsl:template mode="groupEnum" match="*"> + <xsl:param name="element"/> + <xsl:param name="newName"/> + <xsl:if test="*[local-name(.) = $element]"> + <xsl:element name="{$element}"> + <xsl:for-each select="*[local-name(.) = $element]"> + <xsl:element name="{$newName}"> + <value><xsl:value-of select="*/@codeListValue"/></value> + </xsl:element> + </xsl:for-each> + </xsl:element> + </xsl:if> + </xsl:template> + + <xsl:template mode="enumISO" match="*"> + <xsl:param name="name"/> + <xsl:param name="element"/> + <xsl:param name="lowercase">0</xsl:param> + <xsl:if test="*[local-name()=$element]"> + <xsl:element name="{$element}"> + <xsl:for-each select="*[local-name()=$element]/*"> + <xsl:element name="{$name}"> + <value> + <xsl:choose> + <xsl:when test="$element='language' and $lowercase='0'"> + <xsl:call-template name="lang3_to_lang2"> + <xsl:with-param name="lang3" select="@codeListValue"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$element='language'"> + <xsl:variable name="code"> + <xsl:call-template name="lang3_to_lang2"> + <xsl:with-param name="lang3" select="@codeListValue"/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="translate($code, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/> + </xsl:when> + <xsl:when test="$lowercase='0'"> + <xsl:value-of select="@codeListValue"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="translate(@codeListValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/> + </xsl:otherwise> + </xsl:choose> + </value> + </xsl:element> + </xsl:for-each> + </xsl:element> + </xsl:if> + </xsl:template> + + <xsl:template mode="enumC" match="*"> + <xsl:element name="{local-name(.)}"> + <xsl:for-each select="*"> + <xsl:element name="GM03_2_1Comprehensive.Comprehensive.{local-name(.)}_"> + <value><xsl:value-of select="@codeListValue"/></value> + </xsl:element> + </xsl:for-each> + </xsl:element> + </xsl:template> + + <xsl:template mode="groupEnumC" match="*"> + <xsl:param name="element"/> + <xsl:if test="*[local-name()=$element]"> + <xsl:element name="{$element}"> + <xsl:for-each select="*[local-name()=$element]/*"> + <xsl:element name="GM03_2_1Comprehensive.Comprehensive.{local-name(.)}_"> + <value><xsl:value-of select="@codeListValue"/></value> + </xsl:element> + </xsl:for-each> + </xsl:element> + </xsl:if> + </xsl:template> + + <xsl:template mode="text" match="*" priority="-100"> + <ERROR>Unknown text element <xsl:value-of select="local-name(.)" /> with parent <xsl:value-of select="local-name(..)" /></ERROR> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/content.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/content.xsl new file mode 100644 index 00000000000..0e8359c7b9f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/content.xsl @@ -0,0 +1,335 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd gml util"> + + <xsl:template mode="Content" match="gmd:MD_CoverageDescription|che:CHE_MD_CoverageDescription"> + <GM03_2_1Comprehensive.Comprehensive.MD_CoverageDescription TID="x{util:randomId()}"> + <BACK_REF name="MD_Metadata"/> + <xsl:apply-templates mode="Content" select="gmd:attributeDescription"/> + <xsl:apply-templates mode="text" select="gmd:contentType"/> + <xsl:apply-templates mode="Content" select="gmd:dimension"/> + <xsl:apply-templates mode="text" select="che:filmType"/> + <xsl:apply-templates mode="text" select="che:focalDistance"/> + </GM03_2_1Comprehensive.Comprehensive.MD_CoverageDescription> + </xsl:template> + + <xsl:template mode="Content" match="che:CHE_MD_FeatureCatalogueDescription|gmd:MD_FeatureCatalogueDescription"> + <xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable> + <xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable> + <GM03_2_1Comprehensive.Comprehensive.MD_FeatureCatalogueDescription TID="x{util:randomId()}"> + <BACK_REF name="MD_Metadata"/> + <xsl:if test="gmd:language"> + <language> + <xsl:for-each select="gmd:language/gco:CharacterString"> + <CodeISO.LanguageCodeISO_> + <value> + <xsl:call-template name="lang3_to_lang2"> + <xsl:with-param name="lang3" select="translate(.,$ucletters,$lcletters)"/> + </xsl:call-template> + </value> + </CodeISO.LanguageCodeISO_> + </xsl:for-each> + </language> + </xsl:if> + <xsl:apply-templates mode="text" select="gmd:includedWithDataset"/> + <xsl:apply-templates mode="text" select="gmd:complianceCode"/> + <xsl:if test="gmd:featureTypes"> + <featureTypes> + <xsl:for-each select="gmd:featureTypes/*"> + <GM03_2_1Comprehensive.Comprehensive.GenericName_> + <value> + <xsl:value-of select="."/> + </value> + </GM03_2_1Comprehensive.Comprehensive.GenericName_> + </xsl:for-each> + </featureTypes> + </xsl:if> + <xsl:choose> + <xsl:when test="lower-case(che:modelType/che:CHE_MD_modelTypeCode/@codeListValue) = 'other'"> + <modelType>other</modelType> + </xsl:when> + <xsl:when test="che:modelType"> + <modelType><xsl:value-of select="che:modelType/che:CHE_MD_modelTypeCode/@codeListValue"/></modelType> + </xsl:when> + <xsl:otherwise> + <modelType>other</modelType> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="text" select="che:dataModel"/> + <xsl:apply-templates mode="Content" select="che:class"/> + <xsl:apply-templates mode="Content" select="che:domain"/> + <xsl:apply-templates mode="text" select="che:portrayalCatalogueURL"/> + <xsl:apply-templates mode="Content" select="gmd:featureCatalogueCitation"/> + </GM03_2_1Comprehensive.Comprehensive.MD_FeatureCatalogueDescription> + </xsl:template> + + + <xsl:template mode="Content" match="gmd:dimension"> + <GM03_2_1Comprehensive.Comprehensive.dimensionMD_CoverageDescription TID="x{util:randomId()}"> + <dimension REF="?"> + <xsl:apply-templates mode="Content"/> + </dimension> + <BACK_REF name="MD_CoverageDescription"/> + </GM03_2_1Comprehensive.Comprehensive.dimensionMD_CoverageDescription> + </xsl:template> + + + <xsl:template mode="Content" match="che:class"> + <GM03_2_1Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription TID="x{util:randomId()}"> + <class REF="?"> + <xsl:apply-templates mode="Content"/> + </class> + <BACK_REF name="MD_FeatureCatalogueDescription"/> + </GM03_2_1Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription> + </xsl:template> + + <xsl:template mode="Content" match="gmd:MD_Band"> + <GM03_2_1Comprehensive.Comprehensive.MD_Band TID="x{util:randomId()}"> + <xsl:apply-templates mode="Content" select="gmd:sequenceIdentifier/gco:MemberName/gco:aName"/> + <xsl:apply-templates mode="text" select="gmd:descriptor"/> + <xsl:apply-templates mode="text" select="gmd:maxValue"/> + <xsl:apply-templates mode="text" select="gmd:minValue"/> + <xsl:apply-templates mode="Content" select="gmd:units"/> + <xsl:apply-templates mode="text" select="gmd:peakResponse"/> + <xsl:apply-templates mode="text" select="gmd:bitsPerValue"/> + <xsl:apply-templates mode="text" select="gmd:toneGradation"/> + <xsl:apply-templates mode="text" select="gmd:scaleFactor"/> + <xsl:apply-templates mode="text" select="gmd:offset"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Band> + </xsl:template> + + <xsl:template mode="Content" match="gmd:MD_RangeDimension"> + <GM03_2_1Comprehensive.Comprehensive.MD_RangeDimension TID="x{util:randomId()}"> + <xsl:apply-templates mode="Content" select="gmd:sequenceIdentifier/gco:MemberName/gco:aName"/> + <xsl:apply-templates mode="text" select="gmd:descriptor"/> + </GM03_2_1Comprehensive.Comprehensive.MD_RangeDimension> + </xsl:template> + + <xsl:template mode="Content" match="gco:aName"> + <sequenceIdentifier><xsl:value-of select="."/></sequenceIdentifier> + </xsl:template> + + <xsl:template mode="Content" match="che:CHE_MD_Class"> + <GM03_2_1Comprehensive.Comprehensive.MD_Class TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="che:name"/> + <xsl:apply-templates mode="forceGroupText" select="che:description"/> + <xsl:apply-templates mode="Content" select="che:baseClass"/> + <xsl:apply-templates mode="Content" select="che:subClass"/> + <xsl:apply-templates mode="Content" select="che:attribute"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Class> + </xsl:template> + + <xsl:template mode="Content" match="che:attribute"> + <GM03_2_1Comprehensive.Comprehensive.MD_Attribute TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="che:name"/> + <xsl:apply-templates mode="forceGroupText" select="che:description"/> + <xsl:apply-templates mode="Content" select="che:namedType"/> + <BACK_REF name="MD_AbstractClass"/> + <xsl:apply-templates mode="Content" select="che:anonymousType"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Attribute> + </xsl:template> + + <xsl:template mode="forceGroupText" match="*"> + <xsl:choose> + <xsl:when test="gmd:PT_FreeText"> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element" select="local-name(.)"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="gco:CharacterString[normalize-space(.) != '']"> + <xsl:element name="{local-name(.)}"> + <GM03_2_1Core.Core.PT_FreeText> + <textGroup> + <GM03_2_1Core.Core.PT_Group> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainText><xsl:value-of select="gco:CharacterString"/></plainText> + </GM03_2_1Core.Core.PT_Group> + </textGroup> + </GM03_2_1Core.Core.PT_FreeText> + </xsl:element> + </xsl:when> + </xsl:choose> + </xsl:template> + + <xsl:template mode="Content" match="che:domain"> + <GM03_2_1Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription TID="x{util:randomId()}"> + <domain REF="?"> + <xsl:apply-templates mode="Content" select="che:CHE_MD_CodeDomain"/> + </domain> + <BACK_REF name="MD_FeatureCatalogueDescription"/> + </GM03_2_1Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription> + </xsl:template> + + <xsl:template mode="Content" match="che:type"> + <xsl:if test="normalize-space(gco:CharacterString) != ''"> + <type REF="?"> + <GM03_2_1Comprehensive.Comprehensive.MD_Type TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="che:type"/> + <xsl:apply-templates mode="Content" select="che:value/che:CHE_MD_CodeValue"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Type> + </type> + </xsl:if> + </xsl:template> + + <xsl:template mode="Content" match="che:anonymousType"> + <anonymousType REF="?"> + <xsl:apply-templates mode="Content" select="che:CHE_MD_Type"/> + </anonymousType> + </xsl:template> + + <xsl:template mode="Content" match="che:CHE_MD_Type"> + <GM03_2_1Comprehensive.Comprehensive.MD_Type TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="che:type" /> + <xsl:apply-templates mode="Content" select="che:value/che:CHE_MD_CodeValue" /> + </GM03_2_1Comprehensive.Comprehensive.MD_Type> + </xsl:template> + + <xsl:template mode="Content" match="che:CHE_MD_CodeValue"> + <GM03_2_1Comprehensive.Comprehensive.MD_CodeValue TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="che:name"/> + <xsl:apply-templates mode="text" select="che:code"/> + <xsl:apply-templates mode="text" select="che:description"/> + <xsl:apply-templates mode="Content" select="che:subValue/che:CHE_MD_CodeValue"/> + <xsl:choose> + <xsl:when test="name(..) = 'che:value'"> + <BACK_REF name="MD_Type"/> + </xsl:when> + <xsl:otherwise> + <BACK_REF name="MD_CodeValue"/> + </xsl:otherwise> + </xsl:choose> + </GM03_2_1Comprehensive.Comprehensive.MD_CodeValue> + </xsl:template> + + <xsl:template mode="Content" match="che:CHE_MD_CodeDomain"> + <GM03_2_1Comprehensive.Comprehensive.MD_CodeDomain TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="che:name" /> + <xsl:apply-templates mode="text" select="che:description" /> + <xsl:apply-templates mode="Content" select="che:baseDomain" /> + <xsl:apply-templates mode="Content" select="che:type" /> + </GM03_2_1Comprehensive.Comprehensive.MD_CodeDomain> + </xsl:template> + + <xsl:template mode="Content" match="che:baseDomain"> + <baseDomain REF="?"> + <xsl:apply-templates mode="Content" select="che:CHE_MD_CodeDomain" /> + </baseDomain> + </xsl:template> + + <xsl:template mode="Content" match="che:namedType"> + <xsl:if test="./*"> + <GM03_2_1Comprehensive.Comprehensive.MD_AttributenamedType TID="x{util:randomId()}"> + <BACK_REF name="MD_Attribute"/> + <namedType REF="?"> + <xsl:apply-templates mode="Content"/> + </namedType> + </GM03_2_1Comprehensive.Comprehensive.MD_AttributenamedType> + </xsl:if> + </xsl:template> + + <xsl:template mode="Content" match="gmd:featureCatalogueCitation"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="gmd:units"> + <units><xsl:value-of select=".//(gml:catalogSymbol|gml320:catalogSymbol)"/></units> + </xsl:template> + <xsl:template mode="Content" match="che:dataModel"> + <xsl:choose> + <xsl:when test="normalize-space(text()) = ''"> + <dataModel> + <GM03_2_1Core.Core.PT_FreeURL> + <URLGroup> + <GM03_2_1Core.Core.PT_URLGroup> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainURL/> + </GM03_2_1Core.Core.PT_URLGroup> + </URLGroup> + </GM03_2_1Core.Core.PT_FreeURL> + </dataModel> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="text" select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <xsl:template mode="Content" match="che:modelType"> + <xsl:apply-templates mode="text" select="."/> + </xsl:template> + + <xsl:template mode="Content" match="gmd:CI_Citation"> + <GM03_2_1Comprehensive.Comprehensive.CI_Citation TID="x{util:randomId()}"> + <xsl:apply-templates mode="textGroup" select="gmd:title"/> + <xsl:apply-templates mode="text" select="gmd:edition"/> + <xsl:apply-templates mode="text" select="gmd:editionDate"/> + <xsl:apply-templates mode="groupEnum" select="."> + <xsl:with-param name="element">presentationForm</xsl:with-param> + <xsl:with-param name="newName">GM03_2_1Comprehensive.Comprehensive.CI_PresentationFormCode_</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="text" select="gmd:ISBN"/> + <xsl:apply-templates mode="text" select="gmd:ISSN"/> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">alternateTitle</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="text" select="gmd:collectiveTitle"/> + <xsl:apply-templates mode="text" select="gmd:otherCitationDetails"/> + <BACK_REF name="MD_FeatureCatalogueDescription"/> + <xsl:apply-templates mode="RefSystem" select="gmd:series/gmd:CI_Series"/> + + <xsl:apply-templates mode="RefSystem" select="gmd:date"/> + + <!-- not mapped --> + <xsl:apply-templates mode="DataIdentification" select="gmd:identifier"/> + <xsl:apply-templates mode="RefSystem" select="gmd:citedResponsibleParty"/> + </GM03_2_1Comprehensive.Comprehensive.CI_Citation> + + </xsl:template> + + + <xsl:template mode="Content" match="gmd:attributeDescription"> + <attributeDescription><xsl:value-of select="gco:RecordType"/></attributeDescription> + </xsl:template> + + <xsl:template mode="Content" match="che:filmType"> + <filmType><xsl:value-of select="che:CHE_MD_FilmTypeCode/@codeListValue"/></filmType> + </xsl:template> + + <xsl:template mode="Content" match="gmd:MD_ImageDescription|che:CHE_MD_ImageDescription"> + <GM03_2_1Comprehensive.Comprehensive.MD_ImageDescription TID="x{util:randomId()}"> + <BACK_REF name="MD_Metadata"/> + <xsl:apply-templates mode="Content" select="gmd:attributeDescription"/> + <xsl:apply-templates mode="text" select="gmd:contentType"/> + <xsl:apply-templates mode="Content" select="che:filmType"/> + <xsl:apply-templates mode="text" select="che:focalDistance"/> + <xsl:apply-templates mode="text" select="gmd:illuminationElevationAngle"/> + <xsl:apply-templates mode="text" select="gmd:illuminationAzimuthAngle"/> + <xsl:apply-templates mode="text" select="gmd:imagingCondition"/> + <xsl:apply-templates mode="text" select="gmd:cloudCoverPercentage"/> + <xsl:apply-templates mode="text" select="gmd:compressionGenerationQuantity"/> + <xsl:apply-templates mode="text" select="gmd:triangulationIndicator"/> + <xsl:apply-templates mode="text" select="gmd:radiometricCalibrationDataAvailability"/> + <xsl:apply-templates mode="text" select="gmd:cameraCalibrationInformationAvailability"/> + <xsl:apply-templates mode="text" select="gmd:filmDistortionInformationAvailability"/> + <xsl:apply-templates mode="text" select="gmd:lensDistortionInformationAvailability"/> + + <imageQualityCode REF="?"> + <xsl:apply-templates mode="Extent" select="gmd:imageQualityCode/gmd:MD_Identifier"/> + </imageQualityCode> + <processingLevelCode REF="?"> + <xsl:apply-templates mode="Extent" select="gmd:processingLevelCode/gmd:MD_Identifier"/> + </processingLevelCode> + </GM03_2_1Comprehensive.Comprehensive.MD_ImageDescription> + </xsl:template> + + <xsl:template mode="Content" match="*" priority="-100"> + <ERROR>Unknown Content element <xsl:value-of select="local-name(..)"/>/<xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/data-quality.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/data-quality.xsl new file mode 100644 index 00000000000..ff841f3c33b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/data-quality.xsl @@ -0,0 +1,429 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:gmi="http://www.isotc211.org/2005/gmi" + xmlns:xalan="http://xml.apache.org/xalan" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd gml xalan gmi util"> + + <xsl:template mode="DataQuality" match="gmd:DQ_DataQuality"> + <GM03_2_1Core.Core.DQ_DataQuality TID="x{util:randomId()}"> + <BACK_REF name="MD_Metadata"/> + <xsl:apply-templates mode="DataQuality" select="gmd:scope"/> + <xsl:apply-templates mode="DataQuality" select="gmd:report"/> + <xsl:apply-templates mode="DataQuality" select="gmd:lineage"/> + </GM03_2_1Core.Core.DQ_DataQuality> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:scope|gmd:lineage"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:LI_Source"> + <GM03_2_1Comprehensive.Comprehensive.sourceLI_Lineage TID="x{util:randomId()}"> + <source REF="?"> + <GM03_2_1Comprehensive.Comprehensive.LI_Source TID="x2{generate-id(.)}"> + <xsl:apply-templates mode="textGroup" select="gmd:description" /> + <xsl:apply-templates mode="DataQuality" select="gmd:scaleDenominator" /> + <xsl:apply-templates mode="DataQuality" select="gmd:sourceCitation" /> + <xsl:apply-templates mode="DataQuality" select="gmd:sourceReferenceSystem" /> + + +<!-- Doesn't seem to be part of the gm03 schema --> +<!-- <xsl:apply-templates mode="DataQuality" select="gmd:sourceExtent" />--> + <xsl:apply-templates mode="DataQuality" select="gmd:sourceStep" /> + </GM03_2_1Comprehensive.Comprehensive.LI_Source> + </source> + <BACK_REF name="LI_Lineage" /> + </GM03_2_1Comprehensive.Comprehensive.sourceLI_Lineage> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:scaleDenominator"> + <scaleDenominator REF="?"> + <xsl:apply-templates mode="DataIdentification" /> + </scaleDenominator> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:sourceReferenceSystem"> + <sourceReferenceSystem REF="?"> + <xsl:apply-templates mode="RefSystem" /> + </sourceReferenceSystem> + </xsl:template> + + + <xsl:template mode="DataQuality" match="gmd:sourceCitation"> + <sourceCitation REF="?"> + <xsl:apply-templates mode="DataIdentification" /> + </sourceCitation> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:sourceStep"> + <GM03_2_1Comprehensive.Comprehensive.sourceStepsource> + <sourceStep REF="?"> + <xsl:apply-templates mode="DataQuality" select="gmd:LI_ProcessStep" /> + </sourceStep> + + <source REF="../../?" /> + </GM03_2_1Comprehensive.Comprehensive.sourceStepsource> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:report"> + <xsl:variable name="report"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:variable> + <xsl:if test="count($report/*)>0"> + <GM03_2_1Comprehensive.Comprehensive.reportDQ_DataQuality TID="x{util:randomId()}"> + <report REF="?"> + <xsl:copy-of select="$report"/> + </report> + <BACK_REF name="DQ_Qualitiy" /> + </GM03_2_1Comprehensive.Comprehensive.reportDQ_DataQuality> + </xsl:if> + </xsl:template> + + + <xsl:template mode="DataQuality" match="gmd:extent"> + <GM03_2_1Comprehensive.Comprehensive.DQ_Scopeextent TID="x{util:randomId()}"> + <extent REF="?"> + <xsl:apply-templates mode="DataQuality" /> + </extent> + <BACK_REF name="DQ_Scope"/> + </GM03_2_1Comprehensive.Comprehensive.DQ_Scopeextent> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:EX_Extent"> + <GM03_2_1Core.Core.EX_Extent TID="x{util:randomId()}"> + <xsl:apply-templates mode="textGroup" select="gmd:description"/> + <xsl:apply-templates mode="Extent" select="gmd:geographicElement"/> + <xsl:apply-templates mode="Extent" select="gmd:temporalElement"/> + <xsl:apply-templates mode="Extent" select="gmd:verticalElement"/> + </GM03_2_1Core.Core.EX_Extent> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_Scope"> + <GM03_2_1Core.Core.DQ_Scope TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:level"/> + <BACK_REF name="DQ_DataQuality"/> + <xsl:apply-templates mode="DataQuality" select="gmd:extent"/> + <xsl:apply-templates mode="DataQuality" select="gmd:levelDescription/gmd:MD_ScopeDescription"/> + </GM03_2_1Core.Core.DQ_Scope> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:MD_ScopeDescription"> + <GM03_2_1Core.Core.MD_ScopeDescription TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:attributes"/> + <xsl:apply-templates mode="text" select="gmd:features"/> + <xsl:apply-templates mode="text" select="gmd:featureInstances"/> + <xsl:apply-templates mode="text" select="gmd:attributeInstances"/> + <xsl:apply-templates mode="text" select="gmd:dataset"/> + <xsl:apply-templates mode="text" select="gmd:other"/> + <BACK_REF name="DQ_Scope"/> + </GM03_2_1Core.Core.MD_ScopeDescription> + </xsl:template> + + + <xsl:template mode="DataQuality" match="gmd:DQ_TemporalValidity"> + <GM03_2_1Comprehensive.Comprehensive.DQ_TemporalValidity TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_TemporalValidity</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_TemporalValidity> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_TemporalConsistency"> + <GM03_2_1Comprehensive.Comprehensive.DQ_TemporalConsistency TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_TemporalConsistency</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_TemporalConsistency> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_AccuracyOfATimeMeasurement"> + <GM03_2_1Comprehensive.Comprehensive.DQ_AccuracyOfATimeMeasurement TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_AccuracyOfATimeMeasurement</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_AccuracyOfATimeMeasurement> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_QuantitativeAttributeAccuracy"> + <GM03_2_1Comprehensive.Comprehensive.DQ_QuantitativeAttributeAccuracy TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_QuantitativeAttributeAccuracy</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_QuantitativeAttributeAccuracy> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_NonQuantitativeAttributeAccuracy"> + <GM03_2_1Comprehensive.Comprehensive.DQ_NonQuantitativeAttributeAccuracy TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_NonQuantitativeAttributeAccuracy</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_NonQuantitativeAttributeAccuracy> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_ThematicClassificationCorrectness"> + <GM03_2_1Comprehensive.Comprehensive.DQ_ThematicClassificationCorrectness TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_ThematicClassificationCorrectness</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_ThematicClassificationCorrectness> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_RelativeInternalPositionalAccuracy"> + <GM03_2_1Comprehensive.Comprehensive.DQ_RelativeInternalPositionalAccuracy TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_RelativeInternalPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_RelativeInternalPositionalAccuracy> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_GriddedDataPositionalAccuracy"> + <GM03_2_1Comprehensive.Comprehensive.DQ_GriddedDataPositionalAccuracy TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_GriddedDataPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_GriddedDataPositionalAccuracy> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_AbsoluteExternalPositionalAccuracy"> + <GM03_2_1Comprehensive.Comprehensive.DQ_AbsoluteExternalPositionalAccuracy TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_AbsoluteExternalPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_AbsoluteExternalPositionalAccuracy> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_TopologicalConsistency"> + <GM03_2_1Comprehensive.Comprehensive.DQ_TopologicalConsistency TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_TopologicalConsistency</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_TopologicalConsistency> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_FormatConsistency"> + <GM03_2_1Comprehensive.Comprehensive.DQ_FormatConsistency TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_FormatConsistency</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_FormatConsistency> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_DomainConsistency"> + <GM03_2_1Comprehensive.Comprehensive.DQ_DomainConsistency TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_DomainConsistency</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_DomainConsistency> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_ConceptualConsistency"> + <GM03_2_1Comprehensive.Comprehensive.DQ_ConceptualConsistency TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_ConceptualConsistency</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_ConceptualConsistency> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_CompletenessOmission"> + <GM03_2_1Comprehensive.Comprehensive.DQ_CompletenessOmission TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_CompletenessOmission</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_CompletenessOmission> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:DQ_CompletenessCommission"> + <GM03_2_1Comprehensive.Comprehensive.DQ_CompletenessCommission TID="x{util:randomId()}"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="backRef">DQ_CompletenessCommission</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_CompletenessCommission> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmi:QE_Usability"> + <!-- XXX do nothing for now gm03 does not support this report --> + </xsl:template> + + + <xsl:template mode="DQ_Element" match="*"> + <xsl:param name="backRef"/> + <xsl:apply-templates mode="DataQuality" select="gmd:nameOfMeasure"/> + <xsl:apply-templates mode="text" select="gmd:measureDescription"/> + <xsl:apply-templates mode="text" select="gmd:evaluationMethodType"/> + <xsl:apply-templates mode="text" select="gmd:evaluationMethodDescription"/> + <xsl:if test="normalize-space(gmd:dateTime) != ''"> + <xsl:for-each select="gmd:dateTime[normalize-space(.) != '']"> + <dateTime> + <GM03_2_1Core.Core.DateTime_> + <value><xsl:value-of select="gmd:dateTime"/></value> + </GM03_2_1Core.Core.DateTime_> + </dateTime> + </xsl:for-each> + </xsl:if> + <xsl:apply-templates mode="DataQuality" select="gmd:measureIdentification"/> + <xsl:apply-templates mode="DataQuality" select="gmd:result"> + <xsl:with-param name="backRef" select="$backRef"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:result"> + <xsl:param name="backRef"/> + + <xsl:apply-templates mode="DataQualityResult"> + <xsl:with-param name="backRef" select="$backRef"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQualityResult" match="gmi:QE_CoverageResult"> + <!-- XXX Ignore for now --> + </xsl:template> + + <xsl:template mode="DataQualityResult" match="gmd:DQ_ConformanceResult"> + <xsl:param name="backRef"/> + <GM03_2_1Comprehensive.Comprehensive.DQ_ConformanceResult TID="x{util:randomId()}"> + <BACK_REF name="DQ_Element" /> + <xsl:apply-templates mode="characterString" select="gmd:explanation"/> + <xsl:apply-templates mode="text" select="gmd:pass"/> + <xsl:if test="gmd:specification/gmd:CI_Citation"> + <GM03_2_1Comprehensive.Comprehensive.CI_Citation TID="xCI{generate-id(.)}"> + <xsl:apply-templates mode="RefSystem" select="gmd:specification/gmd:CI_Citation"> + <xsl:with-param name="backRef">DQ_ConformanceResult</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.CI_Citation> + </xsl:if> + </GM03_2_1Comprehensive.Comprehensive.DQ_ConformanceResult> + </xsl:template> + + <xsl:template mode="DataQualityResult" match="gmd:DQ_QuantitativeResult"> + <xsl:param name="backRef"/> + <GM03_2_1Comprehensive.Comprehensive.DQ_QuantitativeResult TID="x{util:randomId()}"> + <BACK_REF name="DQ_Element" /> + <xsl:if test="normalize-space(gmd:valueType/gco:RecordType) != ''"> + <valueType><xsl:value-of select="gmd:valueType/gco:RecordType"/></valueType> + </xsl:if> + + <xsl:apply-templates mode="DataQualityResult" select="gmd:valueUnit"/> + <xsl:apply-templates mode="text" select="gmd:errorStatistic"/> + <xsl:apply-templates mode="DataQualityResult" select="gmd:value"/> + <xsl:apply-templates mode="RefSystem" select="gmd:specification/gmd:CI_Citation"> + <xsl:with-param name="backRef">DQ_QuantitativeResult</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.DQ_QuantitativeResult> + </xsl:template> + + <xsl:template mode="DataQualityResult" match="gmd:valueUnit"> + <valueUnit>m</valueUnit> + </xsl:template> + + <xsl:template mode="DataQualityResult" match="gmd:value"> + <xsl:choose> + <xsl:when test="gco:Record/text()"> + <value> + <GM03_2_1Comprehensive.Comprehensive.Record_> + <value><xsl:value-of select="gco:Record"/></value> + </GM03_2_1Comprehensive.Comprehensive.Record_> + </value> + </xsl:when> + <xsl:when test="gco:Record/node()"> + <value> + <GM03_2_1Comprehensive.Comprehensive.Record_> + <value> + <XMLBLBOX> + <xsl:copy-of select="gco:Record/*"/> + </XMLBLBOX> + </value> + </GM03_2_1Comprehensive.Comprehensive.Record_> + </value> + </xsl:when> + <xsl:otherwise> + <!-- Do nothing --> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:nameOfMeasure"> + <nameOfMeasure> + <GM03_2_1Core.Core.CharacterString_> + <value><xsl:value-of select="."/></value> + </GM03_2_1Core.Core.CharacterString_> + </nameOfMeasure> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:measureIdentification"> + <xsl:if test="normalize-space(text()) != ''"> + <measureIdentification REF="?"> + <xsl:apply-templates mode="RefSystem" select="gmd:RS_Identifier"/> + </measureIdentification> + </xsl:if> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:LI_Lineage"> + <GM03_2_1Core.Core.LI_Lineage TID="x{util:randomId()}"> + <xsl:apply-templates mode="textGroup" select="gmd:statement" /> + <BACK_REF name="DQ_DataQuality"/> + <xsl:apply-templates mode="DataQuality" select="gmd:processStep"> + <xsl:with-param name="backref" select="true()" /> + </xsl:apply-templates> + <xsl:apply-templates mode="DataQuality" select="gmd:source/gmd:LI_Source"/> + </GM03_2_1Core.Core.LI_Lineage> + </xsl:template> + + <xsl:template mode="DataQuality" match="gmd:processStep"> + <xsl:param name="backref" select="false()" /> + <xsl:apply-templates mode="DataQuality" select="gmd:LI_ProcessStep"> + <xsl:with-param name="backref" select="$backref" /> + </xsl:apply-templates> + </xsl:template> + <xsl:template mode="DataQuality" match="gmd:LI_ProcessStep"> + <xsl:param name="backref" select="false()" /> + <GM03_2_1Comprehensive.Comprehensive.LI_ProcessStep TID="x{util:randomId()}"> + <description> + <xsl:variable name="locale" > + <xsl:call-template name="lang3_to_lang2"> + <xsl:with-param name="lang3" select="$defaultLanguage" /> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="normalize-space(gco:CharacterString[text()]) != ''"> + <xsl:value-of select="gco:CharacterString" /> + </xsl:when> + <xsl:when test="normalize-space(.//gmd:LocalisedCharacterString[@locale = concat('#', upper-case($locale))]) = ''"> + <xsl:value-of select=".//gmd:LocalisedCharacterString[@locale = concat('#', upper-case($locale))]" /> + </xsl:when> + <xsl:when test=".//gmd:LocalisedCharacterString[normalize-space(text()) != '']"> + <xsl:value-of select="(.//gmd:LocalisedCharacterString[normalize-space(text()) != ''])[1]" /> + </xsl:when> + </xsl:choose> + </description> + <xsl:apply-templates mode="text" select="gmd:dateTime"/> + <xsl:apply-templates mode="text_" select="gmd:rationale"/> + <xsl:apply-templates mode="DataQuality" select="processor"/> + + <xsl:if test="$backref"> + <BACK_REF name="LI_Lineage"/> + </xsl:if> + </GM03_2_1Comprehensive.Comprehensive.LI_ProcessStep> + </xsl:template> + + <xsl:template mode="DQ_Element" match="*" priority="-100"> + <ERROR>Unknown DataQualityResult element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + + <xsl:template mode="DataQualityResult" match="*" priority="-100"> + <ERROR>Unknown DataQualityResult element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + + <xsl:template mode="DataQuality" match="*" priority="-100"> + <ERROR>Unknown DataQuality element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> +</xsl:stylesheet> + diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/distribution.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/distribution.xsl new file mode 100644 index 00000000000..586c76b8dfd --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/distribution.xsl @@ -0,0 +1,161 @@ +<xsl:stylesheet version="1.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd util"> + + <xsl:template mode="distribution" match="gmd:distributionInfo"> + <distributionInfo REF="?"> + <GM03_2_1Core.Core.MD_Distribution TID="x{util:randomId()}"> + <xsl:apply-templates mode="distribution"/> + </GM03_2_1Core.Core.MD_Distribution> + </distributionInfo> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:transferOptions"> + <xsl:apply-templates mode="distribution"/> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:distributor"> + <GM03_2_1Comprehensive.Comprehensive.MD_Distributiondistributor TID="x{util:randomId()}"> + <distributor REF="?"> + <xsl:apply-templates mode="distribution" select="./*"/> + </distributor> + <BACK_REF name="MD_Distribution"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Distributiondistributor> + + </xsl:template> + + <xsl:template mode="distribution" match="gmd:distributionOrderProcess"> + <GM03_2_1Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor TID="x{util:randomId()}"> + <distributionOrderProcess REF="?"> + <GM03_2_1Comprehensive.Comprehensive.MD_StandardOrderProcess TID="x2{generate-id(.)}"> + <xsl:apply-templates mode="text" select="gmd:MD_StandardOrderProcess/gmd:fees"/> + <xsl:apply-templates mode="text" select="gmd:MD_StandardOrderProcess/gmd:plannedAvailableDateTime"/> + <xsl:apply-templates mode="text" select="gmd:MD_StandardOrderProcess/gmd:turnaround"/> + <xsl:apply-templates mode="textGroup" select="gmd:MD_StandardOrderProcess/gmd:orderingInstructions"/> + </GM03_2_1Comprehensive.Comprehensive.MD_StandardOrderProcess> + </distributionOrderProcess> + <BACK_REF name="MD_Distributor"/> + </GM03_2_1Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:MD_DigitalTransferOptions"> + <xsl:param name="showBackRef" select="true()"/> + <GM03_2_1Comprehensive.Comprehensive.MD_DigitalTransferOptions TID="x{util:randomId()}"> + <xsl:if test="$showBackRef = true()"> + <BACK_REF name="MD_Distribution"/> + </xsl:if> + <xsl:apply-templates mode="distribution" select="gmd:MD_Distribution"/> + <xsl:apply-templates mode="text" select="gmd:unitsOfDistribution"/> + <xsl:apply-templates mode="text" select="gmd:transferSize"/> + <xsl:apply-templates mode="distribution" select="gmd:onLine/gmd:CI_OnlineResource"/> + <xsl:apply-templates mode="distribution" select="gmd:offLine"/> + </GM03_2_1Comprehensive.Comprehensive.MD_DigitalTransferOptions> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:CI_OnlineResource"> + <xsl:param name="backRef">true</xsl:param> + <GM03_2_1Core.Core.CI_OnlineResource TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:protocol"/> + <xsl:apply-templates mode="text" select="gmd:applicationProfile"/> + <xsl:apply-templates mode="text" select="gmd:function"/> + <xsl:if test="normalize-space(gmd:description)!=''"> + <xsl:apply-templates mode="textGroup" select="gmd:description"/> + </xsl:if> + + <xsl:if test="normalize-space(gmd:name)!=''"> + <xsl:apply-templates mode="textGroup" select="gmd:name"/> + </xsl:if> + <xsl:apply-templates mode="text" select="gmd:linkage"/> + <xsl:if test="$backRef = 'true'"> + <BACK_REF name="MD_DigitalTransferOptions"/> + </xsl:if> + </GM03_2_1Core.Core.CI_OnlineResource> + </xsl:template> + <xsl:template mode="distribution" match="gmd:offLine"> + <offLine REF="?"> + <xsl:apply-templates mode="distribution"/> + </offLine> + </xsl:template> + <xsl:template mode="distribution" match="gmd:MD_Medium"> + <GM03_2_1Comprehensive.Comprehensive.MD_Medium TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:name"/> + <xsl:apply-templates mode="text" select="gmd:density"/> + <xsl:apply-templates mode="text" select="gmd:densityUnits"/> + <xsl:apply-templates mode="text" select="gmd:volumes"/> + <xsl:apply-templates mode="text" select="gmd:mediumFormat"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Medium> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:MD_Distribution"> + <xsl:apply-templates mode="distribution"/> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:distributionFormat"> + <GM03_2_1Core.Core.MD_DistributiondistributionFormat TID="x{util:randomId()}"> + <BACK_REF name="MD_Distribution"/> + <distributionFormat REF="?"> + <xsl:apply-templates mode="distribution"/> + </distributionFormat> + </GM03_2_1Core.Core.MD_DistributiondistributionFormat> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:MD_Format"> + <xsl:param name="showDistributor" select="true()"/> + <GM03_2_1Comprehensive.Comprehensive.MD_Format TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:name"/> + <xsl:apply-templates mode="text" select="gmd:version"/> + <xsl:apply-templates mode="text" select="gmd:amendmentNumber"/> + <xsl:apply-templates mode="text" select="gmd:specification"/> + <xsl:apply-templates mode="text" select="gmd:fileDecompressionTechnique"/> + <xsl:if test="$showDistributor = true()"> + <xsl:apply-templates mode="distribution" select="gmd:formatDistributor"/> + </xsl:if> + </GM03_2_1Comprehensive.Comprehensive.MD_Format> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:formatDistributor"> + <GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat TID="x{util:randomId()}"> + <formatDistributor REF="?"> + <xsl:apply-templates mode="distribution"/> + </formatDistributor> + <BACK_REF name="distributorFormat"/> + </GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:MD_Distributor"> + <GM03_2_1Comprehensive.Comprehensive.MD_Distributor TID="x{util:randomId()}"> + <xsl:apply-templates mode="distribution" select="gmd:distributorContact"/> + <xsl:apply-templates mode="distribution" select="gmd:distributionOrderProcess"/> + <xsl:apply-templates mode="distribution" select="gmd:distributorTransferOptions"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Distributor> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:distributorContact"> + <distributorContact REF="?"> + <xsl:apply-templates mode="RespParty"/> <!-- the node taken by the REF, what follows will stay in place --> + <GM03_2_1Comprehensive.Comprehensive.MD_DistributordistributorContact> + <xsl:apply-templates mode="RespPartyRole"/> + </GM03_2_1Comprehensive.Comprehensive.MD_DistributordistributorContact> + </distributorContact> + </xsl:template> + + <xsl:template mode="distribution" match="gmd:distributorTransferOptions"> + <GM03_2_1Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor TID="x{util:randomId()}"> + <distributorTransferOptions REF="?"> + <xsl:apply-templates mode="distribution"> + <xsl:with-param name="showBackRef" select="false()"/> + </xsl:apply-templates> + </distributorTransferOptions> + <BACK_REF name="MD_Distributor"/> + </GM03_2_1Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor> + </xsl:template> + + <xsl:template mode="distribution" match="*"> + <ERROR>Unknown distribution element <xsl:value-of select="local-name(.)"/> child of <xsl:value-of select="local-name(..)"/> </ERROR> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/extent.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/extent.xsl new file mode 100644 index 00000000000..a1ea220ab15 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/extent.xsl @@ -0,0 +1,217 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:utilgc="java:org.fao.geonet.schema.iso19139che.ISO19139cheUtil" + xmlns:xalan="http://xml.apache.org/xalan" + exclude-result-prefixes="#all"> + + <xsl:template mode="Extent" match="gmd:extent"> + <xsl:apply-templates mode="Extent" select="gmd:EX_Extent"/> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:EX_Extent"> + <GM03_2_1Core.Core.EX_Extent TID="x{util:randomId()}"> + <xsl:apply-templates mode="textGroup" select="gmd:description"/> + <BACK_REF name="MD_DataIdentification"/> + <xsl:apply-templates mode="Extent" select="gmd:geographicElement"/> + <xsl:apply-templates mode="Extent" select="gmd:temporalElement"/> + <xsl:apply-templates mode="Extent" select="gmd:verticalElement"/> + </GM03_2_1Core.Core.EX_Extent> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:geographicElement"> + <GM03_2_1Core.Core.EX_ExtentgeographicElement TID="x{util:randomId()}"> + <BACK_REF name="EX_Extent"/> + <geographicElement REF="?"> + <xsl:apply-templates mode="Extent"/> + </geographicElement> + </GM03_2_1Core.Core.EX_ExtentgeographicElement> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:temporalElement"> + <GM03_2_1Core.Core.EX_ExtenttemporalElement TID="x{util:randomId()}"> + <BACK_REF name="EX_Extent"/> + <temporalElement REF="?"> + <GM03_2_1Core.Core.EX_TemporalExtent TID="x{util:randomId()}"> + <extent> + <GM03_2_1Core.Core.TM_Primitive> + <xsl:apply-templates mode="TimePeriod"/> + </GM03_2_1Core.Core.TM_Primitive> + </extent> + </GM03_2_1Core.Core.EX_TemporalExtent> + </temporalElement> + </GM03_2_1Core.Core.EX_ExtenttemporalElement> + </xsl:template> + + <xsl:template mode="TimePeriod" match="gml:begin|gml320:begin"> + <begin><xsl:value-of select=".//text()"/></begin> + </xsl:template> + <xsl:template mode="TimePeriod" match="gml:end|gml320:end"> + <end><xsl:value-of select=".//text()"/></end> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:geographicElement[gmd:EX_BoundingPolygon//(gml:MultiSurface|gml320:MultiSurface)]" priority="10"> + <xsl:variable name="exploded"> + <xsl:apply-templates mode="explode-multipolygons" /> + </xsl:variable> + <xsl:for-each select="$exploded/gmd:geographicElement"> + <GM03_2_1Core.Core.EX_ExtentgeographicElement TID="x{util:randomId()}"> + <BACK_REF name="EX_Extent"/> + <geographicElement REF="?"> + <xsl:apply-templates mode="Extent"/> + </geographicElement> + </GM03_2_1Core.Core.EX_ExtentgeographicElement> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:EX_BoundingPolygon"> + <GM03_2_1Core.Core.EX_BoundingPolygon TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:extentTypeCode"/> + <xsl:apply-templates mode="Extent" select="gmd:polygon"/> + </GM03_2_1Core.Core.EX_BoundingPolygon> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:polygon"> + <xsl:apply-templates mode="gml"/> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:EX_GeographicBoundingBox"> + <GM03_2_1Core.Core.EX_GeographicBoundingBox TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:extentTypeCode"/> + <xsl:apply-templates mode="text" select="gmd:northBoundLatitude"/> + <xsl:apply-templates mode="text" select="gmd:southBoundLatitude"/> + <xsl:apply-templates mode="text" select="gmd:eastBoundLongitude"/> + <xsl:apply-templates mode="text" select="gmd:westBoundLongitude"/> + </GM03_2_1Core.Core.EX_GeographicBoundingBox> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:EX_GeographicDescription"> + <GM03_2_1Core.Core.EX_GeographicDescription TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:extentTypeCode"/> + <xsl:apply-templates mode="Extent" select="gmd:geographicIdentifier"/> + </GM03_2_1Core.Core.EX_GeographicDescription> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:geographicIdentifier"> + <geographicIdentifier REF="?"> + <xsl:apply-templates mode="Extent"/> + </geographicIdentifier> + </xsl:template> + + <xsl:template mode="Extent" match="gmd:MD_Identifier"> + <GM03_2_1Core.Core.MD_Identifier TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:code"/> + <xsl:apply-templates mode="Extent" select="gmd:authority"/> + </GM03_2_1Core.Core.MD_Identifier> + </xsl:template> + + <xsl:template mode="Extent" match="*" priority="-100"> + <ERROR>Unknown Extent element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + + <xsl:template mode="gml" match="gml:Polygon[count(ancestor::gml:MultiSurface) = 0]|gml:MultiSurface[gml:surfaceMember]|gml320:Polygon[count(ancestor::gml320:MultiSurface) = 0]|gml320:MultiSurface[gml320:surfaceMember]"> + <polygon> + <SURFACE> + <BOUNDARY> + <xsl:apply-templates mode="gml" select="child::node()[1]"/> + </BOUNDARY> + <xsl:for-each select="gml:surfaceMember//gml:interior|gml320:surfaceMember//gml320:interior"> + <BOUNDARY> + <xsl:apply-templates mode="gml" select="."/> + </BOUNDARY> + </xsl:for-each> + </SURFACE> + </polygon> + </xsl:template> + + <xsl:template mode="gml" match="gml:exterior|gml:curveMember|gml:Ring|gml:LinearRing|gml:surfaceMember|gml:Polygon|gml320:exterior|gml320:curveMember|gml320:Ring|gml320:LinearRing|gml320:surfaceMember|gml320:Polygon"> + <xsl:choose> + <xsl:when test=".//(gml:exterior|gml320:exterior)"> + <xsl:apply-templates mode="gml" select=".//(gml:exterior|gml320:exterior)[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="gml" /> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="gml" match="gml:interior|gml320:interior"> + <xsl:apply-templates mode="gml"/> + <!-- do nothing --> + </xsl:template> + + <xsl:template mode="gml" match="gml:LineString|gml320:LineString"> + <POLYLINE> + <xsl:apply-templates mode="gml"/> + </POLYLINE> + </xsl:template> + + <xsl:template mode="gml" match="gml:posList|gml320:posList"> + <xsl:variable name="line" select="utilgc:posListToGM03Coords(node(),string(.),'2')"/> + <xsl:copy-of select="$line"/> + </xsl:template> + + <xsl:template name="explode"> + <xsl:param name="string"/> + + <xsl:variable name="sep" select="' '"/> + <xsl:variable name="x" select="substring-before($string, $sep)"/> + <xsl:variable name="next" select="substring-after($string, $sep)"/> + <xsl:variable name="y"> + <xsl:choose> + <xsl:when test="not(contains($next, $sep))"><xsl:value-of select="$next"/></xsl:when> + <xsl:otherwise><xsl:value-of select="substring-before($next, $sep)"/></xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="nextnext" select="substring-after($next, $sep)"/> + + <xsl:if test="$x != '' and $y != ''"> + <COORD> + <C1><xsl:value-of select="$x"/></C1> + <C2><xsl:value-of select="$y"/></C2> + </COORD> + + <xsl:call-template name="explode"> + <xsl:with-param name="string" select="$nextnext"/> + </xsl:call-template> + </xsl:if> + </xsl:template> + + <xsl:template mode="gml" match="gml:coordinates|gml320:coordinates"> + <!-- will be converted by ISO19139CHEtoGM03 --> + <GML_COORDINATES decimal="{@decimal}" cs="{@cs}" ts="{@ts}"><xsl:value-of select="."/></GML_COORDINATES> + </xsl:template> + + <xsl:template mode="gml" match="*" priority="-100"> + <ERROR>Unknown gml element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + + <!-- Explode multipolygons into multiple normal polygons --> + <xsl:template mode="explode-multipolygons" match="gml:Polygon[ancestor::gml:MultiSurface]|gml320:Polygon[ancestor::gml320:MultiSurface]"> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <xsl:if test="ancestor::gmd:EX_BoundingPolygon/gmd:extentTypeCode"> + <xsl:copy-of select="ancestor::gmd:EX_BoundingPolygon/gmd:extentTypeCode"/> + </xsl:if> + <gmd:polygon> + <gml:MultiSurface gml:id="Na2846ee8bca9421795638ae6c62eb5ea"> + <gml:surfaceMember> + <xsl:copy-of select="."/> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </xsl:template> + + +</xsl:stylesheet> + diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/header.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/header.xsl new file mode 100644 index 00000000000..ef2e76280b9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/header.xsl @@ -0,0 +1,12 @@ +<xsl:stylesheet version="1.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:param name="group">geocat.ch</xsl:param> + + <xsl:template name="header"> + <HEADERSECTION VERSION='2.3' SENDER='{$group}'> + <MODELS/> + </HEADERSECTION> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/identification.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/identification.xsl new file mode 100644 index 00000000000..7cfd3ffd801 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/identification.xsl @@ -0,0 +1,559 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:srv="http://www.isotc211.org/2005/srv" + exclude-result-prefixes="che gco gmd srv util gmx"> + + <xsl:template mode="DataIdentification" match="gmd:identificationInfo"> + <xsl:apply-templates mode="DataIdentification"/> + </xsl:template> + + <xsl:template mode="DataIdentification" match="che:CHE_MD_DataIdentification|gmd:MD_DataIdentification"> + <GM03_2_1Comprehensive.Comprehensive.MD_DataIdentification TID="x{util:randomId()}"> + <xsl:call-template name="dataIdentification"/> + </GM03_2_1Comprehensive.Comprehensive.MD_DataIdentification> + </xsl:template> + + <xsl:template name="dataIdentification"> + <xsl:apply-templates mode="enum" select="gmd:status"/> + <xsl:choose> + <xsl:when test="abstract/node()"> + <xsl:apply-templates mode="text" select="gmd:abstract"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="textGroup" select="gmd:abstract"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="text" select="gmd:purpose"/> + <BACK_REF name="MD_Metadata"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:citation"/> + <xsl:apply-templates mode="enum" select="gmd:spatialRepresentationType"/> + <xsl:if test="gmd:language"> + <language> + <xsl:apply-templates mode="DataIdentification" select="gmd:language"/> + </language> + </xsl:if> + <xsl:apply-templates mode="enum" select="gmd:characterSet"/> + <xsl:variable name="tc"> + <xsl:apply-templates mode="DataIdentification" select="gmd:topicCategory"/> + </xsl:variable> + <xsl:if test="gmd:topicCategory and count($tc/*) &gt; 0"> + <topicCategory> + <xsl:copy-of select="$tc"/> + </topicCategory> + </xsl:if> + <xsl:apply-templates mode="DataIdentification" select="che:projectType"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:credit"/> + <xsl:apply-templates mode="text" select="che:basicGeodataID"/> + <xsl:apply-templates mode="DataIdentification" select="che:basicGeodataIDType"/> + + <xsl:if test="normalize-space(gmd:environmentDescription)!=''"> + <xsl:apply-templates mode="textGroup" select="gmd:environmentDescription"/> + </xsl:if> + <xsl:if test="normalize-space(gmd:supplementalInformation)!=''"> + <xsl:apply-templates mode="textGroup" select="gmd:supplementalInformation"/> + </xsl:if> + + <xsl:apply-templates mode="DataIdentification" select="gmd:pointOfContact"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:resourceMaintenance"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:graphicOverview"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:resourceFormat"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:descriptiveKeywords"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:resourceSpecificUsage"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:resourceConstraints|srv:restrictions"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:aggregationInfo"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:spatialResolution/*"/> + <xsl:apply-templates mode="Extent" select="gmd:extent"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:graphicOverview"/> + <xsl:apply-templates mode="DataIdentification" select="srv:extent"/> + <xsl:apply-templates mode="DataIdentification" select="che:revision"/> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:aggregationInfo"> + <GM03_2_1Comprehensive.Comprehensive.aggregationInfo_MD_Identification TID="x{util:randomId()}"> + <xsl:apply-templates mode="DataIdentification" select="gmd:MD_AggregateInformation"/> + <BACK_REF name="MD_Identification"/> + </GM03_2_1Comprehensive.Comprehensive.aggregationInfo_MD_Identification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:MD_AggregateInformation"> + <aggregationInfo REF="?"> + <GM03_2_1Comprehensive.Comprehensive.MD_AggregateInformation TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:associationType"/> + <xsl:apply-templates mode="text" select="gmd:initiativeType"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:aggregateDataSetIdentifier"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:aggregateDataSetName/CI_Citation"/> + </GM03_2_1Comprehensive.Comprehensive.MD_AggregateInformation> + </aggregationInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:aggregateDataSetIdentifier"> + <aggregateDataSetIdentifier REF="?"> + <xsl:apply-templates mode="DataIdentification"/> + </aggregateDataSetIdentifier> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:resourceSpecificUsage"> + <GM03_2_1Comprehensive.Comprehensive.MD_Usage TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:MD_Usage/gmd:usageDateTime"/> + <xsl:apply-templates mode="text" select="gmd:MD_Usage/gmd:userDeterminedLimitations"/> + <xsl:apply-templates mode="text" select="gmd:MD_Usage/gmd:specificUsage"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:MD_Usage/gmd:userContactInfo"/> + <BACK_REF name="MD_Identification"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Usage> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:userContactInfo"> + <GM03_2_1Comprehensive.Comprehensive.MD_UsageuserContactInfo TID="x{util:randomId()}"> + <xsl:apply-templates mode="DataIdentification" select="che:CHE_CI_ResponsibleParty"/> + <BACK_REF name="MD_Usage"/> + <xsl:apply-templates mode="enum" select="che:CHE_CI_ResponsibleParty/gmd:role"/> + </GM03_2_1Comprehensive.Comprehensive.MD_UsageuserContactInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="che:CHE_CI_ResponsibleParty"> + <userContactInfo REF="?"> + <xsl:apply-templates mode="RespParty" select="."/> + </userContactInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:graphicOverview"> + <GM03_2_1Comprehensive.Comprehensive.MD_BrowseGraphic TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:MD_BrowseGraphic/gmd:fileName"/> + <xsl:apply-templates mode="text" select="gmd:MD_BrowseGraphic/gmd:fileType"/> + <xsl:apply-templates mode="text" select="gmd:MD_BrowseGraphic/gmd:fileDescription"/> + <BACK_REF name="MD_Identification"/> + </GM03_2_1Comprehensive.Comprehensive.MD_BrowseGraphic> + </xsl:template> + + <xsl:template mode="DataIdentification" match="che:projectType"> + <ProjectType><xsl:value-of select="che:CHE_CI_projectTypeCode/@codeListValue"/></ProjectType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:credit"> + <xsl:variable name="credit"><xsl:apply-templates mode="text" select="."/></xsl:variable> + <credit> + <GM03_2_1Core.Core.CharacterString_> + <value><xsl:value-of select="$credit"/></value> + </GM03_2_1Core.Core.CharacterString_> + </credit> + </xsl:template> + + <xsl:template mode="DataIdentification" match="che:revision"> + <GM03_2_1Comprehensive.Comprehensive.revisionMD_Identification TID="x{util:randomId()}"> + <revision REF="?"> + <xsl:apply-templates mode="DataIdentification"/> + </revision> + <BACK_REF name="MD_Identification"/> + </GM03_2_1Comprehensive.Comprehensive.revisionMD_Identification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="che:CHE_MD_Revision"> + <GM03_2_1Comprehensive.Comprehensive.MD_Revision TID="x{util:randomId()}"> + <xsl:apply-templates mode="enum" select="che:revisionScope"/> + <xsl:apply-templates mode="text" select="che:dateOfLastUpdate"/> + <xsl:apply-templates mode="text" select="che:revisionNote"/> + <xsl:apply-templates mode="DataIdentification" select="che:revisionExtent"/> + + <xsl:apply-templates mode="DataIdentification" select="che:revisionScopeDescription"/> + <xsl:apply-templates mode="DataIdentification" select="che:revisionContact"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Revision> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:resourceConstraints|srv:restrictions"> + <GM03_2_1Comprehensive.Comprehensive.resourceConstraintsMD_Identification TID="x{util:randomId()}"> + <resourceConstraints REF="?"> + <xsl:apply-templates mode="DataIdentification"/> + </resourceConstraints> + <BACK_REF name="MD_Identification"/> + </GM03_2_1Comprehensive.Comprehensive.resourceConstraintsMD_Identification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:MD_SecurityConstraints"> + <GM03_2_1Comprehensive.Comprehensive.MD_SecurityConstraints TID="x{util:randomId()}"> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">useLimitation</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="gmd:classification"/> + <xsl:apply-templates mode="text" select="gmd:classificationSystem"/> + <xsl:apply-templates mode="textGroup" select="gmd:userNote"/> + <xsl:apply-templates mode="text" select="gmd:handlingDescription"/> + </GM03_2_1Comprehensive.Comprehensive.MD_SecurityConstraints> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:classification"> + <classification> + <xsl:value-of select="gmd:MD_ClassificationCode/@codeListValue"/> + </classification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="che:CHE_MD_LegalConstraints|gmd:MD_LegalConstraints"> + <GM03_2_1Comprehensive.Comprehensive.MD_LegalConstraints TID="x{util:randomId()}"> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">useLimitation</xsl:with-param> + </xsl:apply-templates><!-- + <xsl:apply-templates mode="text" select="gmd:accessConstraints"/>--> + <xsl:apply-templates mode="groupEnumC" select="."> + <xsl:with-param name="element">accessConstraints</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="groupEnumC" select="."> + <xsl:with-param name="element">useConstraints</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">otherConstraints</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="che:legislationConstraints"/> + </GM03_2_1Comprehensive.Comprehensive.MD_LegalConstraints> + </xsl:template> + + <xsl:template mode="DataIdentification" match="che:legislationConstraints"> + <GM03_2_1Comprehensive.Comprehensive.legislationConstraintsMD_LegalConstraints> + <legislationConstraints REF="?"> + <xsl:apply-templates mode="Legislation" /> + </legislationConstraints> + + <BACK_REF name="MD_LegalConstraints"/> + </GM03_2_1Comprehensive.Comprehensive.legislationConstraintsMD_LegalConstraints> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:MD_Constraints"> + <GM03_2_1Comprehensive.Comprehensive.MD_Constraints TID="x{util:randomId()}"> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">useLimitation</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.MD_Constraints> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:MD_Constraints"> + <GM03_2_1Comprehensive.Comprehensive.MD_Constraints TID="x{util:randomId()}"> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">useLimitation</xsl:with-param> + </xsl:apply-templates> + </GM03_2_1Comprehensive.Comprehensive.MD_Constraints> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:resourceMaintenance"> + <xsl:apply-templates mode="MaintenanceInfo"> + <xsl:with-param name="backRef">MD_Identification</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:MD_Resolution"> + <GM03_2_1Core.Core.MD_Resolution TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:distance"/> + <BACK_REF name="MD_DataIdentification"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:equivalentScale"/> + </GM03_2_1Core.Core.MD_Resolution> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:equivalentScale"> + <equivalentScale REF="?"> + <xsl:apply-templates mode="DataIdentification" select="*"/> + </equivalentScale> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:MD_RepresentativeFraction"> + <GM03_2_1Core.Core.MD_RepresentativeFraction TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:denominator"/> + </GM03_2_1Core.Core.MD_RepresentativeFraction> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:descriptiveKeywords"> + <GM03_2_1Core.Core.descriptiveKeywordsMD_Identification TID="x{util:randomId()}"> + <descriptiveKeywords REF='?'> + <xsl:apply-templates mode="DataIdentification" select="gmd:MD_Keywords"/> + </descriptiveKeywords> + <BACK_REF name="MD_Identification"/> + </GM03_2_1Core.Core.descriptiveKeywordsMD_Identification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:MD_Keywords"> + <GM03_2_1Core.Core.MD_Keywords TID="x{util:randomId()}"> + <!--<xsl:apply-templates mode="text" select="gmd:type"/>--> + <xsl:choose> + <xsl:when test="count(gmd:keyword/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[normalize-space(.) != '']) = 0"> + <keyword> + <GM03_2_1Core.Core.PT_FreeText> + <textGroup> + <GM03_2_1Core.Core.PT_Group> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainText><xsl:value-of select="gmd:keyword/gco:CharacterString"/></plainText> + </GM03_2_1Core.Core.PT_Group> + </textGroup> + </GM03_2_1Core.Core.PT_FreeText> + </keyword> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">keyword</xsl:with-param> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="DataIdentification" select="gmd:thesaurusName"/> + </GM03_2_1Core.Core.MD_Keywords> + </xsl:template> + <xsl:template mode="DataIdentification" match="gmd:thesaurusName"> + <thesaurus REF='?'> + <GM03_2_1Core.Core.MD_Thesaurus TID="x{util:randomId()}"> + <citation REF="?"> + <xsl:apply-templates mode="DataIdentification" select="gmd:CI_Citation"/> + </citation> + </GM03_2_1Core.Core.MD_Thesaurus> + </thesaurus> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:resourceFormat"> + <GM03_2_1Comprehensive.Comprehensive.resourceFormatMD_Identification TID='x{util:randomId()}'> + <resourceFormat REF='?'> + <xsl:apply-templates mode="DataIdentification"/> + </resourceFormat> + <BACK_REF name="MD_Identification"/> + </GM03_2_1Comprehensive.Comprehensive.resourceFormatMD_Identification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:MD_Format"> + <GM03_2_1Comprehensive.Comprehensive.MD_Format TID='x{util:randomId()}'> + <xsl:apply-templates mode="text" select="gmd:name"/> + <xsl:apply-templates mode="text" select="gmd:version"/> + <xsl:apply-templates mode="text" select="gmd:amendmentNumber"/> + <xsl:apply-templates mode="text" select="gmd:specification"/> + <xsl:apply-templates mode="text" select="gmd:fileDecompressionTechnique"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:formatDistributor"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Format> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:pointOfContact"> + <GM03_2_1Core.Core.MD_IdentificationpointOfContact TID="x{util:randomId()}"> + <pointOfContact REF="?"> + <xsl:apply-templates mode="RespParty"/> + </pointOfContact> + <BACK_REF name="MD_Identification"/> + <xsl:apply-templates mode="RespPartyRole" select="che:CHE_CI_ResponsibleParty|gmd:CI_ResponsibleParty"/> + </GM03_2_1Core.Core.MD_IdentificationpointOfContact> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:topicCategory"> + <xsl:choose> + <xsl:when test=" + normalize-space(.) = 'imageryBaseMapsEarthCover' or + normalize-space(.) = 'planningCadastre' or + normalize-space(.) = 'geoscientificInformation' or + normalize-space(.) = 'utilitiesCommunication' or + normalize-space(.) = 'environment'"> + + <!-- We don't want these in GM03 --> + + </xsl:when> + <xsl:when test="not(contains(normalize-space(.), '_'))"> + <GM03_2_1Core.Core.MD_TopicCategoryCode_> + <value><xsl:value-of select="normalize-space(.)"/></value> + </GM03_2_1Core.Core.MD_TopicCategoryCode_> + </xsl:when> + <xsl:otherwise> + <GM03_2_1Core.Core.MD_TopicCategoryCode_> + <value><xsl:value-of select="concat(substring-before(normalize-space(.), '_'),'.',normalize-space(.))"/></value> + </GM03_2_1Core.Core.MD_TopicCategoryCode_> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:language"> + <xsl:variable name="code"> + <xsl:call-template name="lang3_to_lang2"> + <xsl:with-param name="lang3" select="gco:CharacterString"/> + </xsl:call-template> + </xsl:variable> + <CodeISO.LanguageCodeISO_> + <value> + <xsl:choose> + <xsl:when test="normalize-space($code) != ''"> + <xsl:value-of select="$code"></xsl:value-of> + </xsl:when> + <xsl:when test="/che:CHE_MD_Metadata/gmd:language/gco:CharacterString"> + <xsl:call-template name="lang3_to_lang2"> + <xsl:with-param name="lang3" select="/che:CHE_MD_Metadata/gmd:language/gco:CharacterString"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="/gmd:MD_Metadata/gmd:language/gco:CharacterString"> + <xsl:call-template name="lang3_to_lang2"> + <xsl:with-param name="lang3" select="/gmd:MD_Metadata/gmd:language/gco:CharacterString"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <text>en</text> + </xsl:otherwise> + </xsl:choose> + </value> + </CodeISO.LanguageCodeISO_> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:citation"> + <citation REF="?"> + <xsl:apply-templates mode="DataIdentification" /> + </citation> + </xsl:template> + + + <xsl:template mode="DataIdentification" match="gmd:CI_Citation"> + <GM03_2_1Comprehensive.Comprehensive.CI_Citation TID="x{util:randomId()}"> + <xsl:apply-templates mode="RefSystem" select="."> + <xsl:with-param name="showIdentifier" select="false()"/> + </xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="gmd:identifier"/> + </GM03_2_1Comprehensive.Comprehensive.CI_Citation> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:identifier"> + <GM03_2_1Comprehensive.Comprehensive.CI_Citationidentifier TID="x{util:randomId()}"> + <identifier REF='?'> + <xsl:choose> + <xsl:when test="gmd:RS_Identifier"> + <xsl:apply-templates mode="RefSystem" select="gmd:RS_Identifier"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="DataIdentification" select="gmd:MD_Identifier"/> + </xsl:otherwise> + </xsl:choose> + </identifier> + <BACK_REF name="CI_Citation"/> + </GM03_2_1Comprehensive.Comprehensive.CI_Citationidentifier> + </xsl:template> + + + <xsl:template mode="DataIdentification" match="gmd:MD_Identifier"> + <GM03_2_1Core.Core.MD_Identifier TID="x{util:randomId()}"> + <xsl:choose> + <xsl:when test="gmd:code/gmx:Anchor"> + <code> + <GM03_2_1Core.Core.PT_FreeText> + <textGroup> + <GM03_2_1Core.Core.PT_Group> + <language><xsl:value-of select="$defaultLanguage"/></language> + <plainText><xsl:value-of select="gmd:code/gmx:Anchor"/></plainText> + </GM03_2_1Core.Core.PT_Group> + </textGroup> + </GM03_2_1Core.Core.PT_FreeText> + </code> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="textGroup" select="gmd:code"/> + </xsl:otherwise> + </xsl:choose> + </GM03_2_1Core.Core.MD_Identifier> + </xsl:template> + + + <xsl:template mode="DataIdentification" match="che:CHE_SV_ServiceIdentification | srv:SV_ServiceIdentification"> + <GM03_2_1Comprehensive.Comprehensive.SV_ServiceIdentification TID="x{util:randomId()}"> + <xsl:call-template name="dataIdentification" /> + <xsl:apply-templates mode="DataIdentification" select="srv:credit"/> + <xsl:apply-templates mode="DataIdentification" select="srv:inspireServiceType"/> + <xsl:apply-templates mode="text" select="srv:serviceTypeVersion"/> + <xsl:apply-templates mode="DataIdentification" select="srv:couplingType"/> + <xsl:apply-templates mode="DataIdentification" select="srv:operatesOn"/> + <xsl:if test="srv:coupledResource"> + <coupledResource> + <xsl:for-each select="srv:coupledResource"> + <xsl:apply-templates mode="DataIdentification"/> + </xsl:for-each> + </coupledResource> + </xsl:if> + <xsl:apply-templates mode="DataIdentification" select="srv:serviceType"/> + <xsl:apply-templates mode="DataIdentification" select="srv:containsOperations"/> + </GM03_2_1Comprehensive.Comprehensive.SV_ServiceIdentification> + </xsl:template> + <xsl:template mode="DataIdentification" match="srv:couplingType"> + <couplingType><xsl:value-of select="srv:SV_CouplingType/@codeListValue"/></couplingType> + </xsl:template> + <xsl:template mode="DataIdentification" match="srv:operatesOn"> + <operatesOn> + <GM03_2_1Core.Core.CharacterString_> + <value><xsl:value-of select="./@uuidref"/></value> + </GM03_2_1Core.Core.CharacterString_> + </operatesOn> + </xsl:template> + <xsl:template mode="DataIdentification" match="srv:serviceType"> + <serviceType> + <GM03_2_1Comprehensive.Comprehensive.gml_CodeType> + <code><xsl:value-of select="gco:LocalName"/></code> + <xsl:apply-templates mode="text" select="codeSpace"/> + </GM03_2_1Comprehensive.Comprehensive.gml_CodeType> + </serviceType> + </xsl:template> + <xsl:template mode="DataIdentification" match="srv:SV_CoupledResource"> + <GM03_2_1Comprehensive.Comprehensive.SV_CoupledResource> + <xsl:apply-templates mode="text" select="srv:identifier"/> + <xsl:apply-templates mode="text" select="srv:operationName"/> + <xsl:apply-templates mode="text" select="gco:ScopedName"/> + </GM03_2_1Comprehensive.Comprehensive.SV_CoupledResource> + </xsl:template> + <xsl:template mode="DataIdentification" match="srv:containsOperations"> + <GM03_2_1Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification TID="x{util:randomId()}"> + <containsOperations REF="?"> + <xsl:apply-templates mode="DataIdentification"/> + </containsOperations> + <BACK_REF name="SV_ServiceIdentification"/> + </GM03_2_1Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification> + </xsl:template> + <xsl:template mode="DataIdentification" match="srv:SV_OperationMetadata"> + <GM03_2_1Comprehensive.Comprehensive.SV_OperationMetadata TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="srv:operationName"/> + <xsl:apply-templates mode="DataIdentification" select="srv:DCP"/> + <xsl:apply-templates mode="text" select="srv:invocationName"/> + <xsl:apply-templates mode="textGroup" select="srv:operationDescription"/> + <xsl:apply-templates mode="DataIdentification" select="srv:connectPoint"/> + </GM03_2_1Comprehensive.Comprehensive.SV_OperationMetadata> + </xsl:template> + + <xsl:template mode="DataIdentification" match="srv:connectPoint"> + <GM03_2_1Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint TID="x{util:randomId()}"> + <BACK_REF name="SV_OperationMetadata"/> + <connectPoint REF="?"> + <xsl:apply-templates mode="distribution"><xsl:with-param name="backRef">false</xsl:with-param></xsl:apply-templates> + </connectPoint> + </GM03_2_1Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint> + </xsl:template> + + <xsl:template mode="DataIdentification" match="srv:DCP"> + <DCP> + <GM03_2_1Comprehensive.Comprehensive.DCPList_> + <xsl:for-each select="*"> + <value><xsl:value-of select="@codeListValue"/></value> + </xsl:for-each> + </GM03_2_1Comprehensive.Comprehensive.DCPList_> + </DCP> + </xsl:template> + + <xsl:template mode="DataIdentification" match="srv:extent"> + <GM03_2_1Comprehensive.Comprehensive.extentSV_ServiceIdentification TID="x{util:randomId()}"> + <extent REF="?"> + <xsl:apply-templates mode="DataIdentification" select="gmd:EX_Extent"/> + </extent> + <BACK_REF name="SV_ServiceIdentification"/> + </GM03_2_1Comprehensive.Comprehensive.extentSV_ServiceIdentification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="gmd:EX_Extent"> + <GM03_2_1Core.Core.EX_Extent TID="x{util:randomId()}"> + <xsl:apply-templates mode="textGroup" select="gmd:description"/> + <xsl:apply-templates mode="Extent" select="gmd:geographicElement"/> + <xsl:apply-templates mode="Extent" select="gmd:temporalElement"/> + <xsl:apply-templates mode="Extent" select="gmd:verticalElement"/> + </GM03_2_1Core.Core.EX_Extent> + </xsl:template> + + + <xsl:template mode="DataIdentification" match="che:basicGeodataIDType"> + <basicGeodataIDType><xsl:value-of select="che:basicGeodataIDTypeCode/@codeListValue"/></basicGeodataIDType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="*" priority="-100"> + <ERROR>Unknown DataIdentification element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/legislation.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/legislation.xsl new file mode 100644 index 00000000000..7cfd520f407 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/legislation.xsl @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd util"> + + <xsl:template mode="Legislation" match="che:CHE_MD_Legislation"> + <GM03_2_1Comprehensive.Comprehensive.MD_Legislation TID='x{generate-id(.)}'> + <xsl:apply-templates mode="enumISO" select="."> + <xsl:with-param name="name">CodeISO.CountryCodeISO_</xsl:with-param> + <xsl:with-param name="element">country</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="enumISO" select="."> + <xsl:with-param name="name">CodeISO.LanguageCodeISO_</xsl:with-param> + <xsl:with-param name="element">language</xsl:with-param> + <xsl:with-param name="lowercase">1</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="text" select="che:legislationType"/> + <xsl:apply-templates mode="Legislation" select="che:internalReference"/> + <xsl:apply-templates mode="Legislation" select="che:title"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Legislation> + </xsl:template> + + <xsl:template mode="Legislation" match="che:title"> + <title REF="?"> + <GM03_2_1Comprehensive.Comprehensive.CI_Citation TID="x{util:randomId()}"> + <xsl:apply-templates mode="RefSystem"/> + </GM03_2_1Comprehensive.Comprehensive.CI_Citation> + </title> + </xsl:template> + + <xsl:template mode="Legislation" match="che:internalReference"> + <internalReference> + <xsl:for-each select="gco:CharacterString"> + <GM03_2_1Core.Core.CharacterString_> + <value><xsl:value-of select="."/></value> + </GM03_2_1Core.Core.CharacterString_> + </xsl:for-each> + </internalReference> + </xsl:template> + + <xsl:template mode="Legislation" match="*" priority="-100"> + <ERROR>Unknown Legislation element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/maintenance-info.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/maintenance-info.xsl new file mode 100644 index 00000000000..65e3919beb0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/maintenance-info.xsl @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd gts util"> + + <xsl:template mode="MaintenanceInfo" match="che:CHE_MD_MaintenanceInformation|gmd:MD_MaintenanceInformation"> + <xsl:param name="backRef"/> + <GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformation TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:maintenanceAndUpdateFrequency"/> + <xsl:apply-templates mode="text" select="gmd:dateOfNextUpdate"/> + <xsl:apply-templates mode="MaintenanceInfo" select="gmd:userDefinedMaintenanceFrequency"/> + <xsl:apply-templates mode="enum" select="gmd:updateScope"/> + <xsl:apply-templates mode="text" select="che:dateOfMonitoringState"/> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">maintenanceNote</xsl:with-param> + </xsl:apply-templates> + <BACK_REF name="{$backRef}"/> + + <xsl:apply-templates mode="MaintenanceInfo" select="gmd:updateScopeDescription"/> + <xsl:apply-templates mode="MaintenanceInfo" select="gmd:contact"/> + <xsl:apply-templates mode="MaintenanceInfo" select="che:historyConcept/che:CHE_MD_HistoryConcept"/> + <xsl:apply-templates mode="MaintenanceInfo" select="che:archiveConcept/che:CHE_MD_ArchiveConcept"/> + </GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="gmd:updateScopeDescription" > + <GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationupdateScopeDescription TID="x{util:randomId()}"> + <xsl:apply-templates mode="MaintenanceInfo" select="gmd:MD_ScopeDescription"/> + <BACK_REF name="MD_MaintenanceInformation"/> + </GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationupdateScopeDescription> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="gmd:MD_ScopeDescription" > + <updateScopeDescription REF="?"> + <GM03_2_1Core.Core.MD_ScopeDescription TID="x{util:randomId()}"> + <xsl:apply-templates mode="ObjRef" select="gmd:attributes"/> + <xsl:apply-templates mode="ObjRef" select="gmd:feature"/> + <xsl:apply-templates mode="ObjRef" select="gmd:featureInstances"/> + <xsl:apply-templates mode="ObjRef" select="gmd:attributeInstances"/> + <xsl:apply-templates mode="text" select="gmd:dataset"/> + <xsl:apply-templates mode="text" select="gmd:other"/> + </GM03_2_1Core.Core.MD_ScopeDescription> + </updateScopeDescription> + </xsl:template> + + <xsl:template mode="ObjRef" match="*"> + <!-- CHECKME : is Interlis NAME datatype is multilingual ? --> + <xsl:element name="{local-name()}"><xsl:value-of select="@uuidref|gco:CharacterString"/></xsl:element> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="che:historyConceptCitation" > + <GM03_2_1Comprehensive.Comprehensive.MD_HistoryConcepthistoryConceptCitation TID="x{util:randomId()}"> + <BACK_REF name="MD_HistoryConcept"/> + <historyConceptCitation REF="?"> + <GM03_2_1Comprehensive.Comprehensive.CI_Citation TID="x2{generate-id(.)}"> + <xsl:apply-templates mode="RefSystem"/> + </GM03_2_1Comprehensive.Comprehensive.CI_Citation> + </historyConceptCitation> + </GM03_2_1Comprehensive.Comprehensive.MD_HistoryConcepthistoryConceptCitation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="che:CHE_MD_HistoryConcept"> + <GM03_2_1Comprehensive.Comprehensive.MD_HistoryConcept TID="x{util:randomId()}"> + <xsl:apply-templates mode="MaintenanceInfo" select="che:historyConceptCitation"/> + <xsl:apply-templates mode="text" select="che:historyConceptURL"/> + <BACK_REF name="MD_MaintenanceInformation"/> + </GM03_2_1Comprehensive.Comprehensive.MD_HistoryConcept> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="che:archiveConceptCitation"> + <GM03_2_1Comprehensive.Comprehensive.MD_ArchiveConceptarchiveConceptCitation TID="x{util:randomId()}"> + <BACK_REF name="MD_ArchiveConcept"/> + <archiveConceptCitation REF="?"> + <GM03_2_1Comprehensive.Comprehensive.CI_Citation TID="x{util:randomId()}"> + <xsl:apply-templates mode="RefSystem"/> + </GM03_2_1Comprehensive.Comprehensive.CI_Citation> + </archiveConceptCitation> + </GM03_2_1Comprehensive.Comprehensive.MD_ArchiveConceptarchiveConceptCitation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="che:CHE_MD_ArchiveConcept"> + <GM03_2_1Comprehensive.Comprehensive.MD_ArchiveConcept TID="x{util:randomId()}"> + <xsl:apply-templates mode="MaintenanceInfo" select="che:archiveConceptCitation"/> + <xsl:apply-templates mode="MaintenanceInfo" select="che:historyConceptCitation"/> + <xsl:apply-templates mode="text" select="che:archiveConceptURL"/> + <BACK_REF name="MD_MaintenanceInformation"/> + </GM03_2_1Comprehensive.Comprehensive.MD_ArchiveConcept> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="gmd:contact"> + <GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact TID="x{util:randomId()}"> + <contact REF="?"> + <xsl:apply-templates mode="RespParty"/> + </contact> + <BACK_REF name="MD_MaintenanceInformation"/> + <xsl:apply-templates mode="RespPartyRole" select="che:CHE_CI_ResponsibleParty|gmd:CI_ResponsibleParty"/> + </GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="gmd:userDefinedMaintenanceFrequency"> + <xsl:apply-templates mode="MaintenanceInfo"/> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="gts:TM_PeriodDuration"> + <userDefinedMaintenanceFrequency> + <xsl:value-of select="concat(substring-before(substring-after(.,'P'),'Y'),':',substring-before(substring-after(.,'Y'),'M'),':',substring-before(substring-after(.,'M'),'D'),':',substring-before(substring-after(.,'T'),'H'),':',substring-before(substring-after(.,'H'),'M'),':',substring-before(substring-after(substring-after(.,'M'),'M'),'S'))"/> + </userDefinedMaintenanceFrequency> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="*" priority="-100"> + <ERROR>Unknown MaintenanceInfo element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/metadata.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/metadata.xsl new file mode 100644 index 00000000000..b5063de2c19 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/metadata.xsl @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd util"> + + <xsl:template mode="metadata" match="che:CHE_MD_Metadata|gmd:MD_Metadata"> + <GM03_2_1Core.Core.MD_Metadata TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:fileIdentifier"/> + <xsl:apply-templates mode="metadata" select="gmd:language"/> + <xsl:apply-templates mode="text" select="gmd:characterSet"/> + <xsl:apply-templates mode="text" select="gmd:dateStamp"/> + <xsl:apply-templates mode="text" select="gmd:metadataStandardName"/> + <xsl:apply-templates mode="text" select="gmd:metadataStandardVersion"/> + <xsl:if test="gmd:hierarchyLevel"> + <hierarchyLevel> + <xsl:for-each select="gmd:hierarchyLevel/gmd:MD_ScopeCode"> + <xsl:element name="GM03_2_1Core.Core.MD_ScopeCode_"> + <value><xsl:value-of select="@codeListValue"/></value> + </xsl:element> + </xsl:for-each> + </hierarchyLevel> + </xsl:if> + <xsl:if test="gmd:hierarchyLevelName and normalize-space(gmd:hierarchyLevelName/gco:CharacterString) != ''"> + <hierarchyLevelName> + <xsl:apply-templates mode="metadata" select="gmd:hierarchyLevelName"/> + </hierarchyLevelName> + </xsl:if> + <xsl:apply-templates mode="text" select="gmd:dataSetURI"/> + <xsl:apply-templates mode="distribution" select="gmd:distributionInfo"/> + <xsl:apply-templates mode="metadata" select="gmd:contact"/> + <xsl:apply-templates mode="metadata" select="gmd:parentIdentifier"/> + <!--not figuring in GM03: <xsl:apply-templates mode="metadata" select="gmd:locale"/>--> + <xsl:apply-templates mode="metadata" select="gmd:spatialRepresentationInfo"/> + <xsl:apply-templates mode="RefSystem" select="gmd:referenceSystemInfo"/> + <xsl:apply-templates mode="metadata" select="gmd:metadataExtensionInfo"/> + <xsl:apply-templates mode="DataIdentification" select="gmd:identificationInfo"/> + <xsl:apply-templates mode="metadata" select="gmd:contentInfo"/> + <xsl:apply-templates mode="metadata" select="gmd:dataQualityInfo"/> + <xsl:apply-templates mode="metadata" select="gmd:portrayalCatalogueInfo"/> + <!-- <xsl:apply-templates mode="metadata" select="gmd:metadataConstraints"/> --> + <xsl:apply-templates mode="metadata" select="gmd:applicationSchemaInfo"/> + <xsl:apply-templates mode="metadata" select="gmd:metadataMaintenance"/> + <xsl:apply-templates mode="metadata" select="gmd:series"/> + <xsl:apply-templates mode="metadata" select="gmd:describes"/> + <xsl:apply-templates mode="metadata" select="gmd:propertyType"/> + <xsl:apply-templates mode="metadata" select="gmd:featureType"/> + <xsl:apply-templates mode="metadata" select="gmd:featureAttribute"/> + <xsl:apply-templates mode="metadata" select="che:legislationInformation"/> + </GM03_2_1Core.Core.MD_Metadata> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:parentIdentifier"> + <!-- TODO --> + </xsl:template> + + <xsl:template mode="metadata" match="che:legislationInformation"> + <GM03_2_1Comprehensive.Comprehensive.MD_MetadatalegislationInformation TID='x{generate-id(.)}'> + <BACK_REF name="MD_Metadata"/> + <legislationInformation REF="?"> + <xsl:apply-templates mode="Legislation"/> + </legislationInformation> + </GM03_2_1Comprehensive.Comprehensive.MD_MetadatalegislationInformation> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:metadataMaintenance|che:CHE_MD_MaintenanceInformation"> + <xsl:apply-templates mode="MaintenanceInfo"> + <xsl:with-param name="backRef">MD_Metadata</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:contentInfo"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:spatialRepresentationInfo"> + <xsl:apply-templates mode="SpatialRepr"/> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:portrayalCatalogueInfo"> + <GM03_2_1Comprehensive.Comprehensive.portrayalCatalogueInfoMD_Metadata TID="x{util:randomId()}"> + <portrayalCatalogueInfo REF="?"> + <xsl:apply-templates mode="metadata"/> + </portrayalCatalogueInfo> + <BACK_REF name="MD_Metadata"/> + </GM03_2_1Comprehensive.Comprehensive.portrayalCatalogueInfoMD_Metadata> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:MD_PortrayalCatalogueReference|che:CHE_MD_PortrayalCatalogueReference"> + <GM03_2_1Comprehensive.Comprehensive.MD_PortrayalCatalogueReference TID="x{util:randomId()}"> + <xsl:apply-templates mode="metadata" select="gmd:portrayalCatalogueCitation"/> + <xsl:apply-templates mode="text" select="che:portrayalCatalogueURL"/> + </GM03_2_1Comprehensive.Comprehensive.MD_PortrayalCatalogueReference> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:portrayalCatalogueCitation"> + <xsl:apply-templates mode="metadata"/> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:CI_Citation"> + <GM03_2_1Comprehensive.Comprehensive.CI_Citation TID="x{util:randomId()}"> + <xsl:apply-templates mode="RefSystem" select="."/> + <BACK_REF name="MD_PortrayalCatalogReference"/> + </GM03_2_1Comprehensive.Comprehensive.CI_Citation> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:dataQualityInfo"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:contact"> + <GM03_2_1Core.Core.MD_Metadatacontact> + <contact REF="?"> + <xsl:apply-templates mode="RespParty"/> + </contact> + <BACK_REF name="MD_Metadata"/> + <xsl:apply-templates mode="RespPartyRole" select="che:CHE_CI_ResponsibleParty|gmd:CI_ResponsibleParty"/> + </GM03_2_1Core.Core.MD_Metadatacontact> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:language"> + <language><xsl:value-of select="$defaultLanguage"/></language> + </xsl:template> + + <xsl:template mode="metadata" match="gmd:hierarchyLevelName"> + <xsl:for-each select="gco:CharacterString"> + <GM03_2_1Core.Core.CharacterString_> + <value><xsl:value-of select="."/></value> + </GM03_2_1Core.Core.CharacterString_> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="metadata" match="*" priority="-100"> + <ERROR>Unknown metadata element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/ref-system.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/ref-system.xsl new file mode 100644 index 00000000000..9a50755ac16 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/ref-system.xsl @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd util"> + + <xsl:template mode="RefSystem" match="gmd:referenceSystemInfo"> + <GM03_2_1Core.Core.referenceSystemInfoMD_Metadata TID='x{generate-id(.)}'> + <referenceSystemInfo REF="?"> + <xsl:apply-templates mode="RefSystem"/> + </referenceSystemInfo> + <BACK_REF name="MD_Metadata"/> + </GM03_2_1Core.Core.referenceSystemInfoMD_Metadata> + </xsl:template> + + <xsl:template mode="RefSystem" match="gmd:MD_ReferenceSystem"> + <GM03_2_1Core.Core.MD_ReferenceSystem TID='x{generate-id(.)}'> + <xsl:apply-templates mode="RefSystem"/> + </GM03_2_1Core.Core.MD_ReferenceSystem> + </xsl:template> + + <xsl:template mode="RefSystem" match="gmd:referenceSystemIdentifier"> + <referenceSystemIdentifier REF='?'> + <xsl:apply-templates mode="RefSystem"/> + </referenceSystemIdentifier> + </xsl:template> + + <xsl:template mode="RefSystem" match="gmd:RS_Identifier"> + <GM03_2_1Comprehensive.Comprehensive.RS_Identifier TID='x{generate-id(.)}'> + <xsl:apply-templates mode="textGroup" select="gmd:code"/> + <xsl:apply-templates mode="RefSystem" select="gmd:authority"/> + <xsl:apply-templates mode="text" select="gmd:codeSpace"/> + <xsl:apply-templates mode="text" select="gmd:version"/> + </GM03_2_1Comprehensive.Comprehensive.RS_Identifier> + </xsl:template> + + <xsl:template mode="RefSystem" match="gmd:authority"> + <MD_Authority REF="?"> + <GM03_2_1Core.Core.MD_Authority TID='x{generate-id(.)}'> + <xsl:apply-templates mode="RefSystem"/> + </GM03_2_1Core.Core.MD_Authority> + </MD_Authority> + </xsl:template> + + <xsl:template mode="RefSystem" match="gmd:CI_Citation"> + <xsl:param name="showIdentifier" select="true()"/> + <xsl:param name="backRef"/> + + <xsl:apply-templates mode="textGroup" select="gmd:title"/> + <xsl:apply-templates mode="text" select="gmd:edition"/> + <xsl:apply-templates mode="text" select="gmd:editionDate"/> + <xsl:apply-templates mode="groupEnum" select="."> + <xsl:with-param name="element">presentationForm</xsl:with-param> + <xsl:with-param name="newName">GM03_2_1Comprehensive.Comprehensive.CI_PresentationFormCode_</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="text" select="gmd:ISBN"/> + <xsl:apply-templates mode="text" select="gmd:ISSN"/> + <xsl:apply-templates mode="groupText" select="."> + <xsl:with-param name="element">alternateTitle</xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates mode="text" select="gmd:collectiveTitle"/> + <xsl:apply-templates mode="text" select="gmd:otherCitationDetails"/> + <xsl:if test="$backRef"> + <BACK_REF name="{$backRef}"/> + </xsl:if> + <xsl:apply-templates mode="RefSystem" select="gmd:series/gmd:CI_Series"/> + + <xsl:apply-templates mode="RefSystem" select="gmd:date"/> + <xsl:if test="$showIdentifier = true()"> + <xsl:apply-templates mode="RefSystem" select="gmd:identifier/*"/> + </xsl:if> + <!-- not mapped --> + <xsl:apply-templates mode="RefSystem" select="gmd:citedResponsibleParty"/> + </xsl:template> + + <xsl:template mode="RefSystem" match="gmd:citedResponsibleParty"> + <GM03_2_1Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty TID="x{util:randomId()}"> + <citedResponsibleParty REF="?"> + <xsl:apply-templates mode="RespParty"/> + </citedResponsibleParty> + <BACK_REF name="CI_Citation"/> + <xsl:apply-templates mode="RespPartyRole"/> + </GM03_2_1Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty> + </xsl:template> + + <xsl:template mode="RefSystem" match="gmd:date"> + <xsl:apply-templates mode="RefSystem"/> + </xsl:template> + + + <xsl:template mode="RefSystem" match="gmd:CI_Series"> + <series REF="?"> + <GM03_2_1Comprehensive.Comprehensive.CI_Series TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:page"/> + <xsl:apply-templates mode="text" select="gmd:issueIdentification"/> + <xsl:apply-templates mode="text" select="gmd:name"/> + </GM03_2_1Comprehensive.Comprehensive.CI_Series> + </series> + </xsl:template> + + <xsl:template mode="RefSystem" match="gmd:CI_Date"> + <GM03_2_1Core.Core.CI_Date TID='x{generate-id(.)}'> + <xsl:choose> + <xsl:when test="gmd:date/gco:DateTime"> + <date><xsl:value-of select="substring-before(gmd:date/gco:DateTime, 'T')"/></date> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="text" select="gmd:date"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="text" select="gmd:dateType"/> + <BACK_REF name="CI_Citation"/> + </GM03_2_1Core.Core.CI_Date> + </xsl:template> + + <xsl:template mode="RefSystem" match="*" priority="-100"> + <ERROR>Unknown RefSystem element <xsl:value-of select="local-name(.)"/> child of <xsl:value-of select="local-name(..)"/> </ERROR> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/resp-party.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/resp-party.xsl new file mode 100644 index 00000000000..38fc0c8d3e7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/resp-party.xsl @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd util"> + + <xsl:template mode="RespParty" match="che:CHE_CI_ResponsibleParty|gmd:CI_ResponsibleParty"> + <GM03_2_1Core.Core.CI_ResponsibleParty TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="che:individualFirstName"/> + <xsl:apply-templates mode="text" select="che:individualLastName"/> + <xsl:if test="gmd:contactInfo/gmd:CI_Contact/gmd:address/*/gmd:electronicMailAddress and + normalize-space(gmd:contactInfo/gmd:CI_Contact/gmd:address/*/gmd:electronicMailAddress) != ''"> + <electronicalMailAddress> + <xsl:apply-templates mode="RespParty" select="gmd:contactInfo/gmd:CI_Contact/gmd:address/*/gmd:electronicMailAddress"/> + </electronicalMailAddress> + </xsl:if> + <xsl:apply-templates mode="text" select="gmd:organisationName"/> + <xsl:apply-templates mode="text" select="gmd:positionName"/> + <xsl:apply-templates mode="text" select="che:organisationAcronym"/> + <xsl:apply-templates mode="RespParty" select="gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource"/> + <xsl:apply-templates mode="RespParty" select="gmd:contactInfo/gmd:CI_Contact/gmd:address"/> + <xsl:apply-templates mode="RespParty" select="gmd:contactInfo"/> + + <xsl:apply-templates mode="RespParty" select="che:parentResponsibleParty"/> + + <xsl:apply-templates mode="RespParty" select="gmd:contactInfo/gmd:CI_Contact/gmd:phone/che:CHE_CI_Telephone"/> + </GM03_2_1Core.Core.CI_ResponsibleParty> + </xsl:template> + + <xsl:template mode="RespParty" match="che:parentResponsibleParty"> + <GM03_2_1Core.Core.CI_ResponsiblePartyparentinfo TID="x{util:randomId()}"> + <parentResponsibleParty REF="?"> + <xsl:apply-templates mode="RespParty"/> + </parentResponsibleParty> + <BACK_REF name="CI_ResponsibleParty"/> + </GM03_2_1Core.Core.CI_ResponsiblePartyparentinfo> + </xsl:template> + + <xsl:template mode="RespParty" match="gmd:electronicMailAddress"> + <GM03_2_1Core.Core.URL_> + <value><xsl:value-of select="gco:CharacterString/text()"/></value> + </GM03_2_1Core.Core.URL_> + </xsl:template> + + <xsl:template mode="RespParty" match="gmd:onlineResource"> + <xsl:apply-templates mode="text" select="gmd:CI_OnlineResource/gmd:linkage"/> + </xsl:template> + + <xsl:template mode="RespParty" match="che:CHE_CI_Telephone"> + <xsl:for-each select="gmd:voice[normalize-space(.) != '']"> + <GM03_2_1Core.Core.CI_Telephone TID="x{util:randomId()}"> + <number><xsl:value-of select="gco:CharacterString"/></number> + <numberType>mainNumber</numberType> + <BACK_REF name="CI_ResponsibleParty"/> + </GM03_2_1Core.Core.CI_Telephone> + </xsl:for-each> + <xsl:for-each select="gmd:facsimile[normalize-space(.) != '']"> + <GM03_2_1Core.Core.CI_Telephone TID="x{util:randomId()}"> + <number><xsl:value-of select="gco:CharacterString"/></number> + <numberType>facsimile</numberType> + <BACK_REF name="CI_ResponsibleParty"/> + </GM03_2_1Core.Core.CI_Telephone> + </xsl:for-each> + <xsl:for-each select="che:directNumber[normalize-space(.) != '']"> + <GM03_2_1Core.Core.CI_Telephone TID="x{util:randomId()}"> + <number><xsl:value-of select="gco:CharacterString"/></number> + <numberType>directNumber</numberType> + <BACK_REF name="CI_ResponsibleParty"/> + </GM03_2_1Core.Core.CI_Telephone> + </xsl:for-each> + <xsl:for-each select="che:mobile[normalize-space(.) != '']"> + <GM03_2_1Core.Core.CI_Telephone TID="x{util:randomId()}"> + <number><xsl:value-of select="gco:CharacterString"/></number> + <numberType>mobile</numberType> + <BACK_REF name="CI_ResponsibleParty"/> + </GM03_2_1Core.Core.CI_Telephone> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="RespParty" match="gmd:address"> + <address REF="?"> + <xsl:apply-templates mode="RespParty"/> + </address> + </xsl:template> + + <xsl:template mode="RespParty" match="che:CHE_CI_Address|gmd:CI_Address"> + <GM03_2_1Core.Core.CI_Address TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="che:streetName"/> + <xsl:apply-templates mode="text" select="che:streetNumber"/> + <xsl:apply-templates mode="text" select="che:addressLine"/> + <xsl:apply-templates mode="text" select="che:postBox"/> + <xsl:apply-templates mode="text" select="gmd:postalCode"/> + <xsl:apply-templates mode="text" select="gmd:city"/> + <xsl:apply-templates mode="text" select="gmd:administrativeArea"/> + <xsl:apply-templates mode="RespParty" select="gmd:country"/> + </GM03_2_1Core.Core.CI_Address> + </xsl:template> + + <xsl:template mode="RespParty" match="gmd:country"> + <xsl:choose> + <xsl:when test="@codeListValue"> + <country><xsl:value-of select="@codeListValue"/></country> + </xsl:when> + <xsl:when test="normalize-space(.) != ''"> + <country><xsl:value-of select="."/></country> + </xsl:when> + </xsl:choose> + </xsl:template> + <xsl:template mode="RespParty" match="gmd:contactInfo"> + <contactInfo REF="?"> + <xsl:apply-templates mode="RespParty"/> + </contactInfo> + </xsl:template> + + <xsl:template mode="RespParty" match="gmd:CI_Contact"> + <GM03_2_1Core.Core.CI_Contact TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:hoursOfService"/> + <xsl:apply-templates mode="textGroup" select="gmd:contactInstructions"/> + </GM03_2_1Core.Core.CI_Contact> + </xsl:template> + + <xsl:template mode="RespParty" match="*" priority="-100"> + <ERROR>Unknown RespParty element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + + <xsl:template mode="RespPartyRole" match="che:CHE_CI_ResponsibleParty|gmd:CI_ResponsibleParty"> + <xsl:apply-templates mode="enum" select="gmd:role"/> + </xsl:template> + + <xsl:template mode="RespPartyRole" match="*" priority="-100"> + <ERROR>Unknown RespPartyRole element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/spatial_repr.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/spatial_repr.xsl new file mode 100644 index 00000000000..acbd06123ae --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03/spatial_repr.xsl @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns="http://www.interlis.ch/INTERLIS2.3" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="che gco gmd gml util"> + + <!-- ================================================================================== --> + + <xsl:template mode="SpatialRepr" match="gmd:MD_VectorSpatialRepresentation"> + <GM03_2_1Comprehensive.Comprehensive.MD_VectorSpatialRepresentation TID="x{util:randomId()}"> + <BACK_REF name="MD_Metadata"/> + <xsl:apply-templates mode="text" select="gmd:topologyLevel"/> + <xsl:apply-templates mode="SpatialRepr" select="gmd:geometricObjects"/> + </GM03_2_1Comprehensive.Comprehensive.MD_VectorSpatialRepresentation> + </xsl:template> + + <xsl:template mode="SpatialRepr" match="gmd:geometricObjects"> + <xsl:apply-templates mode="SpatialRepr"/> + </xsl:template> + + <xsl:template mode="SpatialRepr" match="gmd:MD_GeometricObjects"> + <GM03_2_1Comprehensive.Comprehensive.MD_GeometricObjects TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:geometricObjectType"/> + <xsl:apply-templates mode="text" select="gmd:geometricObjectCount"/> + <BACK_REF name="MD_VectorSpatialRepresentation"/> + </GM03_2_1Comprehensive.Comprehensive.MD_GeometricObjects> + </xsl:template> + + <!-- ================================================================================== --> + + <xsl:template mode="SpatialRepr" match="gmd:MD_GridSpatialRepresentation"> + <GM03_2_1Comprehensive.Comprehensive.MD_GridSpatialRepresentation TID="x{util:randomId()}"> + <BACK_REF name="MD_Metadata"/> + <xsl:apply-templates mode="text" select="gmd:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="gmd:axisDimensionProperties"/> + <xsl:apply-templates mode="text" select="gmd:cellGeometry"/> + <xsl:apply-templates mode="text" select="gmd:transformationParameterAvailability"/> + </GM03_2_1Comprehensive.Comprehensive.MD_GridSpatialRepresentation> + </xsl:template> + + <xsl:template mode="SpatialRepr" match="gmd:axisDimensionProperties"> + <xsl:apply-templates mode="SpatialRepr"/> + </xsl:template> + + <xsl:template mode="SpatialRepr" match="gmd:MD_Dimension"> + <GM03_2_1Comprehensive.Comprehensive.MD_Dimension TID="x{util:randomId()}"> + <xsl:apply-templates mode="text" select="gmd:dimensionName"/> + <xsl:apply-templates mode="text" select="gmd:dimensionSize"/> + <xsl:apply-templates mode="text" select="gmd:resolution"/> + <BACK_REF name="MD_GridSpatialRepresentation"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Dimension> + </xsl:template> + + <!-- ================================================================================== --> + + <xsl:template mode="SpatialRepr" match="gmd:MD_Georectified"> + <GM03_2_1Comprehensive.Comprehensive.MD_Georectified TID="x{util:randomId()}"> + <BACK_REF name="MD_Metadata"/> + <!-- gridSpatial properties --> + <xsl:apply-templates mode="text" select="gmd:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="gmd:axisDimensionProperties"/> + <xsl:apply-templates mode="text" select="gmd:cellGeometry"/> + <xsl:apply-templates mode="text" select="gmd:transformationParameterAvailability"/> + + <!-- specific to MD_Georectified --> + <xsl:apply-templates mode="text" select="gmd:checkPointAvailability"/> + <xsl:apply-templates mode="text" select="gmd:checkPointDescription"/> + <xsl:if test="gmd:cornerPoints"> + <cornerPoints> + <xsl:apply-templates mode="SpatialRepr" select="gmd:cornerPoints"/> + </cornerPoints> + </xsl:if> + <xsl:apply-templates mode="SpatialRepr" select="gmd:centerPoint"/> + <xsl:apply-templates mode="SpatialRepr" select="gmd:pointInPixel"/> + <xsl:apply-templates mode="text" select="gmd:transformationDimensionDescription"/> + <xsl:apply-templates mode="text_" select="gmd:transformationDimensionMapping"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Georectified> + </xsl:template> + + <xsl:template match="gmd:cornerPoints" mode="SpatialRepr"> + <GM03_2_1Core.Core.GM_Point_> + <value> + <xsl:call-template name="explode" > + <xsl:with-param name="string" select="Point/gml:coordinates|gml320:Point/gml320:coordinates"/> + </xsl:call-template> + </value> + </GM03_2_1Core.Core.GM_Point_> + </xsl:template> + + <xsl:template match="gmd:centerPoint" mode="SpatialRepr"> + <centerPoint> + <xsl:call-template name="explode" > + <xsl:with-param name="string" select="gml:Point/gml:coordinates|gml320:Point/gml320:coordinates"/> + </xsl:call-template> + </centerPoint> + </xsl:template> + + <xsl:template match="gmd:pointInPixel" mode="SpatialRepr"> + <pointInPixel><xsl:value-of select="gmd:MD_PixelOrientationCode"/></pointInPixel> + </xsl:template> + + <!-- ================================================================================== --> + + <xsl:template mode="SpatialRepr" match="gmd:MD_Georeferenceable"> + <GM03_2_1Comprehensive.Comprehensive.MD_Georeferenceable TID="x{util:randomId()}"> + <BACK_REF name="MD_Metadata"/> + + <!-- gridSpatial properties --> + <xsl:apply-templates mode="text" select="gmd:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="gmd:axisDimensionProperties"/> + <xsl:apply-templates mode="text" select="gmd:cellGeometry"/> + <xsl:apply-templates mode="text" select="gmd:transformationParameterAvailability"/> + + <!-- specific to MD_Georeferenceable --> + <xsl:apply-templates mode="text" select="gmd:controlPointAvailability"/> + <xsl:apply-templates mode="text" select="gmd:orientationParameterAvailability"/> + <xsl:apply-templates mode="text" select="gmd:orientationParameterDescription"/> + <xsl:apply-templates mode="SpatialRepr" select="gmd:georeferencedParameters"/> + <xsl:apply-templates mode="Citation" select="gmd:parameterCitation"/> + </GM03_2_1Comprehensive.Comprehensive.MD_Georeferenceable> + </xsl:template> + + <xsl:template mode="SpatialRepr" match="gmd:georeferencedParameters"> + <georeferencedParameters><xsl:value-of select="gco:Record"/></georeferencedParameters> + </xsl:template> + + <!-- ================================================================================== --> + + <xsl:template mode="SpatialRepr" match="*" priority="-100"> + <ERROR>Unknown SpatialRepr element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03small/19139CHE-to-GM03small.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03small/19139CHE-to-GM03small.xsl new file mode 100644 index 00000000000..3a55aaac316 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/19139CHEtoGM03small/19139CHE-to-GM03small.xsl @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:GML="http://www.geocat.ch/2003/05/gateway/GML" + xmlns:ch="http://www.geocat.ch/2003/05/gateway/GM03Small" + exclude-result-prefixes="che gco gmd xsi gml"> + + <xsl:variable name="defaultLanguage"> + <xsl:apply-templates mode="language" select="/che:CHE_MD_Metadata/gmd:language/gco:CharacterString"/> + </xsl:variable> + + <xsl:template match="che:CHE_MD_Metadata|gmd:MD_Metadata"> + <ch:MD_Metadata objid="{gmd:fileIdentifier/gco:CharacterString}"> + <xsl:apply-templates mode="text" select="gmd:fileIdentifier"/> + <xsl:apply-templates mode="text" select="gmd:dateStamp"/> + <xsl:apply-templates mode="text" select="gmd:dataSetURI"/> + <xsl:apply-templates mode="text" select="gmd:metadataSetURI"/> <!-- TODO: eh? --> + <xsl:apply-templates mode="ident" select="gmd:identificationInfo"/> + </ch:MD_Metadata> + </xsl:template> + + <xsl:template mode="ident" match="gmd:identificationInfo|gmd:citation|gmd:pointOfContact"> + <xsl:apply-templates mode="ident"/> + </xsl:template> + + <xsl:template mode="ident" match="che:CHE_MD_DataIdentification|gmd:MD_DataIdentification"> + <ch:identificationInfo> + <xsl:apply-templates mode="language" select="gmd:language"/> + <xsl:apply-templates mode="text" select="gmd:purpose"/> + <xsl:apply-templates mode="text" select="gmd:topicCategory"/> + <xsl:apply-templates mode="text" select="gmd:abstract"/> + <xsl:apply-templates mode="ident" select="gmd:citation"/> + <xsl:apply-templates mode="ident" select="gmd:pointOfContact"/> + <xsl:apply-templates mode="ident" select="gmd:descriptiveKeywords"/> + <xsl:apply-templates mode="extent" select="gmd:extent"/> + </ch:identificationInfo> + </xsl:template> + + <xsl:template mode="extent" match="gmd:extent"> + <xsl:apply-templates mode="extent"/> + </xsl:template> + + <xsl:template mode="extent" match="gmd:EX_Extent"> + <ch:extent> + <xsl:apply-templates mode="text" select="gmd:description"/> + <xsl:for-each select="gmd:geographicElement"> + <ch:geographicElement> + <xsl:apply-templates mode="extent"/> + </ch:geographicElement> + </xsl:for-each> + </ch:extent> + </xsl:template> + + <xsl:template mode="extent" match="gmd:EX_GeographicDescription"> + <xsl:for-each select="gmd:geographicIdentifier/gmd:MD_Identifier"> + <ch:geographicIdentifier> + <xsl:apply-templates mode="text" select="gmd:code"/> + </ch:geographicIdentifier> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="extent" match="gmd:EX_GeographicBoundingBox"> + <xsl:apply-templates mode="text" select="gmd:westBoundLongitude"/> + <xsl:apply-templates mode="text" select="gmd:eastBoundLongitude"/> + <xsl:apply-templates mode="text" select="gmd:southBoundLatitude"/> + <xsl:apply-templates mode="text" select="gmd:northBoundLatitude"/> + </xsl:template> + + <xsl:template mode="extent" match="gmd:EX_BoundingPolygon"> + <xsl:for-each select="gmd:polygon/(gml:Polygon|gml320:Polygon)"> + <GML:Polygon srsName="EPSG:4326"> + <xsl:for-each select="gml:exterior|gml320:exterior"> + <GML:exteriorRing> + <xsl:apply-templates mode="extent" select="gml:Ring/gml:curveMember/gml:LineString/gml:coordinates|gml320:Ring/gml320:curveMember/gml320:LineString/gml320:coordinates"/> + </GML:exteriorRing> + </xsl:for-each> + <xsl:for-each select="gml:interior|gml320:interior"> + <GML:interiorRing> + <xsl:apply-templates mode="extent" select="gml:Ring/gml:curveMember/gml:LineString/gml:coordinates|gml320:Ring/gml320:curveMember/gml320:LineString/gml320:coordinates"/> + </GML:interiorRing> + </xsl:for-each> + </GML:Polygon> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="extent" match="gml:coordinates|gml320:coordinates"> + <GML_COORDINATES decimal="{@decimal}" cs="{@cs}" ts="{@ts}"> + <xsl:value-of select="."/> <!-- TODO: must be translated --> + </GML_COORDINATES> + </xsl:template> + + <xsl:template mode="extent" match="*"> + <ERROR>Unknown extent element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + + <xsl:template mode="ident" match="gmd:descriptiveKeywords"> + <ch:descriptiveKeywords> + <xsl:for-each select="gmd:MD_Keywords"> + <xsl:apply-templates mode="text" select="gmd:keyword"/> + </xsl:for-each> + </ch:descriptiveKeywords> + </xsl:template> + + <xsl:template mode="ident" match="gmd:pointOfContact"> + <xsl:apply-templates mode="ident"/> + </xsl:template> + + <xsl:template mode="ident" match="che:CHE_CI_ResponsibleParty|gmd:CI_ResponsibleParty"> + <ch:pointOfContact> + <xsl:apply-templates mode="text" select="gmd:role"/> + <xsl:if test="che:individualFirstName|che:individualLastName"> + <ch:individualName><xsl:value-of select="che:individualFirstName/gco:CharacterString"/> <xsl:value-of select="che:individualLastName/gco:CharacterString"/></ch:individualName> + </xsl:if> + <xsl:if test="gmd:individualName"> + <xsl:apply-templates mode="text" select="gmd:individualName"/> + </xsl:if> + <xsl:apply-templates mode="text" select="gmd:positionName"/> + <xsl:apply-templates mode="text" select="gmd:organisationName"/> + </ch:pointOfContact> + </xsl:template> + + <xsl:template mode="ident" match="gmd:CI_Citation"> + <ch:citation> + <xsl:apply-templates mode="text" select="gmd:title"/> + <xsl:apply-templates mode="ident" select="gmd:date"/> + </ch:citation> + </xsl:template> + + <xsl:template mode="ident" match="gmd:date"> + <xsl:apply-templates mode="ident"/> + </xsl:template> + + <xsl:template mode="ident" match="gmd:CI_Date"> + <ch:date> + <xsl:apply-templates mode="text" select="gmd:date"/> + <xsl:apply-templates mode="text" select="gmd:dateType"/> + </ch:date> + </xsl:template> + + <xsl:template mode="ident" match="*"> + <ERROR>Unknown ident element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + + <xsl:template mode="language" match="gmd:language"> + <ch:language> + <xsl:apply-templates mode="language"/> + </ch:language> + </xsl:template> + + <xsl:template mode="language" match="gco:CharacterString"> + <xsl:apply-templates mode="language"/> + </xsl:template> + + <xsl:template mode="language" match="text()"> + <xsl:choose> + <xsl:when test=".='deu'">de</xsl:when> + <xsl:when test=".='ger'">de</xsl:when> + <xsl:when test=".='fra'">fr</xsl:when> + <xsl:when test=".='fre'">fr</xsl:when> + <xsl:when test=".='ita'">it</xsl:when> + <xsl:when test=".='eng'">en</xsl:when> + </xsl:choose> + </xsl:template> + + <xsl:template mode="language" match="*"> + <ERROR>Unknown language element <xsl:value-of select="local-name(.)"/></ERROR> + </xsl:template> + + <xsl:template mode="text" match="*"> + <xsl:element name="ch:{local-name(.)}"> + <xsl:choose> + <xsl:when test="@xsi:type='gmd:PT_FreeText_PropertyType'"> + <xsl:for-each select="gco:CharacterString"> + <ch:textGroup> + <ch:plainText><xsl:value-of select="."/></ch:plainText> + <ch:language><xsl:value-of select="$defaultLanguage"/></ch:language> + </ch:textGroup> + </xsl:for-each> + <xsl:for-each select="gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <ch:textGroup> + <ch:plainText><xsl:value-of select="."/></ch:plainText> + <ch:language><xsl:value-of select="translate(substring(@locale, 2), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/></ch:language> + </ch:textGroup> + </xsl:for-each> + </xsl:when> + <xsl:when test="gco:CharacterString"><xsl:value-of select="gco:CharacterString"/></xsl:when> + <xsl:when test="gco:Date"><xsl:value-of select="gco:Date"/>T00:00:00+01:00</xsl:when> + <xsl:when test="gco:DateTime"><xsl:value-of select="gco:DateTime"/>+01:00</xsl:when> + <xsl:when test="gco:Decimal"><xsl:value-of select="gco:Decimal"/></xsl:when> + <xsl:when test="gmd:MD_TopicCategoryCode"><xsl:value-of select="gmd:MD_TopicCategoryCode"/></xsl:when> + <xsl:when test="*/@codeListValue"><xsl:value-of select="*/@codeListValue"/></xsl:when> + <xsl:otherwise> + <ERROR>Unknow text element</ERROR> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/CDMCoords-to-ISO19139Keywords.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/CDMCoords-to-ISO19139Keywords.xsl new file mode 100644 index 00000000000..435d4b4d8a0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/CDMCoords-to-ISO19139Keywords.xsl @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Mapping between netcdfDatasetInfo and ISO19139 keywords --> +<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:util="java:java.util.UUID" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" + exclude-result-prefixes="util"> + + <!-- ==================================================================== --> + + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + + <!-- ==================================================================== --> + + <xsl:template match="*"> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + + <xsl:for-each select="variable"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="concat(@name,' ',@long_name,' ',@decl)"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + <gmd:type> + <gmd:MD_KeywordTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString> + <xsl:value-of + select="concat(convention/@name,' (see http://www.unidata.ucar.edu/software/netcdf/conventions.html for more info on some conventions and adding conventions to the Unidata netcdf-4.0 Java library)')"/> + </gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>Data Parameters/Variables following the + <xsl:value-of select="convention/@name"/> conventions + </gco:CharacterString> + </gmd:alternateTitle> + </gmd:CI_Citation> + </gmd:thesaurusName> + + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + + </xsl:template> + + <!-- ============================================================================= --> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/DIFToISO.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/DIFToISO.xsl new file mode 100644 index 00000000000..5e60498509c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/DIFToISO.xsl @@ -0,0 +1,3654 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- ====================================================== --> +<!-- A translator for DIF (GCMD) to ISO 19115 --> +<!-- Written by Dave Connell (Australian Antarctic Data Centre) and Andy Townsend (Australian Antarctic Data Centre) --> +<!-- Released on the 5th of June, 2008. Last updated on the 6th of March, 2009 --> +<!-- Version 2.1 --> +<!-- ====================================================== --> + +<!-- Trap for young players - name space definitions must match those served out of geoserver --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:dif="http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/" + xmlns:fn="http://www.w3.org/2005/02/xpath-functions" + xmlns:util="java:java.util.UUID" + version="2.0" + exclude-result-prefixes="dif fn util"> + + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" media-type="text/plain"/> + <!--<xsl:strip-space elements="*"/> --> + + <!-- MATCH ROOT DIF --> + <xsl:template match="dif:DIF"> + + <!-- PRINT Dataset HEADER MATERIAL --> + <gmd:MD_Metadata> + + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="dif:Entry_ID"/> + </gco:CharacterString> + </gmd:fileIdentifier> + + <gmd:language> + <gco:CharacterString>eng</gco:CharacterString> + </gmd:language> + + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_CharacterSetCode"/> + </gmd:characterSet> + + <xsl:if test="dif:Parent_DIF!=''"> + <gmd:parentIdentifier> + <gco:CharacterString> + <xsl:value-of select="dif:Parent_DIF"/> + </gco:CharacterString> + </gmd:parentIdentifier> + </xsl:if> + + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset"/> + </gmd:hierarchyLevel> + + <xsl:for-each select="dif:Personnel"> + + <xsl:choose> + <xsl:when test="contains(.,'DIF AUTHOR')"> + + <xsl:for-each select="dif:Role"> + <xsl:if test=".='DIF AUTHOR'"> + <gmd:contact> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="../dif:Last_Name"></xsl:value-of>, + <xsl:value-of select="../dif:First_Name"></xsl:value-of> + </gco:CharacterString> + </gmd:individualName> + + <xsl:if + test="../dif:Phone!='' or ../dif:Fax!='' or ../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!=''"> + + <gmd:contactInfo> + <gmd:CI_Contact> + + <xsl:if test="../dif:Phone!='' or ../dif:Fax!=''"> + <gmd:phone> + <gmd:CI_Telephone> + <xsl:for-each select="../dif:Phone"> + <gmd:voice> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="../dif:Fax"> + <gmd:facsimile> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:facsimile> + </xsl:for-each> + </gmd:CI_Telephone> + </gmd:phone> + </xsl:if> + + <xsl:if + test="../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!=''"> + <gmd:address> + <gmd:CI_Address> + <xsl:for-each select="../dif:Contact_Address/dif:Address"> + <gmd:deliveryPoint> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:deliveryPoint> + </xsl:for-each> + <xsl:if test="../dif:Contact_Address/dif:City!=''"> + <gmd:city> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:City"/> + </gco:CharacterString> + </gmd:city> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Province_or_State!=''"> + <gmd:administrativeArea> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Province_or_State"/> + </gco:CharacterString> + </gmd:administrativeArea> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Postal_Code!=''"> + <gmd:postalCode> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Postal_Code"/> + </gco:CharacterString> + </gmd:postalCode> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Country!=''"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Country"/> + </gco:CharacterString> + </gmd:country> + </xsl:if> + <xsl:for-each select="../dif:Email"> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </xsl:for-each> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + + </gmd:CI_Contact> + </gmd:contactInfo> + + </xsl:if> + + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="author"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:contact> + </xsl:if> + </xsl:for-each> + + </xsl:when> + <xsl:otherwise> + + <gmd:contact> + <gmd:CI_ResponsibleParty> + <gmd:individualName gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:individualName> + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="author"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:contact> + + </xsl:otherwise> + </xsl:choose> + + </xsl:for-each> + + <xsl:if test="dif:Originating_Metadata_Node!=''"> + <gmd:contact> + <gmd:CI_ResponsibleParty> + <gmd:organisationName> + <gco:CharacterString> + <xsl:value-of select="dif:Originating_Metadata_Node"/> + </gco:CharacterString> + </gmd:organisationName> + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="originator"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:contact> + </xsl:if> + + <xsl:choose> + <xsl:when test="dif:DIF_Creation_Date!=''"> + <gmd:dateStamp> + <gco:Date> + <xsl:value-of select="dif:DIF_Creation_Date"/> + </gco:Date> + </gmd:dateStamp> + </xsl:when> + <xsl:when test="dif:DIF_Creation_Date=''"> + <gmd:dateStamp> + <gco:Date>Unknown + </gco:Date> + </gmd:dateStamp> + </xsl:when> + <xsl:otherwise> + <gmd:dateStamp> + <gco:Date>Unknown + </gco:Date> + </gmd:dateStamp> + </xsl:otherwise> + </xsl:choose> + + <gmd:metadataStandardName> + <gco:CharacterString> + <xsl:value-of select="dif:Metadata_Name"/> + </gco:CharacterString> + </gmd:metadataStandardName> + + <gmd:metadataStandardVersion> + <gco:CharacterString> + <xsl:value-of select="dif:Metadata_Version"/> + </gco:CharacterString> + </gmd:metadataStandardVersion> + + <gmd:identificationInfo> + <gmd:MD_DataIdentification> + <gmd:citation> + <gmd:CI_Citation> + + <gmd:title> + <gco:CharacterString> + <xsl:value-of select="dif:Entry_Title"/> + </gco:CharacterString> + </gmd:title> + + <xsl:if test="dif:Data_Set_Citation/dif:Dataset_Title!=''"> + <xsl:for-each select="dif:Data_Set_Citation"> + <gmd:alternateTitle> + <gco:CharacterString> + <xsl:value-of select="./dif:Dataset_Title"/> + </gco:CharacterString> + </gmd:alternateTitle> + </xsl:for-each> + </xsl:if> + + <xsl:choose> + <xsl:when test="dif:DIF_Creation_Date!=''"> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date> + <xsl:value-of select="dif:DIF_Creation_Date"/> + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </xsl:when> + <xsl:when test="dif:DIF_Creation_Date=''"> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>Unknown + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </xsl:when> + <xsl:otherwise> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>Unknown + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </xsl:otherwise> + </xsl:choose> + + <xsl:if test="dif:Data_Set_Citation/dif:Version!=''"> + <gmd:edition> + <gco:CharacterString> + <xsl:value-of select="dif:Data_Set_Citation/dif:Version"/> + </gco:CharacterString> + </gmd:edition> + </xsl:if> + + <xsl:if test="dif:Data_Center/dif:Data_Set_ID!=''"> + <xsl:for-each select="dif:Data_Center/dif:Data_Set_ID"> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </xsl:for-each> + </xsl:if> + + <xsl:if test="dif:Personnel!=''"> + + <xsl:for-each select="dif:Personnel"> + <xsl:for-each select="dif:Role"> + <xsl:if test=".='INVESTIGATOR'"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="../dif:Last_Name"/>, + <xsl:value-of select="../dif:First_Name"/> + </gco:CharacterString> + </gmd:individualName> + + <xsl:if + test="../dif:Phone!='' or ../dif:Fax!='' or ../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!=''"> + + <gmd:contactInfo> + <gmd:CI_Contact> + + <xsl:if test="../dif:Phone!='' or ../dif:Fax!=''"> + <gmd:phone> + <gmd:CI_Telephone> + <xsl:for-each select="../dif:Phone"> + <gmd:voice> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="../dif:Fax"> + <gmd:facsimile> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:facsimile> + </xsl:for-each> + </gmd:CI_Telephone> + </gmd:phone> + </xsl:if> + + <xsl:if + test="../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!=''"> + <gmd:address> + <gmd:CI_Address> + <xsl:for-each select="../dif:Contact_Address/dif:Address"> + <gmd:deliveryPoint> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:deliveryPoint> + </xsl:for-each> + <xsl:if test="../dif:Contact_Address/dif:City!=''"> + <gmd:city> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:City"/> + </gco:CharacterString> + </gmd:city> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Province_or_State!=''"> + <gmd:administrativeArea> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Province_or_State"/> + </gco:CharacterString> + </gmd:administrativeArea> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Postal_Code!=''"> + <gmd:postalCode> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Postal_Code"/> + </gco:CharacterString> + </gmd:postalCode> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Country!=''"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Country"/> + </gco:CharacterString> + </gmd:country> + </xsl:if> + <xsl:for-each select="../dif:Email"> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </xsl:for-each> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + + </gmd:CI_Contact> + </gmd:contactInfo> + + </xsl:if> + + <gmd:role> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="principalInvestigator"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Personnel"> + <xsl:for-each select="dif:Role"> + <xsl:if test=".='TECHNICAL CONTACT'"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="../dif:Last_Name"/>, + <xsl:value-of select="../dif:First_Name"/> + </gco:CharacterString> + </gmd:individualName> + + <xsl:if + test="../dif:Phone!='' or ../dif:Fax!='' or ../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!=''"> + + <gmd:contactInfo> + <gmd:CI_Contact> + + <xsl:if test="../dif:Phone!='' or ../dif:Fax!=''"> + <gmd:phone> + <gmd:CI_Telephone> + <xsl:for-each select="../dif:Phone"> + <gmd:voice> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="../dif:Fax"> + <gmd:facsimile> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:facsimile> + </xsl:for-each> + </gmd:CI_Telephone> + </gmd:phone> + </xsl:if> + + <xsl:if + test="../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!=''"> + <gmd:address> + <gmd:CI_Address> + <xsl:for-each select="../dif:Contact_Address/dif:Address"> + <gmd:deliveryPoint> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:deliveryPoint> + </xsl:for-each> + <xsl:if test="../dif:Contact_Address/dif:City!=''"> + <gmd:city> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:City"/> + </gco:CharacterString> + </gmd:city> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Province_or_State!=''"> + <gmd:administrativeArea> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Province_or_State"/> + </gco:CharacterString> + </gmd:administrativeArea> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Postal_Code!=''"> + <gmd:postalCode> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Postal_Code"/> + </gco:CharacterString> + </gmd:postalCode> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Country!=''"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Country"/> + </gco:CharacterString> + </gmd:country> + </xsl:if> + <xsl:for-each select="../dif:Email"> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </xsl:for-each> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + + </gmd:CI_Contact> + </gmd:contactInfo> + + </xsl:if> + + <gmd:role> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="processor"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + </xsl:if> + + <xsl:if test="dif:Data_Set_Citation/dif:Dataset_Creator!=''"> + <gmd:citedResponsibleParty> + <xsl:for-each select="dif:Data_Set_Citation"> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="./dif:Dataset_Creator"/> + </gco:CharacterString> + </gmd:individualName> + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="originator"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </xsl:for-each> + </gmd:citedResponsibleParty> + </xsl:if> + + <xsl:if test="dif:Originating_Center!=''"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="dif:Originating_Center"/> + </gco:CharacterString> + </gmd:individualName> + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="originator"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </xsl:if> + + <xsl:if test="dif:Data_Set_Citation/dif:Dataset_Publisher!=''"> + <gmd:citedResponsibleParty> + <xsl:for-each select="dif:Data_Set_Citation"> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="./dif:Dataset_Publisher"/> + </gco:CharacterString> + </gmd:individualName> + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="publisher"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </xsl:for-each> + </gmd:citedResponsibleParty> + </xsl:if> + + <xsl:if + test="dif:Data_Set_Citation/dif:Dataset_Series_Name!='' or dif:Data_Set_Citation/dif:Issue_Identification!=''"> + <gmd:series> + <xsl:for-each select="dif:Data_Set_Citation"> + <gmd:CI_Series> + <xsl:if test="dif:Dataset_Series_Name!=''"> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="./dif:Dataset_Series_Name"/> + </gco:CharacterString> + </gmd:name> + </xsl:if> + <xsl:if test="dif:Issue_Identification!=''"> + <gmd:issueIdentification> + <gco:CharacterString> + <xsl:value-of select="./dif:Issue_Identification"/> + </gco:CharacterString> + </gmd:issueIdentification> + </xsl:if> + </gmd:CI_Series> + </xsl:for-each> + </gmd:series> + </xsl:if> + + <xsl:if test="dif:Data_Set_Citation/dif:Other_Citation_Details!=''"> + <xsl:for-each select="dif:Data_Set_Citation"> + <gmd:otherCitationDetails> + <gco:CharacterString> + <xsl:value-of select="./dif:Other_Citation_Details"/> + </gco:CharacterString> + </gmd:otherCitationDetails> + </xsl:for-each> + </xsl:if> + + </gmd:CI_Citation> + </gmd:citation> + + <gmd:abstract> + <gco:CharacterString> + <xsl:value-of select="dif:Summary"/> + </gco:CharacterString> + </gmd:abstract> + + <xsl:if test="dif:Data_Set_Progress!=''"> + + <xsl:for-each select="dif:Data_Set_Progress"> + <xsl:if test=".='COMPLETE'"> + <gmd:status> + <gmd:MD_ProgressCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_ProgressCode" + codeListValue="completed"/> + </gmd:status> + </xsl:if> + </xsl:for-each> + + <xsl:for-each select="dif:Data_Set_Progress"> + <xsl:if test=".='IN WORK'"> + <gmd:status> + <gmd:MD_ProgressCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_ProgressCode" + codeListValue="onGoing"/> + </gmd:status> + </xsl:if> + </xsl:for-each> + + <xsl:for-each select="dif:Data_Set_Progress"> + <xsl:if test=".='PLANNED'"> + <gmd:status> + <gmd:MD_ProgressCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_ProgressCode" + codeListValue="planned"/> + </gmd:status> + </xsl:if> + </xsl:for-each> + + </xsl:if> + + <xsl:for-each select="dif:Data_Center"> + <xsl:for-each select="dif:Personnel/dif:Role"> + <gmd:pointOfContact> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="../dif:First_Name"/>, + <xsl:value-of select="../dif:Last_Name"/> + </gco:CharacterString> + </gmd:individualName> + <gmd:organisationName> + <gco:CharacterString> + <xsl:value-of select="../../dif:Data_Center_Name/dif:Short_Name"/> | + <xsl:value-of select="../../dif:Data_Center_Name/dif:Long_Name"/> + </gco:CharacterString> + </gmd:organisationName> + <gmd:positionName> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:positionName> + + <xsl:if + test="../dif:Phone!='' or ../dif:Fax!='' or ../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!='' or ../../dif:Data_Center_URL!=''"> + + <gmd:contactInfo> + <gmd:CI_Contact> + + <xsl:if test="../dif:Phone!='' or ../dif:Fax!=''"> + <gmd:phone> + <gmd:CI_Telephone> + <xsl:for-each select="../dif:Phone"> + <gmd:voice> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="../dif:Fax"> + <gmd:facsimile> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:facsimile> + </xsl:for-each> + </gmd:CI_Telephone> + </gmd:phone> + </xsl:if> + + <xsl:if + test="../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!='' or ../../dif:Data_Center_URL!=''"> + <gmd:address> + <gmd:CI_Address> + <xsl:for-each select="../dif:Contact_Address/dif:Address"> + <gmd:deliveryPoint> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:deliveryPoint> + </xsl:for-each> + <xsl:if test="../dif:Contact_Address/dif:City!=''"> + <gmd:city> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:City"/> + </gco:CharacterString> + </gmd:city> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Province_or_State!=''"> + <gmd:administrativeArea> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Province_or_State"/> + </gco:CharacterString> + </gmd:administrativeArea> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Postal_Code!=''"> + <gmd:postalCode> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Postal_Code"/> + </gco:CharacterString> + </gmd:postalCode> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Country!=''"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Country"/> + </gco:CharacterString> + </gmd:country> + </xsl:if> + <xsl:for-each select="../dif:Email"> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </xsl:for-each> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + + <xsl:if test="../../dif:Data_Center_URL!=''"> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:Data_Center_URL"/> + </gmd:URL> + </gmd:linkage> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </xsl:if> + + </gmd:CI_Contact> + </gmd:contactInfo> + + </xsl:if> + + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="resourceProvider"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:pointOfContact> + </xsl:for-each> + </xsl:for-each> + + <xsl:if + test="dif:Multimedia_Sample/dif:File!='' or dif:Multimedia_Sample/dif:Description!='' or dif:Multimedia_Sample/dif:Format!=''"> + + <xsl:for-each select="dif:Multimedia_Sample"> + <gmd:graphicOverview> + <gmd:MD_BrowseGraphic> + <xsl:choose> + <xsl:when test="dif:File!=''"> + <gmd:fileName> + <gco:CharacterString> + <xsl:value-of select="./dif:File"/> + </gco:CharacterString> + </gmd:fileName> + </xsl:when> + <xsl:when test="dif:File=''"> + <gmd:fileName gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:fileName> + </xsl:when> + <xsl:otherwise> + <gmd:fileName gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:fileName> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="dif:Description!=''"> + <gmd:fileDescription> + <gco:CharacterString> + <xsl:value-of select="./dif:Description"/> + </gco:CharacterString> + </gmd:fileDescription> + </xsl:if> + <xsl:if test="dif:Format!=''"> + <gmd:fileType> + <gco:CharacterString> + <xsl:value-of select="./dif:Format"/> + </gco:CharacterString> + </gmd:fileType> + </xsl:if> + </gmd:MD_BrowseGraphic> + </gmd:graphicOverview> + </xsl:for-each> + + </xsl:if> + + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:Parameters"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="dif:Topic"/> | + <xsl:value-of select="dif:Term"/> | + <xsl:value-of select="dif:Variable_Level_1"/> | + <xsl:value-of select="dif:Variable_Level_2"/> | + <xsl:value-of select="dif:Variable_Level_3"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GCMD Keywords</gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>Science Keywords</gco:CharacterString> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-02-05</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle> + <gco:CharacterString>Olsen, L.M., G. Major, K. Shein, J. Scialdone, R. Vogel, S. Leicester, H. Weir, + S. Ritz, T. Stevens, M. Meaux, C.Solomon, R. Bilodeau, M. Holland, T. Northcutt, R. A. Restrepo, + 2007 . NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version 6.0.0.0.0 + </gco:CharacterString> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + + <xsl:if test="dif:Keyword!=''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:Keyword"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:if> + + <xsl:if test="dif:Sensor_Name!=''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:Sensor_Name"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="dif:Short_Name"/> | + <xsl:value-of select="dif:Long_Name"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GCMD Keywords</gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>Instruments</gco:CharacterString> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-01-22</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle> + <gco:CharacterString>Olsen, L.M., G. Major, K. Shein, J. Scialdone, R. Vogel, S. Leicester, H. + Weir, S. Ritz, T. Stevens, M. Meaux, C.Solomon, R. Bilodeau, M. Holland, T. Northcutt, R. A. + Restrepo, 2007 . NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version + 6.0.0.0.0 + </gco:CharacterString> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:if> + + <xsl:if test="dif:Source_Name!=''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:Source_Name"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="dif:Short_Name"/> | + <xsl:value-of select="dif:Long_Name"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GCMD Keywords</gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>Platforms</gco:CharacterString> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-02-05</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle> + <gco:CharacterString>Olsen, L.M., G. Major, K. Shein, J. Scialdone, R. Vogel, S. Leicester, H. + Weir, S. Ritz, T. Stevens, M. Meaux, C.Solomon, R. Bilodeau, M. Holland, T. Northcutt, R. A. + Restrepo, 2007 . NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version + 6.0.0.0.0 + </gco:CharacterString> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:if> + + <xsl:if test="dif:Paleo_Temporal_Coverage!=''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:Paleo_Temporal_Coverage"> + <gmd:keyword> + <gco:CharacterString> + Paleo Start Date + <xsl:value-of select="dif:Paleo_Start_Date"/> + </gco:CharacterString> + </gmd:keyword> + <gmd:keyword> + <gco:CharacterString> + Paleo Stop Date + <xsl:value-of select="dif:Paleo_Stop_Date"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GCMD Paleo Temporal Coverage</gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>Paleo Start and Stop Dates</gco:CharacterString> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date> + <xsl:value-of select="dif:Last_DIF_Revision_Date"/> + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:if> + + <xsl:if test="dif:Paleo_Temporal_Coverage/dif:Chronostratigraphic_Unit!=''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:Paleo_Temporal_Coverage/dif:Chronostratigraphic_Unit"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="dif:Eon"/> | + <xsl:value-of select="dif:Era"/> | + <xsl:value-of select="dif:Period"/> | + <xsl:value-of select="dif:Epoch"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GCMD Keywords</gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>Chronostratigraphic Unit</gco:CharacterString> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2007-04-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle> + <gco:CharacterString>Olsen, L.M., G. Major, K. Shein, J. Scialdone, R. Vogel, S. Leicester, H. + Weir, S. Ritz, T. Stevens, M. Meaux, C.Solomon, R. Bilodeau, M. Holland, T. Northcutt, R. A. + Restrepo, 2007 . NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version + 6.0.0.0.0 + </gco:CharacterString> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:if> + + <xsl:if test="dif:Project!=''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:Project"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="dif:Short_Name"/> | + <xsl:value-of select="dif:Long_Name"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GCMD Keywords</gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>Projects</gco:CharacterString> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-01-24</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle> + <gco:CharacterString>Olsen, L.M., G. Major, K. Shein, J. Scialdone, R. Vogel, S. Leicester, H. + Weir, S. Ritz, T. Stevens, M. Meaux, C.Solomon, R. Bilodeau, M. Holland, T. Northcutt, R. A. + Restrepo, 2007 . NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version + 6.0.0.0.0 + </gco:CharacterString> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:if> + + <xsl:if test="dif:IDN_Node!=''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:IDN_Node"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="dif:Short_Name"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GCMD Keywords</gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>IDN Nodes</gco:CharacterString> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2007-04-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle> + <gco:CharacterString>Olsen, L.M., G. Major, K. Shein, J. Scialdone, R. Vogel, S. Leicester, H. + Weir, S. Ritz, T. Stevens, M. Meaux, C.Solomon, R. Bilodeau, M. Holland, T. Northcutt, R. A. + Restrepo, 2007 . NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version + 6.0.0.0.0 + </gco:CharacterString> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:if> + + <xsl:if test="dif:Location!=''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="dif:Location"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="dif:Location_Category"/> | + <xsl:value-of select="dif:Location_Type"/> | + <xsl:value-of select="dif:Location_Subregion1"/> | + <xsl:value-of select="dif:Location_Subregion2"/> | + <xsl:value-of select="dif:Location_Subregion3"/> | + <xsl:value-of select="dif:Detailed_Location"/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GCMD Keywords</gco:CharacterString> + </gmd:title> + <gmd:alternateTitle> + <gco:CharacterString>Locations</gco:CharacterString> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-02-05</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle> + <gco:CharacterString>Olsen, L.M., G. Major, K. Shein, J. Scialdone, R. Vogel, S. Leicester, H. + Weir, S. Ritz, T. Stevens, M. Meaux, C.Solomon, R. Bilodeau, M. Holland, T. Northcutt, R. A. + Restrepo, 2007 . NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version + 6.0.0.0.0 + </gco:CharacterString> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:if> + + <xsl:if test="dif:Access_Constraints!=''"> + <xsl:for-each select="dif:Access_Constraints"> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:otherConstraints> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </xsl:for-each> + </xsl:if> + + <xsl:if test="dif:Use_Constraints!=''"> + <xsl:for-each select="dif:Use_Constraints"> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + <gmd:otherConstraints> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </xsl:for-each> + </xsl:if> + + <xsl:choose> + <xsl:when test="dif:Data_Set_Language"> + + <xsl:for-each select="dif:Data_Set_Language"> + + <xsl:if test=".='English' or .='ENGLISH'"> + <gmd:language> + <gco:CharacterString>eng</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Afrikaans' or .='AFRIKAANS'"> + <gmd:language> + <gco:CharacterString>afr</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Arabic' or .='ARABIC'"> + <gmd:language> + <gco:CharacterString>ara</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Bosnian' or .='BOSNIAN'"> + <gmd:language> + <gco:CharacterString>bos</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Bulgarian' or .='BULGARIAN'"> + <gmd:language> + <gco:CharacterString>bul</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Chinese' or .='CHINESE'"> + <gmd:language> + <gco:CharacterString>chi</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Croatian' or .='CROATIAN'"> + <gmd:language> + <gco:CharacterString>scr</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Czech' or .='CZECH'"> + <gmd:language> + <gco:CharacterString>cze</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Danish' or .='DANISH'"> + <gmd:language> + <gco:CharacterString>dan</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Dutch' or .='DUTCH'"> + <gmd:language> + <gco:CharacterString>dut</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Estonian' or .='ESTONIAN'"> + <gmd:language> + <gco:CharacterString>est</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Finnish' or .='FINNISH'"> + <gmd:language> + <gco:CharacterString>fin</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='French' or .='FRENCH'"> + <gmd:language> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='German' or .='GERMAN'"> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Hebrew' or .='HEBREW'"> + <gmd:language> + <gco:CharacterString>heb</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Hungarian' or .='HUNGARIAN'"> + <gmd:language> + <gco:CharacterString>hun</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Indonesian' or .='INDONESIAN'"> + <gmd:language> + <gco:CharacterString>ind</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Italian' or .='ITALIAN'"> + <gmd:language> + <gco:CharacterString>ita</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Japanese' or .='JAPANESE'"> + <gmd:language> + <gco:CharacterString>jpn</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Korean' or .='KOREAN'"> + <gmd:language> + <gco:CharacterString>kor</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Latvian' or .='LATVIAN'"> + <gmd:language> + <gco:CharacterString>lav</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Lithuanian' or .='LITHUANIAN'"> + <gmd:language> + <gco:CharacterString>lit</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Norwegian' or .='NORWEGIAN'"> + <gmd:language> + <gco:CharacterString>nor</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Polish' or .='POLISH'"> + <gmd:language> + <gco:CharacterString>pol</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Portugese' or .='PORTUGESE'"> + <gmd:language> + <gco:CharacterString>por</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Romanian' or .='ROMANIAN'"> + <gmd:language> + <gco:CharacterString>rum</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Russian' or .='RUSSIAN'"> + <gmd:language> + <gco:CharacterString>rus</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Slovak' or .='SLOVAK'"> + <gmd:language> + <gco:CharacterString>slo</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Spanish' or .='SPANISH'"> + <gmd:language> + <gco:CharacterString>spa</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Ukranian' or .='UKRANIAN'"> + <gmd:language> + <gco:CharacterString>ukr</gco:CharacterString> + </gmd:language> + </xsl:if> + + <xsl:if test=".='Vietnamese' or .='VIETNAMESE'"> + <gmd:language> + <gco:CharacterString>vie</gco:CharacterString> + </gmd:language> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:language gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:language> + </xsl:otherwise> + </xsl:choose> + + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_CharacterSetCode"/> + </gmd:characterSet> + + <xsl:for-each select="dif:ISO_Topic_Category"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode> + <xsl:value-of select="lower-case(normalize-space(.))"/> + </gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + </xsl:for-each> + + <gmd:extent> + <gmd:EX_Extent> + + <xsl:choose> + <xsl:when + test="dif:Spatial_Coverage/dif:Westernmost_Longitude!='' and dif:Spatial_Coverage/dif:Easternmost_Longitude!='' and dif:Spatial_Coverage/dif:Southernmost_Latitude!='' and dif:Spatial_Coverage/dif:Northernmost_Latitude!=''"> + <gmd:geographicElement> + <xsl:for-each select="dif:Spatial_Coverage"> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal> + <xsl:value-of select="./dif:Westernmost_Longitude"/> + </gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal> + <xsl:value-of select="./dif:Easternmost_Longitude"/> + </gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal> + <xsl:value-of select="./dif:Southernmost_Latitude"/> + </gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal> + <xsl:value-of select="./dif:Northernmost_Latitude"/> + </gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </xsl:for-each> + </gmd:geographicElement> + </xsl:when> + <xsl:when + test="dif:Spatial_Coverage/dif:Westernmost_Longitude='' and dif:Spatial_Coverage/dif:Easternmost_Longitude='' and dif:Spatial_Coverage/dif:Southernmost_Latitude='' and dif:Spatial_Coverage/dif:Northernmost_Latitude=''"> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:RS_Identifier> + <gmd:code gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:code> + </gmd:RS_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </xsl:when> + <xsl:otherwise> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:RS_Identifier> + <gmd:code gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:code> + </gmd:RS_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </xsl:otherwise> + </xsl:choose> + + <xsl:choose> + <xsl:when test="dif:Temporal_Coverage!=''"> + <xsl:for-each select="dif:Temporal_Coverage"> + <gmd:temporalElement> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:begin> + <gml:TimeInstant> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(./dif:Start_Date)"/> + </xsl:attribute> + <gml:timePosition> + <xsl:value-of select="./dif:Start_Date"/> + </gml:timePosition> + </gml:TimeInstant> + </gml:begin> + <gml:end> + <gml:TimeInstant> + <xsl:choose> + <xsl:when test="./dif:Stop_Date!=''"> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(./dif:Stop_Date)"/> + </xsl:attribute> + </xsl:when> + <xsl:when test="./dif:Stop_Date=''"> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="./dif:Stop_Date!=''"> + <gml:timePosition> + <xsl:value-of select="./dif:Stop_Date"/> + </gml:timePosition> + </xsl:when> + <xsl:when test="./dif:Stop_Date=''"> + <gml:timePosition>Unknown + </gml:timePosition> + </xsl:when> + <xsl:otherwise> + <gml:timePosition>Unknown + </gml:timePosition> + </xsl:otherwise> + </xsl:choose> + </gml:TimeInstant> + </gml:end> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </gmd:temporalElement> + </xsl:for-each> + </xsl:when> + <xsl:when test="dif:Temporal_Coverage=''"> + <gmd:temporalElement> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:begin> + <gml:TimeInstant> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:timePosition>Unknown + </gml:timePosition> + </gml:TimeInstant> + </gml:begin> + <gml:end> + <gml:TimeInstant> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:timePosition>Unknown + </gml:timePosition> + </gml:TimeInstant> + </gml:end> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </gmd:temporalElement> + </xsl:when> + <xsl:otherwise> + <gmd:temporalElement> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:begin> + <gml:TimeInstant> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:timePosition>Unknown + </gml:timePosition> + </gml:TimeInstant> + </gml:begin> + <gml:end> + <gml:TimeInstant> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:timePosition>Unknown + </gml:timePosition> + </gml:TimeInstant> + </gml:end> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </gmd:temporalElement> + </xsl:otherwise> + </xsl:choose> + + <xsl:for-each select="dif:Spatial_Coverage"> + <xsl:if test="./dif:Minimum_Altitude!='' or ./dif:Maximum_Altitude!=''"> + <gmd:verticalElement> + <gmd:EX_VerticalExtent> + + <xsl:if test="./dif:Minimum_Altitude!=''"> + <xsl:for-each select="./dif:Minimum_Altitude"> + <gmd:minimumValue> + <gco:Real> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Real> + </gmd:minimumValue> + </xsl:for-each> + </xsl:if> + <xsl:if test="./dif:Maximum_Altitude!=''"> + <xsl:for-each select="./dif:Maximum_Altitude"> + <gmd:maximumValue> + <gco:Real> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Real> + </gmd:maximumValue> + </xsl:for-each> + </xsl:if> + <xsl:if test="./dif:Minimum_Altitude!=''"> + <gmd:verticalCRS> + <gml:VerticalCRS> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:scope/> + + <xsl:if + test="substring-after(./dif:Minimum_Altitude,' ')='m' or substring-after(./dif:Minimum_Altitude,' ')='metres' or substring-after(./dif:Minimum_Altitude,' ')='meters'"> + <gml:verticalCS> + <gml:VerticalCS gml:id="epsg-cs-6499"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:cs:EPSG:6499</gml:identifier> + <gml:name>Vertical CS. Axis: height (H). Orientation: up. UoM: m.</gml:name> + <gml:axis> + <gml:CoordinateSystemAxis gml:id="epsg-axis-114" + gml:uom="urn:x-ogc:def:uom:EPSG:9001"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:axis:EPSG:114</gml:identifier> + <gml:name>height</gml:name> + <gml:axisAbbrev>H</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">up</gml:axisDirection> + </gml:CoordinateSystemAxis> + </gml:axis> + </gml:VerticalCS> + </gml:verticalCS> + </xsl:if> + + <xsl:if + test="substring-after(./dif:Minimum_Altitude,' ')='ft' or substring-after(./dif:Minimum_Altitude,' ')='feet'"> + <gml:verticalCS> + <gml:VerticalCS gml:id="epsg-cs-6496"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:cs:EPSG:6496</gml:identifier> + <gml:name>Vertical CS. Axis: height (H). Orientation: up. UoM: ft(Br36).</gml:name> + <gml:axis> + <gml:CoordinateSystemAxis gml:id="epsg-axis-111" + gml:uom="urn:x-ogc:def:uom:EPSG:9095"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:axis:EPSG:111</gml:identifier> + <gml:name>height</gml:name> + <gml:axisAbbrev>H</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">up</gml:axisDirection> + </gml:CoordinateSystemAxis> + </gml:axis> + </gml:VerticalCS> + </gml:verticalCS> + </xsl:if> + + <gml:verticalDatum> + <gml:VerticalDatum> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:scope/> + </gml:VerticalDatum> + </gml:verticalDatum> + </gml:VerticalCRS> + </gmd:verticalCRS> + </xsl:if> + + <xsl:if test="not(./dif:Minimum_Altitude/text()) and ./dif:Maximum_Altitude!=''"> + <gmd:verticalCRS> + <gml:VerticalCRS> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:scope/> + + <xsl:if + test="substring-after(./dif:Minimum_Altitude,' ')='m' or substring-after(./dif:Minimum_Altitude,' ')='metres' or substring-after(./dif:Minimum_Altitude,' ')='meters'"> + <gml:verticalCS> + <gml:VerticalCS gml:id="epsg-cs-6499"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:cs:EPSG:6499</gml:identifier> + <gml:name>Vertical CS. Axis: height (H). Orientation: up. UoM: m.</gml:name> + <gml:axis> + <gml:CoordinateSystemAxis gml:id="epsg-axis-114" + gml:uom="urn:x-ogc:def:uom:EPSG:9001"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:axis:EPSG:114</gml:identifier> + <gml:name>height</gml:name> + <gml:axisAbbrev>H</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">up</gml:axisDirection> + </gml:CoordinateSystemAxis> + </gml:axis> + </gml:VerticalCS> + </gml:verticalCS> + </xsl:if> + + <xsl:if + test="substring-after(./dif:Minimum_Altitude,' ')='ft' or substring-after(./dif:Minimum_Altitude,' ')='feet'"> + <gml:verticalCS> + <gml:VerticalCS gml:id="epsg-cs-6496"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:cs:EPSG:6496</gml:identifier> + <gml:name>Vertical CS. Axis: height (H). Orientation: up. UoM: ft(Br36).</gml:name> + <gml:axis> + <gml:CoordinateSystemAxis gml:id="epsg-axis-111" + gml:uom="urn:x-ogc:def:uom:EPSG:9095"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:axis:EPSG:111</gml:identifier> + <gml:name>height</gml:name> + <gml:axisAbbrev>H</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">up</gml:axisDirection> + </gml:CoordinateSystemAxis> + </gml:axis> + </gml:VerticalCS> + </gml:verticalCS> + </xsl:if> + + <gml:verticalDatum> + <gml:VerticalDatum> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:scope/> + </gml:VerticalDatum> + </gml:verticalDatum> + </gml:VerticalCRS> + </gmd:verticalCRS> + </xsl:if> + + </gmd:EX_VerticalExtent> + </gmd:verticalElement> + </xsl:if> + </xsl:for-each> + + <xsl:for-each select="dif:Spatial_Coverage"> + <xsl:if test="./dif:Minimum_Depth!='' or ./dif:Maximum_Depth!=''"> + <gmd:verticalElement> + <gmd:EX_VerticalExtent> + + <xsl:if test="./dif:Minimum_Depth!=''"> + <xsl:for-each select="./dif:Minimum_Depth"> + <gmd:minimumValue> + <gco:Real> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Real> + </gmd:minimumValue> + </xsl:for-each> + </xsl:if> + <xsl:if test="./dif:Maximum_Depth!=''"> + <xsl:for-each select="./dif:Maximum_Depth"> + <gmd:maximumValue> + <gco:Real> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Real> + </gmd:maximumValue> + </xsl:for-each> + </xsl:if> + <xsl:if test="./dif:Minimum_Depth!=''"> + <gmd:verticalCRS> + <gml:VerticalCRS> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:scope/> + + <xsl:if + test="substring-after(./dif:Minimum_Depth,' ')='m' or substring-after(./dif:Minimum_Depth,' ')='metres' or substring-after(./dif:Minimum_Depth,' ')='meters'"> + <gml:verticalCS> + <gml:VerticalCS gml:id="epsg-cs-6498"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:cs:EPSG:6498</gml:identifier> + <gml:name>Vertical CS. Axis: depth (D). Orientation: down. UoM: m.</gml:name> + <gml:axis> + <gml:CoordinateSystemAxis gml:id="epsg-axis-113" + gml:uom="urn:x-ogc:def:uom:EPSG:9001"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:axis:EPSG:113</gml:identifier> + <gml:name>depth</gml:name> + <gml:axisAbbrev>D</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">down</gml:axisDirection> + </gml:CoordinateSystemAxis> + </gml:axis> + </gml:VerticalCS> + </gml:verticalCS> + </xsl:if> + + <xsl:if + test="substring-after(./dif:Minimum_Depth,' ')='ft' or substring-after(./dif:Minimum_Depth,' ')='feet'"> + <gml:verticalCS> + <gml:VerticalCS gml:id="epsg-cs-6495"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:cs:EPSG:6495</gml:identifier> + <gml:name>Vertical CS. Axis: depth (D). Orientation: down. UoM: ft.</gml:name> + <gml:axis> + <gml:CoordinateSystemAxis gml:id="epsg-axis-214" + gml:uom="urn:x-ogc:def:uom:EPSG:9002"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:axis:EPSG:214</gml:identifier> + <gml:name>depth</gml:name> + <gml:axisAbbrev>D</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">down</gml:axisDirection> + </gml:CoordinateSystemAxis> + </gml:axis> + </gml:VerticalCS> + </gml:verticalCS> + </xsl:if> + + <gml:verticalDatum> + <gml:VerticalDatum> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:scope/> + </gml:VerticalDatum> + </gml:verticalDatum> + </gml:VerticalCRS> + </gmd:verticalCRS> + </xsl:if> + + <xsl:if test="not(./dif:Minimum_Depth/text()) and ./dif:Maximum_Depth!=''"> + <gmd:verticalCRS> + <gml:VerticalCRS> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:scope/> + + <xsl:if + test="substring-after(./dif:Minimum_Depth,' ')='m' or substring-after(./dif:Minimum_Depth,' ')='metres' or substring-after(./dif:Minimum_Depth,' ')='meters'"> + <gml:verticalCS> + <gml:VerticalCS gml:id="epsg-cs-6498"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:cs:EPSG:6498</gml:identifier> + <gml:name>Vertical CS. Axis: depth (D). Orientation: down. UoM: m.</gml:name> + <gml:axis> + <gml:CoordinateSystemAxis gml:id="epsg-axis-113" + gml:uom="urn:x-ogc:def:uom:EPSG:9001"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:axis:EPSG:113</gml:identifier> + <gml:name>depth</gml:name> + <gml:axisAbbrev>D</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">down</gml:axisDirection> + </gml:CoordinateSystemAxis> + </gml:axis> + </gml:VerticalCS> + </gml:verticalCS> + </xsl:if> + + <xsl:if + test="substring-after(./dif:Minimum_Depth,' ')='ft' or substring-after(./dif:Minimum_Depth,' ')='feet'"> + <gml:verticalCS> + <gml:VerticalCS gml:id="epsg-cs-6495"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:cs:EPSG:6495</gml:identifier> + <gml:name>Vertical CS. Axis: depth (D). Orientation: down. UoM: ft.</gml:name> + <gml:axis> + <gml:CoordinateSystemAxis gml:id="epsg-axis-214" + gml:uom="urn:x-ogc:def:uom:EPSG:9002"> + <gml:identifier codeSpace="EPSG">urn:x-ogc:def:axis:EPSG:214</gml:identifier> + <gml:name>depth</gml:name> + <gml:axisAbbrev>D</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">down</gml:axisDirection> + </gml:CoordinateSystemAxis> + </gml:axis> + </gml:VerticalCS> + </gml:verticalCS> + </xsl:if> + + <gml:verticalDatum> + <gml:VerticalDatum> + <xsl:attribute name="gml:id"> + <xsl:variable name="uid" select="util:toString(util:randomUUID())"/> + <xsl:value-of select="concat('a',$uid)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:scope/> + </gml:VerticalDatum> + </gml:verticalDatum> + </gml:VerticalCRS> + </gmd:verticalCRS> + </xsl:if> + + </gmd:EX_VerticalExtent> + </gmd:verticalElement> + </xsl:if> + </xsl:for-each> + + </gmd:EX_Extent> + </gmd:extent> + + <xsl:if test="dif:Reference!=''"> + <gmd:supplementalInformation> + <gco:CharacterString> + <xsl:value-of select="dif:Reference"/> + </gco:CharacterString> + </gmd:supplementalInformation> + </xsl:if> + + </gmd:MD_DataIdentification> + </gmd:identificationInfo> + + <gmd:distributionInfo> + <gmd:MD_Distribution> + + <xsl:choose> + <xsl:when test="dif:Distribution_Format!=''"> + <xsl:for-each select="dif:Distribution"> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="./dif:Distribution_Format"/> + </gco:CharacterString> + </gmd:name> + <gmd:version gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </xsl:for-each> + </xsl:when> + <xsl:when test="dif:Distribution_Format=''"> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:name> + <gmd:version gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </xsl:when> + <xsl:otherwise> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:name> + <gmd:version gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </xsl:otherwise> + </xsl:choose> + + <xsl:for-each select="dif:Data_Center"> + <xsl:for-each select="dif:Personnel/dif:Role"> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="../dif:First_Name"/>, + <xsl:value-of select="../dif:Last_Name"/> + </gco:CharacterString> + </gmd:individualName> + <gmd:organisationName> + <gco:CharacterString> + <xsl:value-of select="../../dif:Data_Center_Name/dif:Short_Name"/> | + <xsl:value-of select="../../dif:Data_Center_Name/dif:Long_Name"/> + </gco:CharacterString> + </gmd:organisationName> + <gmd:positionName> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:positionName> + + <xsl:if + test="../dif:Phone!='' or ../dif:Fax!='' or ../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!='' or ../../dif:Data_Center_URL!=''"> + + <gmd:contactInfo> + <gmd:CI_Contact> + + <xsl:if test="../dif:Phone!='' or ../dif:Fax!=''"> + <gmd:phone> + <gmd:CI_Telephone> + <xsl:for-each select="../dif:Phone"> + <gmd:voice> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="../dif:Fax"> + <gmd:facsimile> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:facsimile> + </xsl:for-each> + </gmd:CI_Telephone> + </gmd:phone> + </xsl:if> + + <xsl:if + test="../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!='' or ../../dif:Data_Center_URL!=''"> + <gmd:address> + <gmd:CI_Address> + <xsl:for-each select="../dif:Contact_Address/dif:Address"> + <gmd:deliveryPoint> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:deliveryPoint> + </xsl:for-each> + <xsl:if test="../dif:Contact_Address/dif:City!=''"> + <gmd:city> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:City"/> + </gco:CharacterString> + </gmd:city> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Province_or_State!=''"> + <gmd:administrativeArea> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Province_or_State"/> + </gco:CharacterString> + </gmd:administrativeArea> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Postal_Code!=''"> + <gmd:postalCode> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Postal_Code"/> + </gco:CharacterString> + </gmd:postalCode> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Country!=''"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Country"/> + </gco:CharacterString> + </gmd:country> + </xsl:if> + <xsl:for-each select="../dif:Email"> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </xsl:for-each> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + + <xsl:if test="../../dif:Data_Center_URL!=''"> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:Data_Center_URL"/> + </gmd:URL> + </gmd:linkage> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </xsl:if> + + </gmd:CI_Contact> + </gmd:contactInfo> + + </xsl:if> + + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="distributor"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:distributorContact> + + <xsl:if + test="../../../dif:Distribution/dif:Fees!='' or ../../../dif:Data_Set_Citation/dif:Dataset_Release_Date!=''"> + <xsl:for-each select="../../../dif:Distribution"> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess> + <xsl:if test="./dif:Fees!=''"> + <gmd:fees> + <gco:CharacterString> + <xsl:value-of select="./dif:Fees"/> + </gco:CharacterString> + </gmd:fees> + </xsl:if> + <xsl:if test="../dif:Data_Set_Citation/dif:Dataset_Release_Date!=''"> + <gmd:plannedAvailableDateTime> + <gco:DateTime> + <xsl:value-of select="../dif:Data_Set_Citation/dif:Dataset_Release_Date"/>T12:00:00 + </gco:DateTime> + </gmd:plannedAvailableDateTime> + </xsl:if> + </gmd:MD_StandardOrderProcess> + </gmd:distributionOrderProcess> + </xsl:for-each> + </xsl:if> + + </gmd:MD_Distributor> + </gmd:distributor> + </xsl:for-each> + </xsl:for-each> + + <xsl:if + test="dif:Distribution/dif:Distribution_Size!='' or dif:Related_URL!='' or dif:Multimedia_Sample/dif:URL!='' or dif:Data_Set_Citation/dif:Online_Resource!='' or dif:Distribution/dif:Distribution_Media!=''"> + + + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + + <xsl:if test="dif:Distribution/dif:Distribution_Size!=''"> + <xsl:for-each select="dif:Distribution/dif:Distribution_Size"> + <gmd:unitsOfDistribution> + <gco:CharacterString> + <xsl:value-of select="substring-after(.,' ')"/> + </gco:CharacterString> + </gmd:unitsOfDistribution> + <gmd:transferSize> + <gco:Real> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Real> + </gmd:transferSize> + </xsl:for-each> + </xsl:if> + + <xsl:if test="dif:Related_URL!=''"> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='ECHO'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='EDG'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='EOSDIS DATA POOL'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='GIOVANNI'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='LAADS'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='LAS'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='MIRADOR'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='MODAPS'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='NOMADS'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='OPENDAP DATA (DODS)'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='OPENDAP DIRECTORY (DODS)'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='THREDDS CATALOG'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='THREDDS DATA'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='THREDDS DIRECTORY'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='WHOM'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='WIST'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Type"> + <xsl:if test=".='GET DATA'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Type"> + <xsl:if test=".='GET RELATED DATA SET METADATA (DIF)'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Type"> + <xsl:if test=".='GET RELATED SERVICE METADATA (SERF)'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='ACCESS MAP VIEWER'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='ACCESS WEB SERVICE'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='GET MAP SERVICE'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='GET SOFTWARE PACKAGE'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='GET WEB COVERAGE SERVICE (WCS)'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='GET WEB FEATURE SERVICE (WFS)'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='GET WEB MAP SERVICE (WMS)'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='GET WORKFLOW (SERVICE CHAIN)'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Type"> + <xsl:if test=".='GET SERVICE'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Type"> + <xsl:if test=".='VIEW EXTENDED METADATA'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Type"> + <xsl:if test=".='VIEW PROJECT HOME PAGE'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='PRODUCT HISTORY'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Subtype"> + <xsl:if test=".='USER''S GUIDE'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> | + <xsl:value-of select="../../dif:URL_Content_Type/dif:Subtype"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="dif:Related_URL/dif:URL_Content_Type"> + <xsl:for-each select="dif:Type"> + <xsl:if test=".='VIEW RELATED INFORMATION'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../../dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="../../dif:URL_Content_Type/dif:Type"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="../../dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + </xsl:if> + + <xsl:choose> + <xsl:when test="dif:Related_URL"> + </xsl:when> + <xsl:otherwise> + <xsl:if test="dif:Distribution/dif:Distribution_Media!=''"> + <xsl:if + test="dif:Distribution/dif:Distribution_Media='HTTP' or dif:Distribution/dif:Distribution_Media='FTP'"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage gco:nilReason="missing"> + <gmd:URL/> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:name> + <gmd:description gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:if> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + + <xsl:if test="dif:Multimedia_Sample/dif:URL!=''"> + <xsl:for-each select="dif:Multimedia_Sample"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="./dif:URL"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString>Multimedia Sample</gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="./dif:Description"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:for-each> + </xsl:if> + + <xsl:if test="dif:Data_Set_Citation/dif:Online_Resource!=''"> + <xsl:for-each select="dif:Data_Set_Citation"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="./dif:Online_Resource"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString>Data Set Citation</gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="./dif:Dataset_Title"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:for-each> + </xsl:if> + + <xsl:if test="dif:Distribution/dif:Distribution_Media!=''"> + + <xsl:for-each select="dif:Distribution/dif:Distribution_Media"> + <xsl:if test=".='HTTP' or .='FTP'"> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_MediumNameCode" + codeListValue="onLine"/> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </xsl:if> + </xsl:for-each> + + <xsl:for-each select="dif:Distribution/dif:Distribution_Media"> + <xsl:if test=".='CD'"> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_MediumNameCode" + codeListValue="cdRom"/> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </xsl:if> + </xsl:for-each> + + <xsl:for-each select="dif:Distribution/dif:Distribution_Media"> + <xsl:if test=".='DVD'"> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_MediumNameCode" + codeListValue="dvd"/> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </xsl:if> + </xsl:for-each> + + </xsl:if> + + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + + </xsl:if> + + </gmd:MD_Distribution> + </gmd:distributionInfo> + + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset"/> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + + <xsl:if test="dif:Data_Resolution!=''"> + + <xsl:for-each select="dif:Data_Resolution/dif:Temporal_Resolution"> + <gmd:report> + <gmd:DQ_AccuracyOfATimeMeasurement> + <gmd:nameOfMeasure> + <gco:CharacterString>Temporal Resolution</gco:CharacterString> + </gmd:nameOfMeasure> + <gmd:result> + <gmd:DQ_QuantitativeResult> + <gmd:valueUnit> + <gml:DerivedUnit> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:derivationUnitTerm uom="{substring-after(.,' ')}"/> + </gml:DerivedUnit> + </gmd:valueUnit> + <gmd:value> + <gco:Record> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Record> + </gmd:value> + </gmd:DQ_QuantitativeResult> + </gmd:result> + </gmd:DQ_AccuracyOfATimeMeasurement> + </gmd:report> + </xsl:for-each> + + <xsl:for-each select="dif:Data_Resolution/dif:Latitude_Resolution"> + <gmd:report> + <gmd:DQ_AbsoluteExternalPositionalAccuracy> + <gmd:nameOfMeasure> + <gco:CharacterString>Latitude Resolution</gco:CharacterString> + </gmd:nameOfMeasure> + <gmd:result> + <gmd:DQ_QuantitativeResult> + <gmd:valueUnit> + <gml:DerivedUnit> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:derivationUnitTerm uom="{substring-after(.,' ')}"/> + </gml:DerivedUnit> + </gmd:valueUnit> + <gmd:value> + <gco:Record> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Record> + </gmd:value> + </gmd:DQ_QuantitativeResult> + </gmd:result> + </gmd:DQ_AbsoluteExternalPositionalAccuracy> + </gmd:report> + </xsl:for-each> + + <xsl:for-each select="dif:Data_Resolution/dif:Longitude_Resolution"> + <gmd:report> + <gmd:DQ_AbsoluteExternalPositionalAccuracy> + <gmd:nameOfMeasure> + <gco:CharacterString>Longitude Resolution</gco:CharacterString> + </gmd:nameOfMeasure> + <gmd:result> + <gmd:DQ_QuantitativeResult> + <gmd:valueUnit> + <gml:DerivedUnit> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:derivationUnitTerm uom="{substring-after(.,' ')}"/> + </gml:DerivedUnit> + </gmd:valueUnit> + <gmd:value> + <gco:Record> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Record> + </gmd:value> + </gmd:DQ_QuantitativeResult> + </gmd:result> + </gmd:DQ_AbsoluteExternalPositionalAccuracy> + </gmd:report> + </xsl:for-each> + + <xsl:for-each select="dif:Data_Resolution/dif:Vertical_Resolution"> + <gmd:report> + <gmd:DQ_AbsoluteExternalPositionalAccuracy> + <gmd:nameOfMeasure> + <gco:CharacterString>Vertical Resolution</gco:CharacterString> + </gmd:nameOfMeasure> + <gmd:result> + <gmd:DQ_QuantitativeResult> + <gmd:valueUnit> + <gml:DerivedUnit> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <gml:identifier codeSpace=""/> + <gml:derivationUnitTerm uom="{substring-after(.,' ')}"/> + </gml:DerivedUnit> + </gmd:valueUnit> + <gmd:value> + <gco:Record> + <xsl:value-of select="substring-before(.,' ')"/> + </gco:Record> + </gmd:value> + </gmd:DQ_QuantitativeResult> + </gmd:result> + </gmd:DQ_AbsoluteExternalPositionalAccuracy> + </gmd:report> + </xsl:for-each> + + </xsl:if> + + <xsl:choose> + <xsl:when test="dif:Quality!=''"> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement> + <gco:CharacterString> + <xsl:value-of select="dif:Quality"/> + </gco:CharacterString> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </xsl:when> + <xsl:when test="dif:Quality=''"> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </xsl:when> + <xsl:otherwise> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </xsl:otherwise> + </xsl:choose> + + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + + <xsl:choose> + <xsl:when test="dif:Private"> + + <xsl:for-each select="dif:Private"> + + <xsl:if test=".='True' or .='TRUE'"> + <gmd:metadataConstraints> + <gmd:MD_LegalConstraints> + <gmd:useLimitation> + <gco:CharacterString>This metadata record is publicly available.</gco:CharacterString> + </gmd:useLimitation> + </gmd:MD_LegalConstraints> + </gmd:metadataConstraints> + </xsl:if> + + <xsl:if test=".='False' or .='FALSE'"> + <gmd:metadataConstraints> + <gmd:MD_LegalConstraints> + <gmd:useLimitation> + <gco:CharacterString>This metadata record is not publicly available.</gco:CharacterString> + </gmd:useLimitation> + </gmd:MD_LegalConstraints> + </gmd:metadataConstraints> + </xsl:if> + + </xsl:for-each> + + </xsl:when> + + <xsl:otherwise> + <gmd:metadataConstraints> + <gmd:MD_LegalConstraints> + <gmd:useLimitation> + <gco:CharacterString>This metadata record is publicly available.</gco:CharacterString> + </gmd:useLimitation> + </gmd:MD_LegalConstraints> + </gmd:metadataConstraints> + </xsl:otherwise> + + </xsl:choose> + + <gmd:metadataMaintenance> + <gmd:MD_MaintenanceInformation> + + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_MaintenanceFrequencyCode" + codeListValue="asNeeded"/> + </gmd:maintenanceAndUpdateFrequency> + + <xsl:if test="dif:Future_DIF_Review_Date!=''"> + <gmd:dateOfNextUpdate> + <gco:Date> + <xsl:value-of select="dif:Future_DIF_Review_Date"/> + </gco:Date> + </gmd:dateOfNextUpdate> + </xsl:if> + + <xsl:if test="dif:DIF_Revision_History!=''"> + <gmd:maintenanceNote> + <gco:CharacterString> + <xsl:value-of select="dif:DIF_Revision_History"/> + </gco:CharacterString> + </gmd:maintenanceNote> + </xsl:if> + + <xsl:for-each select="dif:Personnel"> + <xsl:for-each select="dif:Role"> + <xsl:if test=".='DIF AUTHOR'"> + <gmd:contact> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="../dif:Last_Name"></xsl:value-of>, + <xsl:value-of select="../dif:First_Name"></xsl:value-of> + </gco:CharacterString> + </gmd:individualName> + + <xsl:if + test="../dif:Phone!='' or ../dif:Fax!='' or ../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!=''"> + + <gmd:contactInfo> + <gmd:CI_Contact> + + <xsl:if test="../dif:Phone!='' or ../dif:Fax!=''"> + <gmd:phone> + <gmd:CI_Telephone> + <xsl:for-each select="../dif:Phone"> + <gmd:voice> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="../dif:Fax"> + <gmd:facsimile> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:facsimile> + </xsl:for-each> + </gmd:CI_Telephone> + </gmd:phone> + </xsl:if> + + <xsl:if + test="../dif:Contact_Address/dif:Address!='' or ../dif:Contact_Address/dif:City!='' or ../dif:Contact_Address/dif:Province_or_State!='' or ../dif:Contact_Address/dif:Postal_Code!='' or ../dif:Contact_Address/dif:Country!='' or ../dif:Email!=''"> + <gmd:address> + <gmd:CI_Address> + <xsl:for-each select="../dif:Contact_Address/dif:Address"> + <gmd:deliveryPoint> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:deliveryPoint> + </xsl:for-each> + <xsl:if test="../dif:Contact_Address/dif:City!=''"> + <gmd:city> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:City"/> + </gco:CharacterString> + </gmd:city> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Province_or_State!=''"> + <gmd:administrativeArea> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Province_or_State"/> + </gco:CharacterString> + </gmd:administrativeArea> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Postal_Code!=''"> + <gmd:postalCode> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Postal_Code"/> + </gco:CharacterString> + </gmd:postalCode> + </xsl:if> + <xsl:if test="../dif:Contact_Address/dif:Country!=''"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="../dif:Contact_Address/dif:Country"/> + </gco:CharacterString> + </gmd:country> + </xsl:if> + <xsl:for-each select="../dif:Email"> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </xsl:for-each> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + + </gmd:CI_Contact> + </gmd:contactInfo> + + </xsl:if> + + <gmd:role> + <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="author"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:contact> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + </gmd:MD_MaintenanceInformation> + </gmd:metadataMaintenance> + </gmd:MD_Metadata> + + + </xsl:template> + <!-- ====================================================== --> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03-to-ISO19139CHE.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03-to-ISO19139CHE.xsl new file mode 100644 index 00000000000..0c53cec0139 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03-to-ISO19139CHE.xsl @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.api.gm03.TranslateAndValidate" + exclude-result-prefixes="#all"> + <xsl:output method="xml" + version="1.0" + encoding="UTF-8" + indent="yes"/> + + <xsl:param name="uuid"/> + <xsl:param name="validate"/> + <xsl:param name="debugDir"/> + <xsl:param name="debugFileName"/> + <xsl:param name="webappDir"/> + <xsl:template match="/"> + <xsl:copy-of select="util:toCheBootstrap(., $uuid, $validate, $debugFileName, $webappDir)"></xsl:copy-of> + </xsl:template> + <xsl:strip-space elements="*"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03SMALL-to-ISO19139CHE.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03SMALL-to-ISO19139CHE.xsl new file mode 100644 index 00000000000..df9f5f5bf7b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03SMALL-to-ISO19139CHE.xsl @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all"> + <xsl:output method="xml" + version="1.0" + encoding="UTF-8" + indent="yes"/> + + <xsl:include href="GM03smallto19139CHE/GM03small-to-19139CHE.xsl"/> + + <xsl:strip-space elements="*"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03smallto19139CHE/GM03small-to-19139CHE.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03smallto19139CHE/GM03small-to-19139CHE.xsl new file mode 100644 index 00000000000..55686d433ea --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03smallto19139CHE/GM03small-to-19139CHE.xsl @@ -0,0 +1,295 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" xmlns:che="http://www.geocat.ch/2008/che" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:GML="http://www.geocat.ch/2003/05/gateway/GML" xmlns:ch="http://www.geocat.ch/2003/05/gateway/GM03Small" exclude-result-prefixes="ch GML"> + + <xsl:variable name="defaultLanguage"> + <xsl:apply-templates mode="language" select="/ch:MD_Metadata/ch:identificationInfo/ch:language"/> + </xsl:variable> + + <xsl:template match="ch:MD_Metadata"> + <che:CHE_MD_Metadata gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="ch:fileIdentifier"/> + </gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="ch:identificationInfo/ch:language='de'">ger</xsl:when> + <xsl:when test="ch:identificationInfo/ch:language='fr'">fre</xsl:when> + <xsl:when test="ch:identificationInfo/ch:language='it'">ita</xsl:when> + <xsl:when test="ch:identificationInfo/ch:language='rm'">roh</xsl:when> + <xsl:otherwise>eng</xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode"/> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode"/> + </gmd:hierarchyLevel> + <gmd:contact></gmd:contact> + <gmd:dateStamp> + <gco:DateTime> + <xsl:value-of select="ch:dateStamp"/> + </gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString xmlns:srv="http://www.isotc211.org/2005/srv">GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeListValue="ger" codeList="#LanguageCode">German</gmd:LanguageCode> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeListValue="fre" codeList="#LanguageCode">French</gmd:LanguageCode> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeListValue="ita" codeList="#LanguageCode">Italian</gmd:LanguageCode> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeListValue="eng" codeList="#LanguageCode">English</gmd:LanguageCode> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeListValue="roh" codeList="#LanguageCode">Rumantsch</gmd:LanguageCode> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + + <!-- Add identification section --> + <xsl:call-template name="identification"/> + + <!-- Map metadata URL to an onlineSrc section --> + <xsl:call-template name="distribution"/> + + </che:CHE_MD_Metadata> + </xsl:template> + + <xsl:template name="distribution"> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:LocalisedURL> + <xsl:value-of select="ch:metadataSetURI"/> + </che:LocalisedURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:name> + <gmd:description gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + + </xsl:template> + + + <xsl:template name="identification"> + + <gmd:identificationInfo> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:call-template name="localised"> + <xsl:with-param name="node" select="ch:identificationInfo/ch:citation/ch:title"/> + </xsl:call-template> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date> + <xsl:value-of select="ch:identificationInfo/ch:citation/ch:date/ch:date"/> + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="{ch:identificationInfo/ch:citation/ch:date/ch:dateType}" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:call-template name="localised"> + <xsl:with-param name="node" select="ch:identificationInfo/ch:abstract"/> + </xsl:call-template> + </gmd:abstract> + + + <!-- contact --> + <xsl:for-each select="ch:identificationInfo/ch:pointOfContact"> + <xsl:if test="ch:organisationName!='' or ch:individualName!=''"> + <gmd:pointOfContact> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <xsl:if test="ch:organisationName"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:call-template name="localised"> + <xsl:with-param name="node" select="ch:organisationName"/> + </xsl:call-template> + </gmd:organisationName> + </xsl:if> + <xsl:if test="ch:individualName"> + <che:individualLastName> + <gco:CharacterString><xsl:value-of select="ch:individualName"/></gco:CharacterString> + </che:individualLastName> + </xsl:if> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="{ch:role}"/> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + </xsl:if> + </xsl:for-each> + + + <xsl:for-each select="ch:identificationInfo/ch:descriptiveKeywords"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords xmlns:skos="http://www.w3.org/2004/02/skos/core#"> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:call-template name="localised"> + <xsl:with-param name="node" select="ch:keyword"/> + </xsl:call-template> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeListValue="theme" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode"/> + </gmd:type> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:for-each> + + <gmd:language> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="ch:identificationInfo/ch:language='de'">ger</xsl:when> + <xsl:when test="ch:identificationInfo/ch:language='fr'">fre</xsl:when> + <xsl:when test="ch:identificationInfo/ch:language='it'">ita</xsl:when> + <xsl:when test="ch:identificationInfo/ch:language='rm'">roh</xsl:when> + <xsl:otherwise>eng</xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </gmd:language> + + <xsl:for-each select="ch:identificationInfo/ch:topicCategory"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode><xsl:value-of select="."/></gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + </xsl:for-each> + + + <xsl:for-each select="ch:identificationInfo/ch:extent"> + <gmd:extent> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:call-template name="localised"> + <xsl:with-param name="node" select="ch:description"/> + </xsl:call-template> + </gmd:description> + <xsl:for-each select="ch:geographicElement"> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal xmlns:gco="http://www.isotc211.org/2005/gco"> + <xsl:value-of select="ch:westBoundLongitude"/> + </gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal xmlns:gco="http://www.isotc211.org/2005/gco"> + <xsl:value-of select="ch:eastBoundLongitude"/> + </gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal xmlns:gco="http://www.isotc211.org/2005/gco"> + <xsl:value-of select="ch:southBoundLatitude"/> + </gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal xmlns:gco="http://www.isotc211.org/2005/gco"> + <xsl:value-of select="ch:northBoundLatitude"/> + </gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </xsl:for-each> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + </xsl:template> + + <xsl:template name="localised"> + <xsl:param name="node"/> + + <xsl:for-each select="$node/ch:textGroup[ch:language=$defaultLanguage]"> + <gco:CharacterString><xsl:value-of select="ch:plainText"/></gco:CharacterString> + </xsl:for-each> + <xsl:for-each select="$node/ch:textGroup[ch:language!=$defaultLanguage]"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString> + <xsl:attribute name="locale"> + <xsl:choose> + <xsl:when test="ch:language='de'">#DE</xsl:when> + <xsl:when test="ch:language='fr'">#FR</xsl:when> + <xsl:when test="ch:language='it'">#IT</xsl:when> + <xsl:otherwise>#EN</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:value-of select="ch:plainText"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </xsl:for-each> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/CHE03-to-19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/CHE03-to-19139.xsl new file mode 100644 index 00000000000..0508145b652 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/CHE03-to-19139.xsl @@ -0,0 +1,399 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:comp="http://www.geocat.ch/2003/05/gateway/GM03Comprehensive" + xmlns:che="http://www.geocat.ch/2008/che" + 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:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:include href="resolve-refs.xsl"/> + <xsl:include href="metadata.xsl"/> + <xsl:include href="resp-party.xsl"/> + <xsl:include href="spatial-repr.xsl"/> + <xsl:include href="citation.xsl"/> + <xsl:include href="content.xsl"/> + <xsl:include href="maintenance-info.xsl"/> + <xsl:include href="data-quality.xsl"/> + <xsl:include href="identification.xsl"/> + <xsl:include href="extent.xsl"/> + <xsl:include href="distribution.xsl"/> + <xsl:include href="ref-system.xsl"/> + <xsl:include href="legislation.xsl"/> + + <xsl:param name="uuid"/> + <xsl:param name="DEBUG">0</xsl:param> + <xsl:template match="/comp:TRANSFER/comp:DATASECTION/comp:GM03Comprehensive.Comprehensive|/comp:TRANSFER/comp:DATASECTION/comp:GM03Core.Core" + priority="10"> + <xsl:variable name="noNamespace"> + <xsl:apply-templates mode="remove-namespace" select="/"/> + </xsl:variable> + + <xsl:apply-templates select="$noNamespace"/> + </xsl:template> + <xsl:variable name="UPPER">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable> + <xsl:variable name="LOWER">abcdefghijklmnopqrstuvwxyz</xsl:variable> + <xsl:template mode="remove-namespace" match="/|comment()|processing-instruction()"> + <xsl:copy> + <xsl:apply-templates mode="remove-namespace" /> + </xsl:copy> + </xsl:template> + + <xsl:template mode="remove-namespace" match="*"> + <xsl:element name="{local-name()}" namespace=""> + <xsl:apply-templates mode="remove-namespace" select="@*|node()" /> + </xsl:element> + </xsl:template> + + <xsl:template mode="remove-namespace" match="@*"> + <xsl:attribute name="{local-name()}" namespace=""> + <xsl:value-of select="." /> + </xsl:attribute> + </xsl:template> + + <xsl:template match="/TRANSFER/DATASECTION/GM03Comprehensive.Comprehensive|/TRANSFER/DATASECTION/GM03Core.Core"> + <xsl:choose> + <xsl:when test="$DEBUG=1"> + <xsl:apply-templates select="." mode="ResolveRefs"/> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="resolvedText"> + <xsl:apply-templates select="." mode="ResolveRefs"/> + </xsl:variable> + <xsl:variable name="resolved" select="$resolvedText"/> + + <xsl:apply-templates select="$resolved" mode="root"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="/" mode="root"> + <xsl:apply-templates mode="root"/> + </xsl:template> + + <xsl:template match="GM03Comprehensive.Comprehensive|GM03Core.Core" mode="root"> + <che:CHE_MD_Metadata gco:isoType="gmd:MD_Metadata"> + <xsl:apply-templates mode="root"/> + </che:CHE_MD_Metadata> + </xsl:template> + + <xsl:template match="GM03Core.Core.MD_Metadata" mode="root"> + <xsl:apply-templates select="." mode="MetaData"/> + </xsl:template> + + <xsl:template match="GM03Comprehensive.Comprehensive.formatDistributordistributorFormat" mode="root"/> + + <xsl:template match="*" mode="root"> + <ERROR mode="root" tag="{name(..)}/{name(.)}"/> + </xsl:template> + + <xsl:template name="mainLanguage"> + <xsl:choose> + <xsl:when test="//GM03Core.Core.MD_Metadata/language"> + <xsl:value-of select="//GM03Core.Core.MD_Metadata/language"/> + </xsl:when> + <xsl:otherwise>de</xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="locale"> + <xsl:variable name="mainLanguage"> + <xsl:call-template name="mainLanguage"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="language"> + <xsl:value-of select="translate(language, $LOWER, $UPPER)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="translate($mainLanguage, $LOWER, $UPPER)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="text()" mode="root"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">root</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:variable name="mainLanguage"> + <xsl:call-template name="mainLanguage"/> + </xsl:variable> + + <xsl:template match="GM03Core.Core.PT_FreeURL" mode="language"> + <xsl:attribute name="xsi:type">che:PT_FreeURL_PropertyType</xsl:attribute> + + <che:PT_FreeURL> + <xsl:apply-templates mode="language" select="URLGroup/GM03Core.Core.PT_URLGroup"/> + </che:PT_FreeURL> + </xsl:template> + + <xsl:template match="GM03Core.Core.PT_URLGroup" mode="language"> + + <xsl:variable name="lang"> + <xsl:call-template name="locale"/> + </xsl:variable> + <che:URLGroup> + <che:LocalisedURL locale="#{$lang}"> + <xsl:value-of select="normalize-space(plainURL)"/> + </che:LocalisedURL> + </che:URLGroup> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="languageGroup"> + <xsl:param name="element" select="name()" /> + <xsl:element name="gmd:{$element}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + + <xsl:if test="*[local-name()=$element]/GM03Core.Core.PT_FreeText/textGroup/GM03Core.Core.PT_Group"> + <gmd:PT_FreeText> + <xsl:apply-templates select="*[local-name()=$element]/GM03Core.Core.PT_FreeText/textGroup/GM03Core.Core.PT_Group" mode="language"/> + </gmd:PT_FreeText> + </xsl:if> + </xsl:element> + </xsl:template> + + <xsl:template match="GM03Core.Core.PT_FreeText" mode="language"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + + <xsl:if test="textGroup/GM03Core.Core.PT_Group"> + <gmd:PT_FreeText> + <xsl:apply-templates select="textGroup/GM03Core.Core.PT_Group" mode="language"/> + </gmd:PT_FreeText> + </xsl:if> + </xsl:template> + + <xsl:template match="GM03Core.Core.PT_Group" mode="language"> + <xsl:variable name="lang"> + <xsl:call-template name="locale"/> + </xsl:variable> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#{$lang}"> + <xsl:value-of select="plainText"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="languageToIso3" match="text()"> + <xsl:variable name="lang" select="translate(., $LOWER, $UPPER)"/> + <xsl:choose> + <xsl:when test="$lang='DE'">ger</xsl:when> + <xsl:when test="$lang='FR'">fre</xsl:when> + <xsl:when test="$lang='IT'">ita</xsl:when> + <xsl:when test="$lang='EN'">eng</xsl:when> + <xsl:when test="$lang='RM'">roh</xsl:when> + <xsl:otherwise>ERROR_<xsl:value-of select="$lang"/></xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="language" match="CodeISO.LanguageCodeISO_"> + <gmd:language> + <gco:CharacterString><xsl:apply-templates mode="languageToIso3" select="value"/></gco:CharacterString> + </gmd:language> + </xsl:template> + + <xsl:template mode="language" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">language</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="real"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="real"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="real"> + <gco:Real> + <xsl:value-of select="."/> + </gco:Real> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="integerCHE"> + <xsl:element name="che:{local-name(.)}"> + <xsl:apply-templates mode="integer"/> + </xsl:element> + </xsl:template> + + <xsl:template match="*" mode="integer"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="integer"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="integer"> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="boolean"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="boolean"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="boolean"> + <gco:Boolean> + <xsl:choose> + <xsl:when test="translate(string(.),$UPPER,$LOWER) = 'false'">0</xsl:when> + <xsl:when test="translate(string(.),$UPPER,$LOWER) = 'true'">1</xsl:when> + <xsl:otherwise> + <xsl:value-of select="."/> + </xsl:otherwise> + </xsl:choose> + </gco:Boolean> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="string"> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="text" match="*"> + <xsl:param name="prefix">gmd</xsl:param> + <xsl:choose> + <xsl:when test="GM03Core.Core.PT_FreeText"> + <xsl:for-each select="GM03Core.Core.PT_FreeText"> + <xsl:element name="{$prefix}:{local-name(..)}"> + <xsl:apply-templates mode="language" select="."/> + </xsl:element> + </xsl:for-each> + </xsl:when> + <xsl:when test="GM03Core.Core.CharacterString_"> + <xsl:element name="{$prefix}:{local-name(.)}"> + <xsl:for-each select="GM03Core.Core.CharacterString_"> + <gco:CharacterString> + <xsl:value-of select="value"/> + </gco:CharacterString> + </xsl:for-each> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:element name="{$prefix}:{local-name(.)}"> + <xsl:apply-templates mode="string"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="textCHE" match="*"> + <xsl:choose> + <xsl:when test="GM03Core.Core.PT_FreeText"> + <xsl:for-each select="GM03Core.Core.PT_FreeText"> + <xsl:element name="che:{local-name(..)}"> + <xsl:apply-templates mode="language" select="."/> + </xsl:element> + </xsl:for-each> + </xsl:when> + <xsl:when test="GM03Core.Core.CharacterString_"> + <xsl:element name="che:{local-name(.)}"> + <xsl:for-each select="GM03Core.Core.CharacterString_"> + <gco:CharacterString> + <xsl:value-of select="value"/> + </gco:CharacterString> + </xsl:for-each> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:element name="che:{local-name(.)}"> + <xsl:apply-templates mode="string"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="date"> + <xsl:choose> + <xsl:when test="string-length(.)=0"> + </xsl:when> + <xsl:when test="string-length(.)&lt;=10"> + <gco:Date> + <xsl:value-of select="translate(., ':', '-')"/> + </gco:Date> + </xsl:when> + <xsl:when test="string-length(.)=16"> + <gco:Date> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/>:00 + </gco:Date> + </xsl:when> + <xsl:otherwise> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/> + </gco:DateTime> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="dateTime"> + <xsl:choose> + <xsl:when test="string-length(.)=0"> + </xsl:when> + <xsl:when test="string-length(.)&lt;=10"> + <gco:DateTime> + <xsl:value-of select="translate(., ':', '-')"/>T12:00:00 + </gco:DateTime> + </xsl:when> + <xsl:when test="string-length(.)=16"> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/>:00 + </gco:DateTime> + </xsl:when> + <xsl:otherwise> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/> + </gco:DateTime> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="UnMatchedText"> + <xsl:param name="mode">???</xsl:param> + <xsl:if test="normalize-space(.)!=''"> + <ERROR mode="{$mode}" + tag="{name(../../../../../../..)}/{name(../../../../../..)}/{name(../../../../..)}/{name(../../../..)}/{name(../../..)}/{name(../..)}/{name(..)}" TID="{@TID}"> + <xsl:value-of select="."/> + </ERROR> + </xsl:if> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/citation.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/citation.xsl new file mode 100644 index 00000000000..a0adc966b6d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/citation.xsl @@ -0,0 +1,146 @@ +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:template mode="Citation" match="GM03Comprehensive.Comprehensive.CI_Citation|GM03Core.Core.CI_Citation|citation"> + <gmd:CI_Citation> + <xsl:for-each select="title"> + <gmd:title> + <xsl:apply-templates mode="language"/> + </gmd:title> + </xsl:for-each> + <xsl:for-each select="alternateTitle/GM03Core.Core.PT_FreeText"> + <gmd:alternateTitle> + <xsl:apply-templates mode="language" select="."/> + </gmd:alternateTitle> + </xsl:for-each> + <xsl:if test="not(GM03Core.Core.CI_Date) and not(alternateTitle/GM03Core.Core.PT_FreeText)"> + <gmd:date/> + </xsl:if> + <xsl:for-each select="GM03Core.Core.CI_Date"> + <gmd:date> + <xsl:apply-templates select="." mode="CitationDate"/> + </gmd:date> + </xsl:for-each> + <xsl:for-each select="edition"> + <gmd:edition> + <xsl:apply-templates mode="string" select="."/> + </gmd:edition> + </xsl:for-each> + <xsl:for-each select="editionDate"> + <gmd:editionDate> + <xsl:apply-templates mode="date" select="."/> + </gmd:editionDate> + </xsl:for-each> + <xsl:for-each select="identifier|GM03Comprehensive.Comprehensive.CI_Citationidentifier/identifier"> + <gmd:identifier> + <xsl:apply-templates mode="Identifier"/> + </gmd:identifier> + </xsl:for-each> + <xsl:for-each select="GM03Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty"> + <gmd:citedResponsibleParty> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:citedResponsibleParty> + </xsl:for-each> + <xsl:for-each select="presentationForm"> + <gmd:presentationForm> + <gmd:CI_PresentationFormCode codeList="./resources/codeList.xml#CI_PresentationFormCode" + codeListValue="{GM03Comprehensive.Comprehensive.CI_PresentationFormCode_/value}"/> + </gmd:presentationForm> + </xsl:for-each> + <xsl:for-each select="series/GM03Comprehensive.Comprehensive.CI_Series"> + <gmd:series> + <gmd:CI_Series> + <xsl:apply-templates mode="text" select="name"/> + <xsl:apply-templates mode="text" select="issueIdentification"/> + <xsl:apply-templates mode="text" select="page"/> + </gmd:CI_Series> + </gmd:series> + </xsl:for-each> + <xsl:for-each select="otherCitationDetails"> + <gmd:otherCitationDetails> + <xsl:apply-templates mode="language"/> + </gmd:otherCitationDetails> + </xsl:for-each> + <xsl:for-each select="collectiveTitle"> + <gmd:collectiveTitle> + <xsl:apply-templates mode="language"/> + </gmd:collectiveTitle> + </xsl:for-each> + <xsl:for-each select="ISBN"> + <gmd:ISBN> + <xsl:apply-templates mode="string"/> + </gmd:ISBN> + </xsl:for-each> + <xsl:for-each select="ISSN"> + <gmd:ISSN> + <xsl:apply-templates mode="string"/> + </gmd:ISSN> + </xsl:for-each> + </gmd:CI_Citation> + </xsl:template> + + <xsl:template mode="Citation" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Citation</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Citation" match="GM03Core.Core.CI_Date"> + <gmd:date> + <xsl:apply-templates select="." mode="CitationDate"/> + </gmd:date> + </xsl:template> + + <xsl:template mode="CitationDate" match="GM03Core.Core.CI_Date"> + <gmd:CI_Date> + <xsl:apply-templates mode="CitationDate"/> + </gmd:CI_Date> + </xsl:template> + + <xsl:template mode="CitationDate" match="date"> + <gmd:date> + <xsl:apply-templates mode="date" select="."/> + </gmd:date> + </xsl:template> + + <xsl:template mode="CitationDate" match="dateType"> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="./resources/codeList.xml#CI_DateTypeCode" codeListValue="{.}" /> + </gmd:dateType> + </xsl:template> + + <xsl:template mode="CitationDate" match="CI_Citation"/> + + <xsl:template mode="CitationDate" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">CitationDate</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Identifier" match="GM03Core.Core.MD_Identifier/code/GM03Core.Core.PT_FreeText/textGroup"> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString> + <xsl:value-of select="GM03Core.Core.PT_Group/plainText[1]"/> + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </xsl:template> + + <xsl:template mode="Identifier" match="GM03Comprehensive.Comprehensive.RS_Identifier"> + <xsl:apply-templates mode="MdIdent" select="." /> + </xsl:template> + + <xsl:template mode="Identifier" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Identifier</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/content.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/content.xsl new file mode 100644 index 00000000000..f0a2a46bf20 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/content.xsl @@ -0,0 +1,328 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml"> + + <xsl:template mode="Content" + match="GM03Comprehensive.Comprehensive.MD_CoverageDescription"> + <che:CHE_MD_CoverageDescription> + <xsl:apply-templates mode="Content" select="attributeDescription"/> + <xsl:apply-templates mode="Content" select="contentType"/> + <xsl:apply-templates mode="Content" select="GM03Comprehensive.Comprehensive.dimensionMD_CoverageDescription"/> + <xsl:apply-templates mode="Content" select="filmType"/> + <xsl:apply-templates mode="integerCHE" select="focalDistance"/> + </che:CHE_MD_CoverageDescription> + </xsl:template> + + <xsl:template mode="Content" match="filmType"> + <che:filmType> + <che:CHE_MD_FilmTypeCode codeList="?" codeListValue="{.}"/> + </che:filmType> + </xsl:template> + + <xsl:template mode="Content" match="attributeDescription"> + <gmd:attributeDescription> + <gco:RecordType> + <xsl:value-of select="."/> + </gco:RecordType> + </gmd:attributeDescription> + </xsl:template> + + <xsl:template mode="Content" match="contentType"> + <gmd:contentType> + <gmd:MD_CoverageContentTypeCode + codeList="./resources/codeList.xml#MD_CoverageContentTypeCode" + codeListValue="{.}"/> + </gmd:contentType> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.dimensionMD_CoverageDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="dimension"> + <gmd:dimension> + <xsl:apply-templates mode="Content"/> + </gmd:dimension> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_Band"> + <gmd:MD_Band> + <xsl:apply-templates mode="Content" select="sequenceIdentifier"/> + <xsl:apply-templates mode="text" select="descriptor"/> + <xsl:apply-templates mode="real" select="maxValue"/> + <xsl:apply-templates mode="real" select="minValue"/> + <xsl:apply-templates mode="Content" select="units"/> + <xsl:apply-templates mode="real" select="peakResponse"/> + <xsl:apply-templates mode="integer" select="bitsPerValue"/> + <xsl:apply-templates mode="integer" select="toneGradation"/> + <xsl:apply-templates mode="real" select="scaleFactor"/> + <xsl:apply-templates mode="real" select="offset"/> + </gmd:MD_Band> + </xsl:template> + + <xsl:template mode="Content" match="sequenceIdentifier"> + <gmd:sequenceIdentifier> + <gco:MemberName> + <!-- TODO: what to put here? --> + <gco:aName> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </gco:MemberName> + </gmd:sequenceIdentifier> + </xsl:template> + + <xsl:template mode="Content" match="units"> + <xsl:variable name="unit" select="text()"/> + <gmd:units> + <xsl:copy-of select="document('../units.xml')//(gml:dictionaryEntry|gml320:dictionaryEntry)/*[@gml:id=$unit or @gml320:id=$unit]"/> + </gmd:units> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_ImageDescription"> + <che:CHE_MD_ImageDescription> + <!--<MD_ImageDescription>--> + <xsl:apply-templates mode="Content" select="attributeDescription"/> + <xsl:apply-templates mode="Content" select="contentType"/> + <xsl:apply-templates mode="Content" select="dimension"/> + + <xsl:apply-templates mode="real" select="illuminationElevationAngle"/> + <xsl:apply-templates mode="real" select="illuminationAzimuthAngle"/> + <xsl:apply-templates mode="Content" select="imagingCondition"/> + <xsl:apply-templates mode="Content" select="imageQualityCode"/> + <xsl:apply-templates mode="real" select="cloudCoverPercentage"/> + <xsl:apply-templates mode="Content" select="processingLevelCode"/> + <xsl:apply-templates mode="integer" select="compressionGenerationQuantity"/> + <xsl:apply-templates mode="boolean" select="triangulationIndicator"/> + <xsl:apply-templates mode="boolean" select="radiometricCalibrationDataAvailability"/> + <xsl:apply-templates mode="boolean" select="cameraCalibrationInformationAvailability"/> + <xsl:apply-templates mode="boolean" select="filmDistortionInformationAvailability"/> + <xsl:apply-templates mode="boolean" select="lensDistortionInformationAvailability"/> + + <xsl:apply-templates mode="Content" select="filmType"/> + <xsl:apply-templates mode="integerCHE" select="focalDistance"/> + <!--</MD_ImageDescription>--> + </che:CHE_MD_ImageDescription> + + </xsl:template> + + <xsl:template mode="Content" match="imagingCondition"> + <gmd:imagingCondition> + <gmd:MD_ImagingConditionCode codeList="./resources/codeList.xml#MD_ImagingConditionCode" codeListValue="{./@value|.}" /> + </gmd:imagingCondition> + </xsl:template> + + <xsl:template mode="Content" match="imageQualityCode|processingLevelCode"> + <xsl:element name="{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="Identifier"/> + </xsl:element> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_RangeDimension"> + <gmd:MD_RangeDimension> + <xsl:apply-templates mode="Content" select="sequenceIdentifier"/> + <xsl:apply-templates mode="text" select="descriptor"/> + </gmd:MD_RangeDimension> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" + match="GM03Comprehensive.Comprehensive.MD_FeatureCatalogueDescription"> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <xsl:for-each select="complianceCode"> + <gmd:complianceCode> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:complianceCode> + </xsl:for-each> + + <xsl:for-each select="language"> + <xsl:apply-templates mode="language" select="."/> + </xsl:for-each> + + <xsl:for-each select="includedWithDataset"> + <gmd:includedWithDataset> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:includedWithDataset> + </xsl:for-each> + + <xsl:for-each select="featureTypes"> + <xsl:for-each select="GM03Comprehensive.Comprehensive.GenericName_/value"> + <gmd:featureTypes> + <gco:LocalName><xsl:value-of select="."/></gco:LocalName> + </gmd:featureTypes> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="GM03Comprehensive.Comprehensive.CI_Citation"> + <gmd:featureCatalogueCitation> + <xsl:apply-templates mode="Citation" select="."/> + </gmd:featureCatalogueCitation> + </xsl:for-each> + <xsl:if test="not(GM03Comprehensive.Comprehensive.CI_Citation)"> + <gmd:featureCatalogueCitation/> + </xsl:if> + + <xsl:for-each select="dataModel"> + <che:dataModel xsi:type="che:PT_FreeURL_PropertyType"> + <xsl:choose> + <xsl:when test="GM03Core.Core.PT_FreeURL"> + <xsl:apply-templates mode="language" select="GM03Core.Core.PT_FreeURL"/> + </xsl:when> + <xsl:otherwise> + <gmd:URL><xsl:value-of select="."/></gmd:URL> + </xsl:otherwise> + </xsl:choose> + </che:dataModel> + </xsl:for-each> + <xsl:apply-templates mode="Content" select="GM03Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription"/> + <xsl:apply-templates mode="Content" select="GM03Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription"/> + <xsl:choose> + <xsl:when test="modelType"> + <xsl:apply-templates mode="Content" select="modelType"/> + </xsl:when> + <xsl:otherwise> + <che:modelType> + <che:CHE_MD_modelTypeCode codeListValue="FeatureDescription" codeList="#che:CHE_MD_modelTypeCode" /> + </che:modelType> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="Content" select="GM03_2Comprehensive.Comprehensive.CI_Citation"/> + </che:CHE_MD_FeatureCatalogueDescription> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="domain"> + <che:domain> + <xsl:apply-templates mode="Content"/> + </che:domain> + </xsl:template> + + <xsl:template mode="Content" match="modelType"> + <che:modelType> + <che:CHE_MD_modelTypeCode codeListValue="{.}" codeList="#che:CHE_MD_modelTypeCode" /> + </che:modelType> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_CodeDomain"> + <che:CHE_MD_CodeDomain> + <xsl:apply-templates mode="textCHE" select="name"/> + <xsl:apply-templates mode="textCHE" select="description"/> + <xsl:apply-templates mode="Content" select="type"/> + <xsl:apply-templates mode="Content" select="subDomain"/> + <xsl:apply-templates mode="Content" select="baseDomain"/> + </che:CHE_MD_CodeDomain> + </xsl:template> + + <xsl:template mode="Content" match="subDomain|baseDomain"> + <xsl:element name="che:{local-name()}"> + <xsl:apply-templates mode="Content"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="Content" match="type"> + <che:type> + <xsl:apply-templates mode="Content"/> + </che:type> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_Type"> + <!--<che:CHE_MD_Type>--> + <xsl:apply-templates mode="textCHE" select="type"/> + <xsl:for-each select="GM03Comprehensive.Comprehensive.MD_CodeValue"> + <che:value> + <xsl:apply-templates mode="Content" select="."/> + </che:value> + </xsl:for-each> + <!--</che:CHE_MD_Type>--> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_CodeValue"> + <che:CHE_MD_CodeValue> + <xsl:apply-templates mode="textCHE" select="name"/> + <xsl:apply-templates mode="textCHE" select="code"/> + <xsl:apply-templates mode="textCHE" select="description"/> + <xsl:for-each select="GM03Comprehensive.Comprehensive.MD_CodeValue"> + <che:subValue> + <xsl:apply-templates mode="Content" select="."/> + </che:subValue> + </xsl:for-each> + </che:CHE_MD_CodeValue> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="class"> + <che:class> + <xsl:apply-templates mode="Content"/> + </che:class> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_Class"> + <che:CHE_MD_Class> + <xsl:apply-templates mode="textCHE" select="name"/> + <che:description> + <xsl:apply-templates mode="language" select="description/*"/> + </che:description> + <xsl:apply-templates mode="Content" select="GM03Comprehensive.Comprehensive.MD_Attribute"/> + <xsl:apply-templates mode="Content" select=".//baseClass"/> <!-- TODO --> + <xsl:apply-templates mode="Content" select=".//subClass"/> <!-- TODO --> + </che:CHE_MD_Class> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_Attribute"> + <che:attribute> + <xsl:apply-templates mode="textCHE" select="name"/> + <xsl:apply-templates mode="textCHE" select="description"/> + <che:namedType> + <xsl:apply-templates mode="Content" select="GM03Comprehensive.Comprehensive.MD_AttributenamedType"/> + </che:namedType> + <xsl:apply-templates mode="Content" select="anonymousType"/> + </che:attribute> + </xsl:template> + + <xsl:template mode="Content" match="GM03Comprehensive.Comprehensive.MD_AttributenamedType"> + <xsl:apply-templates mode="Content" select="namedType/GM03Comprehensive.Comprehensive.MD_CodeDomain"/> + </xsl:template> + + <xsl:template mode="Content" match="anonymousType"> + <che:anonymousType> + <che:CHE_MD_Type> + <xsl:apply-templates mode="textCHE" select="GM03Comprehensive.Comprehensive.MD_Type/type"/> + <che:value> + <xsl:apply-templates mode="Content" select="GM03Comprehensive.Comprehensive.MD_Type/GM03Comprehensive.Comprehensive.MD_CodeValue"/> + </che:value> + </che:CHE_MD_Type> + </che:anonymousType> + </xsl:template> + + <xsl:template mode="Content" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Content</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/data-quality.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/data-quality.xsl new file mode 100644 index 00000000000..ba867915270 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/data-quality.xsl @@ -0,0 +1,416 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmi="http://www.isotc211.org/2005/gmi" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:java="http://xml.apache.org/xslt/java" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="java" + > + + <xsl:template match="GM03Core.Core.DQ_DataQuality" mode="DataQuality"> + <!-- if DataQuality is empty then don't add it as it makes the document invalid --> + <xsl:if test="count(./node())>0"> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <xsl:apply-templates mode="DataQuality" select="GM03Comprehensive.Comprehensive.DQ_Scope|GM03Core.Core.DQ_Scope"/> + <xsl:apply-templates mode="DataQuality" select="GM03Comprehensive.Comprehensive.reportDQ_DataQuality"/> + <xsl:apply-templates mode="DataQuality" select="GM03Core.Core.LI_Lineage"/> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + </xsl:if> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.reportDQ_DataQuality"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:template> + + <xsl:template mode="DataQuality" match="report"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:template> + + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_TemporalValidity"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TemporalValidity</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_TemporalConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TemporalConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_AccuracyOfATimeMeasurement"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_AccuracyOfATimeMeasurement</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_QuantitativeAttributeAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_QuantitativeAttributeAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_NonQuantitativeAttributeAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_NonQuantitativeAttributeAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_ThematicClassificationCorrectness"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_ThematicClassificationCorrectness</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_RelativeInternalPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_RelativeInternalPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_GriddedDataPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_GriddedDataPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_AbsoluteExternalPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_AbsoluteExternalPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_TopologicalConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TopologicalConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_FormatConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_FormatConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_DomainConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_DomainConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_ConceptualConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_ConceptualConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_CompletenessOmission"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_CompletenessOmission</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_CompletenessCommission"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_CompletenessCommission</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DQ_Element" match="*"> + <xsl:param name="reportName">unknown</xsl:param> + <gmd:report> + <xsl:element name="gmd:{string($reportName)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="text" select="nameOfMeasure"/> + <xsl:apply-templates mode="DataQualityReport" select="measureIdentification"/> + <xsl:apply-templates mode="text" select="measureDescription"/> + <xsl:apply-templates mode="DataQualityReport" select="evaluationMethodType"/> + <xsl:apply-templates mode="text" select="evaluationMethodDescription"/> + <xsl:apply-templates mode="DataQualityReport" select="evaluationProcedure"/> + <xsl:apply-templates mode="DataQualityReport" select="dateTime"/> + <xsl:apply-templates mode="DataQualityReport" select="GM03Comprehensive.Comprehensive.DQ_ConformanceResult"/> + <xsl:apply-templates mode="DataQualityReport" select="GM03Comprehensive.Comprehensive.DQ_QuantitativeResult"/> + </xsl:element> + </gmd:report> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="measureIdentification"> + <gmd:measureIdentification> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + <xsl:apply-templates mode="language" select="."/> + </gmd:code> + </gmd:MD_Identifier> + </gmd:measureIdentification> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="dateTime"> + <gmd:dateTime> + <xsl:apply-templates mode="dateTime"/> + </gmd:dateTime> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="evaluationMethodType"> + <gmd:evaluationMethodType> + <gmd:DQ_EvaluationMethodTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DQ_EvaluationMethodTypeCode" codeListValue="{normalize-space(.)}"/> + </gmd:evaluationMethodType> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="evaluationProcedure"> + <gmd:TODO>evaluationProcedure</gmd:TODO> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="GM03Comprehensive.Comprehensive.DQ_ConformanceResult"> + <gmd:result> + <gmd:DQ_ConformanceResult> + <xsl:choose> + <xsl:when test="not(GM03Comprehensive.Comprehensive.CI_Citation)"> + <xsl:call-template name="specificationStub" /> + </xsl:when> + <xsl:otherwise> + <gmd:specification> + <xsl:apply-templates mode="Citation" select="GM03Comprehensive.Comprehensive.CI_Citation" /> + </gmd:specification> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="text" select="explanation"/> + <xsl:apply-templates mode="boolean" select="pass"/> + </gmd:DQ_ConformanceResult> + </gmd:result> + </xsl:template> + + <xsl:template name="specificationStub"> + <xsl:variable name="date" + select="java:format(java:java.text.SimpleDateFormat.new('yyyy-MM-dd'), + java:java.util.Date.new())"></xsl:variable> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xsi:type="PT_FreeText_PropertyType" gco:nilReason="missing"> + <gco:CharacterString></gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date><xsl:value-of select="$date"/></gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="GM03Comprehensive.Comprehensive.DQ_QuantitativeResult"> + <gmd:result> + <gmd:DQ_QuantitativeResult> + <xsl:apply-templates mode="DataQualityReport" select="valueType"/> + <xsl:apply-templates mode="DataQualityReport" select="valueUnit"/> + <xsl:apply-templates mode="text" select="errorStatistic"/> + <xsl:apply-templates mode="DataQualityReport" select="value"/> + </gmd:DQ_QuantitativeResult> + </gmd:result> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="valueType"> + <gmd:valueType> + <gco:RecordType> + <xsl:value-of select="."/> + </gco:RecordType> + </gmd:valueType> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="valueUnit"> + <gmd:valueUnit> + <gml:BaseUnit gml:id="m"> + <gml:identifier codeSpace="http://www.bipm.org/en/si/base_units/l">metre</gml:identifier> + <gml:name codeSpace="http://www.bipm.org/en/si/base_units/l">metre</gml:name> + <gml:name>meter</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.org/en/si/base_units/">m</gml:catalogSymbol> + <gml:unitsSystem xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.bipm.fr/en/si"/> + </gml:BaseUnit> + </gmd:valueUnit> + </xsl:template> + + + <xsl:template mode="DataQualityReport" match="value"> + <gmd:value> + <gco:Record> + <xsl:choose> + <xsl:when test=".//XMLBLBOX"> + <xsl:copy-of select=".//XMLBLBOX/*"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select=".//value"/> + </xsl:otherwise> + </xsl:choose> + </gco:Record> + </gmd:value> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Core.Core.LI_Lineage"> + <gmd:lineage> + <gmd:LI_Lineage> + <xsl:apply-templates mode="DataQuality"/> + </gmd:LI_Lineage> + </gmd:lineage> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.LI_ProcessStep"> + <gmd:processStep> + <xsl:apply-templates mode="ProcessStep" select="." /> + </gmd:processStep> + </xsl:template> + + <xsl:template mode="ProcessStep" match="GM03Comprehensive.Comprehensive.LI_ProcessStep"> + <gmd:LI_ProcessStep> + <xsl:apply-templates mode="text" select="description"/> + <xsl:apply-templates mode="text" select="rationale"/> + <xsl:if test="normalize-space(dateTime) != ''"> + <gmd:dateTime> + <xsl:apply-templates mode="dateTime" select="dateTime"/> + </gmd:dateTime> + </xsl:if> + <xsl:apply-templates mode="DataQuality" select="processor"/> + </gmd:LI_ProcessStep> </xsl:template> + + <xsl:template mode="DataQuality" match="source"> + <gmd:source> + <xsl:apply-templates mode="DataQuality" /> + </gmd:source> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.LI_Source"> + <gmd:LI_Source> + <xsl:apply-templates mode="text" select="description"/> + <xsl:apply-templates mode="DataQuality" select="scaleDenominator"/> + <xsl:apply-templates mode="DataQuality" select="sourceReferenceSystem"/> + <xsl:apply-templates mode="DataQuality" select="sourceCitation"/> + <xsl:apply-templates mode="DataQuality" select="GM03Core.Core.EX_Extent"/> + <xsl:apply-templates mode="DataQuality" select="sourceStep"/> + </gmd:LI_Source> + </xsl:template> + + <xsl:template mode="DataQuality" match="sourceReferenceSystem"> + <gmd:sourceReferenceSystem> + <xsl:apply-templates mode="RefSystem"/> + </gmd:sourceReferenceSystem> + </xsl:template> + <xsl:template mode="DataQuality" match="sourceStep"> + <gmd:sourceStep> + <xsl:apply-templates mode="ProcessStep"/> + </gmd:sourceStep> + </xsl:template> + <xsl:template mode="DataQuality" match="sourceCitation"> + <gmd:sourceCitation> + <xsl:apply-templates mode="Citation"/> + </gmd:sourceCitation> + </xsl:template> + <xsl:template mode="DataQuality" match="GM03Core.Core.EX_Extent"> + <gmd:sourceExtent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_Extent> + </gmd:sourceExtent> + </xsl:template> + <xsl:template mode="DataQuality" match="scaleDenominator"> + <gmd:scaleDenominator> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:scaleDenominator> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Comprehensive.Comprehensive.DQ_Scope|GM03Core.Core.DQ_Scope"> + <gmd:scope> + <gmd:DQ_Scope> + <xsl:apply-templates mode="DataQuality" select="level"/> + <xsl:apply-templates mode="DataQuality" select="extent"/> + <xsl:if test="normalize-space(description) != ''"> + <gmd:levelDescription> + <gmd:MD_ScopeDescription> + <gmd:other> + <xsl:apply-templates mode="text" select="description"/> + </gmd:other> + </gmd:MD_ScopeDescription> + </gmd:levelDescription> + </xsl:if> + <xsl:apply-templates mode="DataQuality" select="GM03Comprehensive.Comprehensive.DQ_Scopeextent/*"/> + <xsl:apply-templates mode="DataQuality" select="GM03Core.Core.MD_ScopeDescription|GM03Comprehensive.Comprehensive.MD_ScopeDescription"/> + </gmd:DQ_Scope> + </gmd:scope> + </xsl:template> + + <xsl:template mode="DataQuality" match="extent"> + <xsl:apply-templates mode="Extent"/> + </xsl:template> + + <xsl:template mode="DataQuality" match="GM03Core.Core.MD_ScopeDescription|GM03Comprehensive.Comprehensive.MD_ScopeDescription"> + <gmd:levelDescription> + <gmd:MD_ScopeDescription> + <xsl:apply-templates mode="DataQuality" select="attributes"/> + <xsl:apply-templates mode="DataQuality" select="features"/> + <xsl:apply-templates mode="DataQuality" select="featureInstances"/> + <xsl:apply-templates mode="DataQuality" select="attributeInstances"/> + <xsl:apply-templates mode="text" select="dataset"/> + <xsl:apply-templates mode="text" select="other"/> + </gmd:MD_ScopeDescription> + </gmd:levelDescription> + </xsl:template> + + <xsl:template mode="DataQuality" match="attributes|features|featureInstances|attributeInstances"> + <!-- TODO: I don't know what to put --> + <!--<xsl:element name="{local-name(.)}">--> + <!--<LocalisedURL>--> + <!--<xsl:value-of select="."/>--> + <!--</LocalisedURL>--> + <!--</xsl:element>--> + </xsl:template> + + <!-- ============================================================================== --> + + <xsl:template match="statement" mode="DataQuality"> + <gmd:statement> + <xsl:apply-templates mode="language"/> + </gmd:statement> + </xsl:template> + + <!-- ============================================================================== --> + + <xsl:template match="level" mode="DataQuality"> + <gmd:level> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{normalize-space(.)}"/> + </gmd:level> + </xsl:template> + + <xsl:template match="DQ_DataQuality" mode="DataQuality"/> + + <!-- ============================================================================== --> + + <xsl:template mode="DataQualityReport" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQuality</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="DQ_Element" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQuality</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="DataQuality" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQualityReport</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/distribution.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/distribution.xsl new file mode 100644 index 00000000000..3517b821e87 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/distribution.xsl @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="Distribution" match="GM03Core.Core.MD_Distribution"> + <gmd:MD_Distribution> + <xsl:choose> + <xsl:when test="GM03Core.Core.MD_DistributiondistributionFormat"> + <xsl:for-each select="GM03Core.Core.MD_DistributiondistributionFormat"> + <gmd:distributionFormat> + <xsl:apply-templates mode="ResourceFormat"> + <xsl:with-param name="loop">1</xsl:with-param> + </xsl:apply-templates> + </gmd:distributionFormat> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>N/A</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>N/A</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="GM03Core.Core.MD_Distributiondistributor|GM03Comprehensive.Comprehensive.MD_Distributiondistributor"> + <gmd:distributor> + <xsl:apply-templates select="." mode="Distributor"/> + </gmd:distributor> + </xsl:for-each> + + <xsl:for-each select="GM03Comprehensive.Comprehensive.MD_DigitalTransferOptions|GM03Core.Core.MD_DigitalTransferOptions"> + <gmd:transferOptions> + <xsl:apply-templates mode="Distribution" select="." /> + </gmd:transferOptions> + </xsl:for-each> + </gmd:MD_Distribution> + </xsl:template> + + <xsl:template mode="Distribution" match="GM03Comprehensive.Comprehensive.MD_DigitalTransferOptions|GM03Core.Core.MD_DigitalTransferOptions"> + <gmd:MD_DigitalTransferOptions> + <xsl:apply-templates mode="text" select="unitsOfDistribution"/> + <xsl:apply-templates mode="real" select="transferSize"/> + <xsl:apply-templates mode="Distribution" select="GM03Core.Core.CI_OnlineResource"/> + <xsl:apply-templates mode="Distribution" select="offLine"/> + </gmd:MD_DigitalTransferOptions> + </xsl:template> + + <xsl:template mode="Distribution" match="GM03Core.Core.CI_OnlineResource"> + <gmd:onLine> + <xsl:apply-templates select="." mode="OnlineResource"/> + </gmd:onLine> + </xsl:template> + + <xsl:template mode="Distribution" match="offLine"> + <gmd:offLine> + <xsl:apply-templates mode="Distribution"/> + </gmd:offLine> + </xsl:template> + + <xsl:template mode="Distribution" match="GM03Comprehensive.Comprehensive.MD_Medium"> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="./resources/codeList.xml#MD_MediumNameCode" codeListValue="{.}"/> + </gmd:name> + <xsl:apply-templates mode="real" select="density"/> + <xsl:apply-templates mode="text" select="densityUnits"/> + <xsl:apply-templates mode="integer" select="volumes"/> + <xsl:apply-templates mode="text" select="mediumFormat"/> + </gmd:MD_Medium> + </xsl:template> + + <xsl:template mode="Distribution" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Distribution</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="OnlineResource" match="GM03Core.Core.CI_OnlineResource"> + <gmd:CI_OnlineResource> + <xsl:for-each select="linkage"> + <gmd:linkage> + <xsl:apply-templates mode="language"/> + </gmd:linkage> + </xsl:for-each> + + <xsl:for-each select="name"> + <gmd:name> + <xsl:apply-templates mode="language"/> + </gmd:name> + </xsl:for-each> + + <xsl:for-each select="description"> + <gmd:description> + <xsl:apply-templates mode="language"/> + </gmd:description> + </xsl:for-each> + + <xsl:for-each select="function"> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="./resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="{.}"/> + </gmd:function> + </xsl:for-each> + </gmd:CI_OnlineResource> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Format" match="GM03Comprehensive.Comprehensive.MD_Format|GM03Core.Core.MD_Format"> + <xsl:apply-templates mode="ResourceFormat" select="."> + <xsl:with-param name="loop">1</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="Format" match="formatDistributor"> + <gmd:formatDistributor> + <xsl:apply-templates mode="Distributor"/> + </gmd:formatDistributor> + </xsl:template> + + <xsl:template mode="Format" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Distributor</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Distributor" match="GM03Comprehensive.Comprehensive.MD_Distributor"> + <gmd:MD_Distributor> + <xsl:for-each select="distributorContact"> + <gmd:distributorContact> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:distributorContact> + </xsl:for-each> + + <xsl:apply-templates mode="Distributor" select="GM03Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor"/> + <xsl:apply-templates mode="Distributor" select="GM03Comprehensive.Comprehensive.formatDistributordistributorFormat"/> + <xsl:if test="not(ancestor::GM03Comprehensive.Comprehensive.formatDistributordistributorFormat)"> + <xsl:apply-templates mode="Distributor" select="/GM03Comprehensive.Comprehensive/GM03Comprehensive.Comprehensive.formatDistributordistributorFormat"/> + </xsl:if> + <xsl:apply-templates mode="Distributor" select="GM03Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor"/> + </gmd:MD_Distributor> + </xsl:template> + + <xsl:template mode="Distributor" match="GM03Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor"> + <gmd:distributionOrderProcess> + <xsl:apply-templates mode="Distributor" select="distributionOrderProcess/GM03Comprehensive.Comprehensive.MD_StandardOrderProcess"/> + </gmd:distributionOrderProcess> + </xsl:template> + <xsl:template mode="Distributor" match="GM03Comprehensive.Comprehensive.MD_StandardOrderProcess"> + <gmd:MD_StandardOrderProcess> + <xsl:apply-templates mode="text" select="fees"/> + <xsl:for-each select="plannedAvailableDateTime"> + <gmd:plannedAvailableDateTime> + <xsl:apply-templates mode="dateTime" select="."/> + </gmd:plannedAvailableDateTime> + </xsl:for-each> + <xsl:apply-templates mode="text" select="orderingInstructions"/> + <xsl:apply-templates mode="text" select="turnaround"/> + </gmd:MD_StandardOrderProcess> + </xsl:template> + <xsl:template mode="Distributor" match="GM03Comprehensive.Comprehensive.formatDistributordistributorFormat"> + <gmd:distributorFormat> + <xsl:apply-templates mode="Format" select="distributorFormat/GM03Comprehensive.Comprehensive.MD_Format"/> + </gmd:distributorFormat> + </xsl:template> + <xsl:template mode="Distributor" match="GM03Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor"> + <gmd:distributorTransferOptions> + <xsl:apply-templates mode="Distribution" select="distributorTransferOptions/GM03Comprehensive.Comprehensive.MD_DigitalTransferOptions"/> + </gmd:distributorTransferOptions> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/extent.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/extent.xsl new file mode 100644 index 00000000000..201e1187839 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/extent.xsl @@ -0,0 +1,405 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:cheutil="java:org.fao.geonet.schema.iso19139che.ISO19139cheUtil" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all" + > + + <xsl:template mode="Extent" match="GM03Core.Core.EX_Extent"> + <xsl:choose> + <xsl:when test="GM03Core.Core.EX_ExtentgeographicElement[.//GM03Core.Core.EX_BoundingPolygon]"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="description"/> + + <xsl:variable name="polygon"> + <xsl:if test="GM03Core.Core.EX_ExtentgeographicElement[.//GM03Core.Core.EX_BoundingPolygon]"> + <xsl:apply-templates mode="Extent" select="GM03Core.Core.EX_ExtentgeographicElement[.//GM03Core.Core.EX_BoundingPolygon]"/> + </xsl:if> + </xsl:variable> + <xsl:if test="normalize-space($polygon) != ''"> + <gmd:geographicElement> + <xsl:copy-of select="cheutil:multipolygon(string(description), $polygon)"/> + </gmd:geographicElement> + <xsl:if test="GM03Core.Core.EX_ExtentgeographicElement[.//GM03Core.Core.EX_GeographicBoundingBox]"> + <gmd:geographicElement> + <xsl:copy-of select="cheutil:bbox(string(description), $polygon)"/> + </gmd:geographicElement> + </xsl:if> + </xsl:if> + <xsl:apply-templates mode="Extent" select="GM03Core.Core.EX_ExtentgeographicElement[not(.//GM03Core.Core.EX_BoundingPolygon or .//GM03Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:when> + <xsl:when test="GM03Core.Core.EX_ExtentgeographicElement[.//GM03Core.Core.EX_GeographicBoundingBox]"> + <xsl:for-each select="GM03Core.Core.EX_ExtentgeographicElement//GM03Core.Core.EX_GeographicBoundingBox"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="ancestor::GM03Core.Core.EX_Extent/description"/> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="."/> + </gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="GM03Core.Core.EX_ExtentgeographicElement[not(.//GM03Core.Core.EX_BoundingPolygon or .//GM03Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="description"/> + <xsl:apply-templates mode="Extent" select="GM03Core.Core.EX_ExtentgeographicElement[not(.//GM03Core.Core.EX_BoundingPolygon or .//GM03Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select=".//GM03Core.Core.EX_ExtenttemporalElement[not(temporalElement/GM03Core.Core.EX_SpatialTemporalExtent)]"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Temporal"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + <xsl:if test=".//GM03Core.Core.EX_ExtenttemporalElement[temporalElement/GM03Core.Core.EX_SpatialTemporalExtent]"> + <xsl:comment>TODO GM03Core.Core.EX_ExtenttemporalElement without TM_Primitive</xsl:comment> + <!-- Remove the not(temporalElement/GM03Core.Core.EX_SpatialTemporalExtent) from previous for-each and fix the spatial temporal. + It seems to be that XslUtil mutlipolygon and bbox expect the normal extent and cannot handle spatialExtent --> + </xsl:if> + <xsl:for-each select=".//GM03Core.Core.EX_VerticalExtent"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Extent" match="description"> + <gmd:description> + <xsl:apply-templates mode="language"/> + </gmd:description> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Extent" match="geographicElement[not(GM03Core.Core.EX_GeographicBoundingBox|GM03Core.Core.EX_BoundingPolygon)]"> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent"/> + </gmd:geographicElement> + </xsl:template> + + <xsl:template mode="Extent" match="geographicElement[GM03Core.Core.EX_BoundingPolygon]"> + <xsl:for-each select="GM03Core.Core.EX_BoundingPolygon"> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="."/> + </gmd:geographicElement> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Extent" match="geographicElement[GM03Core.Core.EX_GeographicBoundingBox]"> + <xsl:choose> + <xsl:when test="ancestor::GM03Core.Core.EX_Extent//GM03Core.Core.EX_BoundingPolygon"> + <xsl:comment> + GeographicBBox elements an associated Polygon are ignored + </xsl:comment> + </xsl:when> + <xsl:otherwise> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="GM03Core.Core.EX_GeographicBoundingBox"/> + </gmd:geographicElement> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="Extent" match="GM03Core.Core.EX_GeographicDescription"> + <gmd:EX_GeographicDescription> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_GeographicDescription> + </xsl:template> + + <xsl:template mode="Extent" match="extentTypeCode"> + <gmd:extentTypeCode> + <gco:Boolean> + <xsl:value-of select="."/> + </gco:Boolean> + </gmd:extentTypeCode> + </xsl:template> + + <xsl:template mode="Extent" match="geographicIdentifier"> + <gmd:geographicIdentifier> + <xsl:apply-templates mode="Identifier"/> + </gmd:geographicIdentifier> + </xsl:template> + + <xsl:template mode="Extent" match="GM03Core.Core.EX_BoundingPolygon"> + <gmd:EX_BoundingPolygon> + <xsl:apply-templates mode="BoundingPoly"/> + </gmd:EX_BoundingPolygon> + </xsl:template> + + <xsl:template mode="Extent" match="GM03Core.Core.EX_GeographicBoundingBox[not(ancestor::GM03Core.Core.EX_Extent//GM03Core.Core.EX_BoundingPolygon)]"> + <gmd:EX_GeographicBoundingBox> + <xsl:apply-templates mode="BoundingPoly" select="extentTypeCode"/> + <gmd:westBoundLongitude><xsl:apply-templates mode="ExtentCoord" select="westBoundLongitude"/></gmd:westBoundLongitude> + <gmd:eastBoundLongitude><xsl:apply-templates mode="ExtentCoord" select="eastBoundLongitude"/></gmd:eastBoundLongitude> + <gmd:southBoundLatitude><xsl:apply-templates mode="ExtentCoord" select="southBoundLatitude"/></gmd:southBoundLatitude> + <gmd:northBoundLatitude><xsl:apply-templates mode="ExtentCoord" select="northBoundLatitude"/></gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </xsl:template> + + <xsl:template mode="ExtentCoord" match="text()"> + <gco:Decimal><xsl:value-of select="."/></gco:Decimal> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Temporal" match="GM03Core.Core.EX_ExtenttemporalElement/temporalElement"> + <gmd:temporalElement> + <xsl:apply-templates mode="Temporal"/> + </gmd:temporalElement> + </xsl:template> + + <xsl:template mode="Temporal" match="GM03Core.Core.EX_TemporalExtent"> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{util:randomId()}"> + <xsl:apply-templates mode="TimePeriod"/> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </xsl:template> + + <xsl:template mode="Temporal" match="GM03Core.Core.EX_SpatialTemporalExtent"> + <xsl:comment>Need to implement spatialExtent import</xsl:comment> + <!-- <gmd:EX_SpatialTemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{util:randomId()}"> + <xsl:apply-templates mode="TimePeriod" select="extent"/> + </gml:TimePeriod> + </gmd:extent> + <xsl:apply-templates mode="Temporal" select="GM03Core.Core.spatialExtentEX_SpatialTemporalExtent"/> + </gmd:EX_SpatialTemporalExtent> --> + </xsl:template> + + <xsl:template mode="TemporalExtent" + match="GM03Core.Core.spatialExtentEX_SpatialTemporalExtent"> + <xsl:comment>Need to implement spatialExtent import</xsl:comment> + <xsl:choose> + <xsl:when test="spatialExtent[.//GM03Core.Core.EX_BoundingPolygon]"> + <gmd:spatialExtent> + <xsl:comment> + spatialExtent[.//GM03Core.Core.EX_BoundingPolygon] + </xsl:comment> + <xsl:apply-templates mode="Extent" select="description" /> + + <xsl:variable name="polygon"> + <xsl:if test="spatialExtent[.//GM03Core.Core.EX_BoundingPolygon]"> + <xsl:apply-templates mode="Extent" + select="spatialExtent[.//GM03Core.Core.EX_BoundingPolygon]" /> + </xsl:if> + </xsl:variable> + <xsl:if test="normalize-space($polygon) != ''"> + <xsl:copy-of select="cheutil:multipolygon(string(description), $polygon)" /> + <xsl:if test="spatialExtent[.//GM03Core.Core.EX_GeographicBoundingBox]"> + <xsl:copy-of select="cheutil:bbox(string(description), $polygon)" /> + </xsl:if> + </xsl:if> + <xsl:apply-templates mode="Extent" + select="spatialExtent[not(.//GM03Core.Core.EX_BoundingPolygon or .//GM03Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:when> + <xsl:when test="spatialExtent[.//GM03Core.Core.EX_GeographicBoundingBox]"> + <xsl:for-each + select="spatialExtent//GM03Core.Core.EX_GeographicBoundingBox"> + <gmd:spatialExtent> + <xsl:comment> + spatialExtent//GM03Core.Core.EX_GeographicBoundingBox + </xsl:comment> + <xsl:apply-templates mode="Extent" + select="ancestor::GM03Core.Core.EX_Extent/description" /> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="." /> + </gmd:geographicElement> + <xsl:apply-templates mode="Extent" + select="GM03Core.Core.EX_ExtentgeographicElement[not(.//GM03Core.Core.EX_BoundingPolygon or .//GM03Core.Core.EX_GeographicBoundingBox)]|spatialExtent[not(.//GM03Core.Core.EX_BoundingPolygon or .//GM03Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:spatialExtent> + <xsl:comment> + otherwise + </xsl:comment> + <xsl:apply-templates mode="Extent" select="description" /> + <xsl:apply-templates mode="Extent" + select="GM03Core.Core.EX_ExtentgeographicElement[not(.//GM03Core.Core.EX_BoundingPolygon or .//GM03Core.Core.EX_GeographicBoundingBox)]|spatialExtent[not(.//GM03Core.Core.EX_BoundingPolygon or .//GM03Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select=".//GM03Core.Core.EX_ExtenttemporalElement"> + <gmd:spatialExtent> + <xsl:comment> + .//GM03Core.Core.EX_ExtenttemporalElement + </xsl:comment> + <xsl:apply-templates mode="Temporal" /> + </gmd:spatialExtent> + </xsl:for-each> + <xsl:for-each select=".//GM03Core.Core.EX_VerticalExtent"> + <gmd:spatialExtent> + <xsl:comment> + .//GM03Core.Core.EX_VerticalExtent + </xsl:comment> + <xsl:apply-templates mode="Extent" /> + </gmd:spatialExtent> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Temporal" match="GM03Core.Core.spatialExtentEX_SpatialTemporalExtent"> + <xsl:apply-templates mode="TemporalExtent" select="."/> + </xsl:template> + + <xsl:template mode="Temporal" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Temporal</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="TimePeriod" match="begin"> + <gml:begin> + <xsl:apply-templates mode="TimeInstant" select="."/> + </gml:begin> + </xsl:template> + <xsl:template mode="TimePeriod" match="end"> + <gml:end> + <xsl:apply-templates mode="TimeInstant" select="."/> + </gml:end> + </xsl:template> + + <xsl:template mode="TimeInstant" match="*"> + <xsl:variable name="time"> + <xsl:apply-templates mode="dateTime"/> + </xsl:variable> + <gml:TimeInstant gml:id="{util:randomId()}"> + <gml:timePosition> + <xsl:value-of select="normalize-space($time//text())"/> + </gml:timePosition> + </gml:TimeInstant> + </xsl:template> + <!-- ================================================================================= --> + + <xsl:template mode="BoundingPoly" match="extentTypeCode"> + <gmd:extentTypeCode> + <gco:Boolean> + <xsl:value-of select="."/> + </gco:Boolean> + </gmd:extentTypeCode> + </xsl:template> + + <xsl:template mode="BoundingPoly" match="polygon"> + <gmd:polygon> + <xsl:apply-templates mode="GM_Object" select="."/> + </gmd:polygon> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="GM_Object" match="polygon"> + <gml:Polygon gml:id="{generate-id(.)}"> + <xsl:apply-templates mode="GM_Object"/> + </gml:Polygon> + </xsl:template> + + <xsl:template mode="GM_Object" match="SURFACE"> + <xsl:for-each select="BOUNDARY"> + <xsl:choose> + <xsl:when test="position() = 1"> + <gml:exterior> + <xsl:apply-templates mode="GM_Object" select="."/> + </gml:exterior> + </xsl:when> + <xsl:otherwise> + <gml:interior> + <xsl:apply-templates mode="GM_Object" select="."/> + </gml:interior> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="GM_Object" match="BOUNDARY"> + <gml:LinearRing> + <xsl:apply-templates mode="GM_Object" select="POLYLINE"/> + </gml:LinearRing> + </xsl:template> + + <xsl:template mode="GM_Object" match="POLYLINE"> + <gml:posList ><xsl:apply-templates mode="GM_Object"/></gml:posList> + </xsl:template> + + <xsl:template match="GM03Core.Core.GM_Point_" mode="GM_Object"> + <gml:Point gml:id="{util:randomId()}"> + <gml:coordinates> + <xsl:apply-templates mode="GM_Object" select="value"/> + </gml:coordinates> + </gml:Point> + </xsl:template> + + <xsl:template mode="GM_Object" match="COORD"><xsl:value-of select="C1"/><xsl:text> </xsl:text><xsl:value-of select="C2"/><xsl:text> </xsl:text></xsl:template> + + <!-- ================================================================================= --> + <xsl:template mode="BboxToPolygon" match="GM03Core.Core.EX_GeographicBoundingBox"> + + <xsl:variable name="north" select="northBoundLatitude"/> + <xsl:variable name="east" select="eastBoundLongitude"/> + <xsl:variable name="south" select="southBoundLatitude"/> + <xsl:variable name="west" select="westBoundLongitude"/> + + <xsl:variable name="ul"> + <xsl:value-of select="$west"/><xsl:text> </xsl:text><xsl:value-of select="$north"/> + </xsl:variable> + <xsl:variable name="ur"> + <xsl:value-of select="$east"/><xsl:text> </xsl:text><xsl:value-of select="$north"/> + </xsl:variable> + <xsl:variable name="lr"> + <xsl:value-of select="$east"/><xsl:text> </xsl:text><xsl:value-of select="$south"/> + </xsl:variable> + <xsl:variable name="ll"> + <xsl:value-of select="$west"/><xsl:text> </xsl:text><xsl:value-of select="$south"/> + </xsl:variable> + + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean><xsl:value-of select="extentTypeCode"/></gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="NN29"> + <gml:surfaceMember> + <gml:Polygon gml:id="NN30"> + <gml:exterior> + <gml:LinearRing> + <gml:posList><xsl:value-of select="$ul"/><xsl:text> </xsl:text><xsl:value-of select="$ur"/><xsl:text> </xsl:text><xsl:value-of select="$lr"/><xsl:text> </xsl:text><xsl:value-of select="$ll"/><xsl:text> </xsl:text><xsl:value-of select="$ul"/></gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Extent" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Extent</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/generatev2.scala b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/generatev2.scala new file mode 100644 index 00000000000..7070750c64e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/generatev2.scala @@ -0,0 +1,175 @@ +import java.io._ +import io._ +import util.matching._ + +val Excludes = """[:\(\)\.-]""".r +case class Expr(expr:Regex) { + def replace(line:String) = expr.replaceAllIn(line, { + (_:Regex.Match) match { + case m if m.group(2) != null && Excludes.findFirstIn(m.group(2)).isEmpty=> + m.matched.patch(m.start(2) - m.start,"int:",0) + case m => + m.matched + } + }) +} + +val specifics = Map( + "CHE03-to-19139.xsl" -> Map( + "match=\"CodeISO.LanguageCodeISO_" -> "match=\"int:CodeISO.LanguageCodeISO_", + "Metadata/language" -> "Metadata/int:language", + "normalize-space(plainURL" -> "normalize-space(int:plainURL", + "translate(language" -> "translate(int:language", + "xmlns:comp=\"http://www.geocat.ch/2003/05/gateway/GM03Comprehensive\"" -> "xmlns:comp=\"http://toignore\"", + "Core.Core.PT_FreeText/textGroup/" -> "Core.Core.PT_FreeText/int:textGroup/" + ), + "extent.xsl" -> Map( + "string(description" -> "string(int:description", + "Core.Core.EX_Extent/description" -> "Core.Core.EX_Extent/int:description", + "EX_ExtenttemporalElement/temporalElement" -> "EX_ExtenttemporalElement/int:temporalElement" + ), + "content.xsl" -> Map( + "|baseDomain" -> "|int:baseDomain", + "|processingLevelCode" -> "|int:processingLevelCode", + "GenericName_/value" -> "GenericName_/int:value", + "document('units.xml')" -> "document('../units.xml')", + "MD_Type/type" -> "MD_Type/int:type" + ), + "legislation.xsl" -> Map( + "match=\"CodeISO." -> "match=\"int:CodeISO.", + "CodeISO.CountryCodeISO_|CodeISO.Country_" -> "CodeISO.CountryCodeISO_|int:CodeISO.Country_", + "language/CodeISO.LanguageCodeISO_|language/CodeISO.LanguageCode_" -> "language/int:CodeISO.LanguageCodeISO_|int:language/int:CodeISO.LanguageCode_", + "codeListValue=\"{value}\"" -> "codeListValue=\"{int:value}\"" + ), + "metadata.xsl" -> Map( + "not(language)" -> "not(int:language)", + "normalize-space(language)" -> "normalize-space(int:language)", + "codeListValue=\"{value}" -> "codeListValue=\"{int:value}", + "ortrayalCatalogueInfoMD_Metadata/portrayalCatalogueInfo\"/>" -> "ortrayalCatalogueInfoMD_Metadata/int:portrayalCatalogueInfo\"/>" + ), + "resp-party.xsl" -> Map( + "codeListValue=\"{value}" -> "codeListValue=\"{int:value}", + "Contact/role" -> "Contact/int:role", + "country|address" -> "country|address", + "CI_Address/country" -> "CI_Address/int:country", + "MD_MaintenanceInformationcontact/role" -> "MD_MaintenanceInformationcontact/int:role", + "Contact/hoursOfService" -> "Contact/int:hoursOfService", + "Telephone[numberType" -> "Telephone[int:numberType", + "Address/city" -> "Address/int:city", + "Address/administrativeArea" -> "Address/int:administrativeArea", + "Address/postalCode" -> "Address/int:postalCode", + "Address/electronicMailAddress" -> "Address/int:electronicMailAddress", + "Address|electronicalMailAddress" -> "Address|int:electronicalMailAddress", + "Address/streetName" -> "Address/int:streetName", + "Address/streetNumber" -> "Address/int:streetNumber", + "Address/addressLine" -> "Address/int:addressLine", + "Address/postBox" -> "Address/int:postBox", + "URL_/value" -> "URL_/int:value", + "../../../role" -> "../../../int:role", + "|contactInfo" -> "|int:contactInfo", + "Core.Core.CI_Contact/contactInstructions" -> "Core.Core.CI_Contact/int:contactInstructions", + " distributorContact |" -> " int:distributorContact |", + "../role |" -> "../int:role |" + ), + "citation.xsl" -> Map( + "Code_/value" -> "Code_/int:value", + "Core.Core.CI_Citation|citation" -> "Core.Core.CI_Citation|int:citation", + "Comprehensive.Comprehensive.CI_Citationidentifier/identifier" -> "Comprehensive.Comprehensive.CI_Citationidentifier/int:identifier", + "and not(alternateTitle/" -> "and not(int:alternateTitle/" + ), + "data-quality.xsl" -> Map( + "normalize-space(dateTime" -> "normalize-space(int:dateTime", + "normalize-space(description" -> "normalize-space(int:description", + "test=\".//XMLBLBOX" -> "test=\".//int:XMLBLBOX", + "elect=\".//XMLBLBOX" -> "elect=\".//int:XMLBLBOX", + "elect=\".//value" -> "elect=\".//int:value", + "attributes|features|featureInstances|attributeInstances" -> "attributes|int:features|int:featureInstances|int:attributeInstances" + ), + "resolve-refs.xsl" -> Map( + "Comprehensive.sourceStepsource[source/@REF = $myTID]/sourceStep" -> "Comprehensive.sourceStepsource[int:source/@REF = $myTID]/int:sourceStep" + ), + "identification.xsl" -> Map( + "Code_/value" -> "Code_/int:value", + "Comprehensive.Comprehensive.gml_CodeType/code" -> "Comprehensive.Comprehensive.gml_CodeType/int:code", + "Resolution/distance" -> "Resolution/int:distance", + "Resolution/equivalentScale" -> "Resolution/int:equivalentScale", + "Identification/revision" -> "Identification/revision", + "GM03Comprehensive.Comprehensive.formatDistributordistributorFormat[distributorFormat" -> "GM03Comprehensive.Comprehensive.formatDistributordistributorFormat[int:distributorFormat", + "Identification/revision" -> "Identification/int:revision", + "and basicGeodataID" -> "and int:basicGeodataID", + "<xsl:for-each select=\".//value\">" -> "<xsl:for-each select=\".//int:value\">" + ) +) + + +def rmtree(f:File) : Boolean = { + if(f.isDirectory) f.listFiles.foreach(rmtree) + f.delete +} + +def copy(prefix:String, dir: File) { + + val shaFile = "lastModification.sha" + rmtree(dir) + dir.mkdirs + + val exprs = List( + Expr(("""select\s*=\s*"\s*(int:)?([\w"""+Excludes+"""]+)""").r), + Expr(("""match\s*=\s*"\s*(int:)?([\w"""+Excludes+"""]+)""").r), + Expr(("""test\s*=\s*"\s*(int:)?([\w"""+Excludes+"""]+)""").r) + ) + + for (file <- new File(".").listFiles; + if file.getName.endsWith(".xsl") ) { + + val found = collection.mutable.Set[String]() + var styleSheetTag = false + var wroteExcludes = false + + val out = new FileWriter(new File(dir, file.getName)) + Source.fromFile(file) getLines() foreach { l => + var line = l + var write = true + + if (line contains "<xsl:stylesheet") styleSheetTag = true + if (line contains "exclude-result-prefixes") { + val Array(prefix, att) = line split ("\"",2) + line = "%s\"int %s".format(prefix,att) + wroteExcludes = true + } + + if(styleSheetTag && (line contains '>')) { + styleSheetTag = false + out.write(" xmlns:int=\"http://www.interlis.ch/INTERLIS2.3\"\n") + if (!wroteExcludes) out.write(" exclude-result-prefixes=\"int\"\n") + } + if (line contains "<xsl:include href=\"version2") write=false + + for {map <- specifics.get(file.getName) + (toReplace,replacement) <- map + if line contains toReplace } { + line = line.replace(toReplace, replacement) + found += toReplace + } + + line = line.replace("GM03","int:"+prefix). + replace("TRANSFER", "int:TRANSFER"). + replace("DATASECTION", "int:DATASECTION"). + replace("comp:int", "comp") + + + for (expr <- exprs) line = expr.replace(line) + + if(write) out.write(line+"\n") + } + out.close() + + specifics.get(file.getName) foreach {m => + if (m.size != found.size) + println ("ERROR: --- Not all replacements were matched:"+" filename="+file.getName+" -> "+(m.keySet -- found mkString ", ")) + } + } +} + +copy("GM03_2", new File("version2/")) +copy("GM03_2_1", new File("version2_1/")) diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/identification.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/identification.xsl new file mode 100644 index 00000000000..fcbe22531ab --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/identification.xsl @@ -0,0 +1,532 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="util" + > + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.MD_DataIdentification|GM03Core.Core.MD_DataIdentification"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <xsl:call-template name="dataIdentification"/> + </che:CHE_MD_DataIdentification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.SV_ServiceIdentification"> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <xsl:call-template name="dataIdentification"> + <xsl:with-param name="srv" select="true()"/> + </xsl:call-template> + <xsl:apply-templates mode="DataIdentification" select="serviceType"/> + <xsl:apply-templates mode="DataIdentification" select="serviceTypeVersion"/> + <xsl:apply-templates mode="DataIdentification" select="restrictions"/> + <xsl:apply-templates mode="DataIdentification" select="GM03Core.Core.descriptiveKeywordsMD_Identification"/> + <xsl:apply-templates mode="DataIdentification" select="GM03Comprehensive.Comprehensive.extentSV_ServiceIdentification"/> + <xsl:apply-templates mode="DataIdentification" select="coupledResource/GM03Comprehensive.Comprehensive.SV_CoupledResource"/> + <xsl:apply-templates mode="DataIdentification" select="couplingType"/> + <xsl:apply-templates mode="DataIdentification" select="GM03Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification"/> + <xsl:apply-templates mode="DataIdentification" select="operatesOn"/> + </che:CHE_SV_ServiceIdentification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="serviceType"> + <srv:serviceType> + <gco:LocalName><xsl:value-of select="GM03Comprehensive.Comprehensive.gml_CodeType/code"/></gco:LocalName> + <xsl:if test="GM03Comprehensive.Comprehensive.gml_CodeType/codeSpace"> + <gml:codeSpace><xsl:value-of select="GM03Comprehensive.Comprehensive.gml_CodeType/codeSpace"/></gml:codeSpace> + </xsl:if> + </srv:serviceType> + </xsl:template> + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.extentSV_ServiceIdentification"> + <srv:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="extent/GM03Core.Core.EX_Extent/*"/> + </gmd:EX_Extent> + </srv:extent> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.SV_CoupledResource"> + <srv:coupledResource> + <srv:SV_CoupledResource> + <xsl:apply-templates mode="text" select="operationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="identifier"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="ScopedName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + </srv:SV_CoupledResource> + </srv:coupledResource> + </xsl:template> + + <xsl:template mode="DataIdentification" match="couplingType"> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="{text()}"/> + </srv:couplingType> + </xsl:template> + <xsl:template mode="DataIdentification" match="operatesOn"> + <srv:operatesOn xmlns:date="http://exslt.org/dates-and-times" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gts="http://www.isotc211.org/2005/gts" + uuidref="{.//value/text()}"/> + </xsl:template> + + <xsl:template mode="DataIdentification" match="serviceTypeVersion"> + <srv:serviceTypeVersion> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </srv:serviceTypeVersion> + </xsl:template> + <xsl:template mode="DataIdentification" match="containsOperations"> + <srv:containsOperations> + <xsl:apply-templates mode="DataIdentification"/> + </srv:containsOperations> + </xsl:template> + <xsl:template mode="DataIdentification" match="DCP"> + <xsl:for-each select=".//value"> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="{text()}"/> + </srv:DCP> + </xsl:for-each> + + </xsl:template> + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.SV_OperationMetadata"> + <srv:SV_OperationMetadata> + <xsl:apply-templates mode="text" select="operationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="DCP"/> + <xsl:apply-templates mode="text" select="operationDescription"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="invocationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="GM03Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint"/> + </srv:SV_OperationMetadata> + </xsl:template> + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification"> + <xsl:apply-templates mode="DataIdentification"/> + </xsl:template> + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint"> + <xsl:apply-templates mode="DataIdentification"/> + </xsl:template> + <xsl:template mode="DataIdentification" match="connectPoint"> + <srv:connectPoint> + <xsl:apply-templates mode="OnlineResource"/> + </srv:connectPoint> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Core.Core.EX_Extent"> + <xsl:apply-templates mode="Extent" select="."/> + </xsl:template> + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.resourceConstraintsMD_Identification"> + <gmd:resourceConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:resourceConstraints> + </xsl:template> + <xsl:template mode="DataIdentification" match="GM03Core.Core.descriptiveKeywordsMD_Identification"> + <gmd:descriptiveKeywords> + <xsl:apply-templates mode="DescriptiveKeyword"/> + </gmd:descriptiveKeywords> + </xsl:template> + + <xsl:template name="dataIdentification"> + <xsl:param name="srv" select="false()"/> + + <xsl:for-each select="citation"> + <gmd:citation> + <xsl:apply-templates mode="Citation"/> + </gmd:citation> + </xsl:for-each> + <xsl:apply-templates mode="text" select="abstract"/> + <xsl:apply-templates mode="text" select="purpose"/> + <xsl:apply-templates mode="text" select="credit"/> + <xsl:for-each select="status"> + <gmd:status> + <gmd:MD_ProgressCode codeList="./resources/codeList.xml#MD_ProgressCode" codeListValue="{GM03Core.Core.MD_ProgressCode_/value}"/> + </gmd:status> + </xsl:for-each> + <xsl:for-each select="GM03Core.Core.MD_IdentificationpointOfContact"> + <gmd:pointOfContact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:pointOfContact> + </xsl:for-each> + <xsl:for-each select="GM03Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:resourceMaintenance> + <xsl:apply-templates select="." mode="MaintenanceInfo"/> + </gmd:resourceMaintenance> + </xsl:for-each> + <xsl:for-each select="GM03Comprehensive.Comprehensive.MD_BrowseGraphic"> + <gmd:graphicOverview> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:graphicOverview> + </xsl:for-each> + <xsl:for-each select="GM03Comprehensive.Comprehensive.resourceFormatMD_Identification"> + <gmd:resourceFormat> + <xsl:apply-templates mode="ResourceFormat"/> + </gmd:resourceFormat> + </xsl:for-each> + <xsl:for-each select="GM03Core.Core.descriptiveKeywordsMD_Identification[$srv=false()]"> + <gmd:descriptiveKeywords> + <xsl:apply-templates mode="DescriptiveKeyword"/> + </gmd:descriptiveKeywords> + </xsl:for-each> + + <xsl:for-each select="GM03Comprehensive.Comprehensive.MD_Usage"> + <xsl:apply-templates mode="DataIdentification" select="."/> + </xsl:for-each> + + + <xsl:for-each select="GM03Comprehensive.Comprehensive.resourceConstraintsMD_Identification[$srv=false()]"> + <gmd:resourceConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:resourceConstraints> + </xsl:for-each> + + <xsl:apply-templates mode="DataIdentification" select="GM03Comprehensive.Comprehensive.aggregationInfo_MD_Identification"/> + + <xsl:for-each select="spatialRepresentationType"> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="./resources/codeList.xml#MD_SpatialRepresentationTypeCode" + codeListValue="{GM03Core.Core.MD_SpatialRepresentationTypeCode_/value}"/> + </gmd:spatialRepresentationType> + </xsl:for-each> + <xsl:for-each select="GM03Core.Core.MD_Resolution/distance"> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </xsl:for-each> + <xsl:for-each select="GM03Core.Core.MD_Resolution/equivalentScale"> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </xsl:for-each> + <xsl:apply-templates select="language" mode="language"/> + <xsl:for-each select="characterSet"> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="./resources/codeList.xml#MD_CharacterSetCode" codeListValue="{GM03Core.Core.MD_CharacterSetCode_/value}"/> + </gmd:characterSet> + </xsl:for-each> + <xsl:for-each select="topicCategory/GM03Core.Core.MD_TopicCategoryCode_"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode> + <xsl:variable name="cat" select="value"/> + <xsl:choose> + <xsl:when test="contains($cat, '.')"> + <xsl:value-of select="substring-after($cat, '.')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$cat"/> + </xsl:otherwise> + </xsl:choose> + </gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + </xsl:for-each> + <xsl:apply-templates mode="text" select="environmentDescription"/> + <xsl:for-each select="GM03Core.Core.EX_Extent[$srv=false()]"> + <xsl:apply-templates mode="Extent" select="."/> + </xsl:for-each> + <xsl:apply-templates mode="text" select="supplementalInformation"/> + <xsl:apply-templates select="ProjectType" mode="DataIdentification"/> + <xsl:for-each select="GM03Comprehensive.Comprehensive.revisionMD_Identification/revision"> + <che:revision> + <xsl:apply-templates mode="Revision"/> + </che:revision> + </xsl:for-each> + + <xsl:if test="not($srv) and basicGeodataID"> + <che:basicGeodataID> + <xsl:apply-templates mode="string" select="basicGeodataID/text()"/> + </che:basicGeodataID> + <xsl:apply-templates select="basicGeodataIDType" mode="DataIdentification"/> + </xsl:if> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.aggregationInfo_MD_Identification"> + <xsl:apply-templates mode="DataIdentification" /> + </xsl:template> + + <xsl:template mode="DataIdentification" match="aggregationInfo"> + <gmd:aggregationInfo> + <xsl:apply-templates mode="DataIdentification" /> + </gmd:aggregationInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.MD_AggregateInformation"> + <gmd:MD_AggregateInformation> + <xsl:apply-templates mode="DataIdentification" select="GM03Comprehensive.Comprehensive.CI_Citation"/> + <xsl:apply-templates mode="DataIdentification" select="aggregateDataSetIdentifier"/> + <xsl:apply-templates mode="DataIdentification" select="associationType"/> + <xsl:apply-templates mode="DataIdentification" select="initiativeType"/> + </gmd:MD_AggregateInformation> + </xsl:template> + + <xsl:template mode="DataIdentification" match="associationType"> + <gmd:associationType> + <gmd:DS_AssociationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DS_AssociationTypeCode" codeListValue="{text()}"/> + </gmd:associationType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="initiativeType"> + <gmd:initiativeType> + <gmd:DS_InitiativeTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DS_InitiativeTypeCode" codeListValue="{text()}"/> + </gmd:initiativeType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="aggregateDataSetIdentifier"> + <gmd:aggregateDataSetIdentifier> + <xsl:apply-templates mode="Identifier" select="GM03Core.Core.MD_Identifier"/> + </gmd:aggregateDataSetIdentifier> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.CI_Citation"> + <gmd:aggregateDataSetName> + <xsl:apply-templates mode="Citation" select="."/> + </gmd:aggregateDataSetName> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.MD_Usage"> + <gmd:resourceSpecificUsage> + <gmd:MD_Usage> + <xsl:apply-templates mode="text" select="specificUsage"/> + <xsl:if test="usageDateTime"> + <gmd:usageDateTime> + <xsl:apply-templates mode="dateTime" select="usageDateTime"/> + </gmd:usageDateTime> + </xsl:if> + <xsl:apply-templates mode="text" select="userDeterminedLimitations"/> + <xsl:apply-templates mode="DataIdentification" select="GM03Comprehensive.Comprehensive.MD_UsageuserContactInfo"/> + </gmd:MD_Usage> + </gmd:resourceSpecificUsage> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <gmd:userContactInfo> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:userContactInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.MD_BrowseGraphic"> + <gmd:MD_BrowseGraphic> + <xsl:apply-templates mode="text" select="fileName"/> + <xsl:apply-templates mode="text" select="fileDescription"/> + <xsl:apply-templates mode="text" select="fileType"/> + </gmd:MD_BrowseGraphic> + </xsl:template> + + <xsl:template mode="DataIdentification" match="ProjectType"> + <che:projectType> + <che:CHE_CI_projectTypeCode codeListValue="{.}" codeList="./resources/codeList.xml#CHE_CI_projectTypeCode"/> + </che:projectType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="basicGeodataIDType"> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="{.}" codeList="./resources/codeList.xml#basicGeodataIDTypeCode"/> + </che:basicGeodataIDType> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="DataIdentification" match="distance"> + <gmd:distance> + <gco:Distance uom="m"><xsl:value-of select="util:expandScientific(string(.))"/></gco:Distance> + </gmd:distance> + </xsl:template> + + <xsl:template mode="DataIdentification" match="equivalentScale"> + <gmd:equivalentScale> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:equivalentScale> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Core.Core.MD_RepresentativeFraction"> + <gmd:MD_RepresentativeFraction> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:MD_RepresentativeFraction> + </xsl:template> + + <xsl:template mode="DataIdentification" match="denominator"> + <gmd:denominator> + <gco:Integer><xsl:value-of select="."/></gco:Integer> + </gmd:denominator> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:resourceMaintenance> + <xsl:apply-templates select="." mode="MaintenanceInfo"/> + </gmd:resourceMaintenance> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Core.Core.MD_IdentificationpointOfContact"> + <gmd:pointOfContact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:pointOfContact> + </xsl:template> + + <xsl:template mode="DataIdentification" match="GM03Comprehensive.Comprehensive.resourceFormatMD_Identification"> + <gmd:resourceFormat> + <xsl:apply-templates mode="ResourceFormat"/> + </gmd:resourceFormat> + </xsl:template> + + <xsl:template mode="Revision" match="GM03Comprehensive.Comprehensive.MD_Revision"> + <che:CHE_MD_Revision gco:isoType="gmd:MD_Revision"> + <xsl:for-each select="revisionScope"> + <che:revisionScope> + <xsl:apply-templates mode="MaintenanceInfo" select="GM03Core.Core.MD_ScopeCode_"/> + </che:revisionScope> + </xsl:for-each> + <xsl:for-each select="dateOfLastUpdate"> + <che:dateOfLastUpdate> + <xsl:apply-templates mode="date" select="."/> + </che:dateOfLastUpdate> + </xsl:for-each> + <xsl:for-each select="revisionNote"> + <che:revisionNote> + <xsl:apply-templates mode="string" select="."/> + </che:revisionNote> + </xsl:for-each> + <xsl:for-each select="revisionScopeDescription"> + <che:revisionScopeDescription> + <xsl:apply-templates mode="string" select="."/> + </che:revisionScopeDescription> + </xsl:for-each> + <xsl:for-each select="revisionExtent"> + <che:revisionExtent> + <xsl:apply-templates mode="Extent" select="GM03Core.Core.EX_Extent"/> + </che:revisionExtent> + </xsl:for-each> + <xsl:for-each select="revisionContact"> + <che:revisionContact> + <xsl:apply-templates mode="RespParty" select="."/> + </che:revisionContact> + </xsl:for-each> + </che:CHE_MD_Revision> + </xsl:template> + + <xsl:template mode="DataIdentification" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataIdentification</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="DescriptiveKeyword" match="GM03Core.Core.MD_Keywords"> + <gmd:MD_Keywords> + <xsl:for-each select="keyword"> + <xsl:for-each select="GM03Core.Core.PT_FreeText"> + <gmd:keyword> + <xsl:apply-templates mode="language" select="."/> + </gmd:keyword> + </xsl:for-each> + </xsl:for-each> + <xsl:for-each select="type"> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="./resources/codeList.xml#MD_KeywordTypeCode" codeListValue="{.}" /> + </gmd:type> + </xsl:for-each> + <xsl:for-each select="thesaurus"> + <gmd:thesaurusName> + <xsl:for-each select="GM03Core.Core.MD_Thesaurus"> + <xsl:for-each select="citation"> + <xsl:apply-templates mode="Citation" select="GM03Comprehensive.Comprehensive.CI_Citation"/> + </xsl:for-each> + </xsl:for-each> + </gmd:thesaurusName> + </xsl:for-each> + </gmd:MD_Keywords> + </xsl:template> + + <xsl:template mode="DescriptiveKeyword" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DescriptiveKeyword</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="ConstsTypes" match="GM03Comprehensive.Comprehensive.MD_LegalConstraints"> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <xsl:apply-templates mode="text" select="useLimitation"/> + <xsl:apply-templates mode="ConstsTypes" select="accessConstraints"/> + <xsl:apply-templates mode="ConstsTypes" select="useConstraints"/> + <xsl:apply-templates mode="text" select="otherConstraints"/> + </che:CHE_MD_LegalConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="useConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="./resources/codeList.xml#MD_RestrictionCode" codeListValue="{GM03Comprehensive.Comprehensive.MD_RestrictionCode_/value}" /> + </gmd:useConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="accessConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="./resources/codeList.xml#MD_RestrictionCode" codeListValue="{GM03Comprehensive.Comprehensive.MD_RestrictionCode_/value}" /> + </gmd:accessConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="GM03Comprehensive.Comprehensive.MD_SecurityConstraints"> + <gmd:MD_SecurityConstraints> + <xsl:apply-templates mode="text" select="useLimitation"/> + <xsl:apply-templates mode="ConstsTypes" select="classification"/> + <xsl:apply-templates mode="text" select="userNote"/> + <xsl:apply-templates mode="text" select="classificationSystem"/> + <xsl:apply-templates mode="text" select="handlingDescription"/> + </gmd:MD_SecurityConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="classification"> + <gmd:classification> + <gmd:MD_ClassificationCode codeListValue="{.}" codeList="./resources/codeList.xml#MD_ClassificationCode"/> + </gmd:classification> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="GM03Comprehensive.Comprehensive.MD_Constraints"> + + <gmd:MD_Constraints > + <xsl:apply-templates mode="text" select="useLimitation"/> + </gmd:MD_Constraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">ConstsTypes</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="ResourceFormat" match="GM03Comprehensive.Comprehensive.MD_Format|GM03Core.Core.MD_Format"> + <xsl:param name="loop">0</xsl:param> + <xsl:variable name="myTID" select="@TID"/> + <gmd:MD_Format> + <xsl:apply-templates mode="text" select="name"/> + <xsl:apply-templates mode="text" select="version"/> + <xsl:apply-templates mode="text" select="amendmentNumber"/> + <xsl:apply-templates mode="text" select="specification"/> + <xsl:apply-templates mode="text" select="fileDecompressionTechnique"/> + + <xsl:if test="$loop!='0'"> + <!-- fetch manually the N-N link with the MD_Distributor entries --> + <xsl:for-each select="/GM03Comprehensive.Comprehensive/GM03Comprehensive.Comprehensive.formatDistributordistributorFormat[distributorFormat/@REF=$myTID]"> + <xsl:apply-templates mode="ResourceFormat" select="formatDistributor"/> + </xsl:for-each> + </xsl:if> + </gmd:MD_Format> + </xsl:template> + + <xsl:template mode="ResourceFormat" match="formatDistributor"> + <gmd:formatDistributor> + <xsl:apply-templates mode="Distributor"/> + </gmd:formatDistributor> + </xsl:template> + + <xsl:template mode="ResourceFormat" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">ResourceFormat</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/legislation.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/legislation.xsl new file mode 100644 index 00000000000..dd69ac23462 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/legislation.xsl @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="LegislationInfo" match="legislationInformation"> + <che:legislationInformation> + <xsl:apply-templates mode="LegislationInfo"/> + </che:legislationInformation> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="GM03Comprehensive.Comprehensive.MD_Legislation"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <xsl:apply-templates mode="LegislationInfo"/> + </che:CHE_MD_Legislation> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="country"> + <xsl:apply-templates mode="Country"/> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="legislationType"> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="./resources/codeList.xml#LegislationCode" codeListValue="{.}"/> + </che:legislationType> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="internalReference"> + <che:internalReference> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </che:internalReference> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="language/CodeISO.LanguageCodeISO_|language/CodeISO.LanguageCode_"> + <che:language> + <gmd:LanguageCode codeList="./resources/codeList.xml#LanguageCodeISO"> + <xsl:attribute name="codeListValue"> + <xsl:apply-templates mode="languageToIso3" select="value"/> + </xsl:attribute> + </gmd:LanguageCode> + </che:language> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="title"> + <che:title> + <xsl:apply-templates mode="Citation"/> + </che:title> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">LegislationInfo</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Country" match="CodeISO.CountryCodeISO_|CodeISO.Country_"> + <che:country> + <gmd:Country codeList="./resources/codeList.xml#CountryCodeISO" codeListValue="{value}"/> + </che:country> + </xsl:template> + + <xsl:template mode="Country" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Country</xsl:with-param> + </xsl:call-template> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/maintenance-info.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/maintenance-info.xsl new file mode 100644 index 00000000000..68211dee830 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/maintenance-info.xsl @@ -0,0 +1,136 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:template mode="MaintenanceInfo" match="metadataMaintenance|GM03Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <xsl:apply-templates mode="MaintenanceInfo" select="maintenanceAndUpdateFrequency"/> + <xsl:apply-templates mode="MaintenanceInfo" select="dateOfNextUpdate"/> + <xsl:apply-templates mode="MaintenanceInfo" select="userDefinedMaintenanceFrequency"/> + <xsl:apply-templates mode="MaintenanceInfo" select="updateScope"/> + <xsl:apply-templates mode="MaintenanceInfo" select="GM03Comprehensive.Comprehensive.MD_ScopeDescription"/> + <xsl:apply-templates mode="MaintenanceInfo" select="maintenanceNote"/> + <xsl:apply-templates mode="MaintenanceInfo" select="GM03Comprehensive.Comprehensive.MD_MaintenanceInformationcontact"/> + <xsl:apply-templates mode="MaintenanceInfo" select="dateOfMonitoringState"/> + <xsl:apply-templates mode="MaintenanceInfo" select="GM03Comprehensive.Comprehensive.MD_HistoryConcept"/> + <xsl:apply-templates mode="MaintenanceInfo" select="GM03Comprehensive.Comprehensive.MD_ArchiveConcept"/> + </che:CHE_MD_MaintenanceInformation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="GM03Comprehensive.Comprehensive.MD_MaintenanceInformationcontact"> + <gmd:contact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:contact> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="GM03Comprehensive.Comprehensive.MD_ScopeDescription"> + <gmd:updateScopeDescription> + <gmd:MD_ScopeDescription> + <xsl:choose> + <xsl:when test="attributes"> + <xsl:apply-templates mode="objectRef" select="attributes"/> + </xsl:when> + <xsl:when test="features"> + <xsl:apply-templates mode="objectRef" select="features"/> + </xsl:when> + <xsl:when test="featureInstances"> + <xsl:apply-templates mode="objectRef" select="featureInstances"/> + </xsl:when> + <xsl:when test="attributeInstances"> + <xsl:apply-templates mode="objectRef" select="attributeInstances"/> + </xsl:when> + <xsl:when test="dataset"> + <xsl:apply-templates mode="text" select="dataset"/> + </xsl:when> + <xsl:when test="other"> + <xsl:apply-templates mode="text" select="other"/> + </xsl:when> + </xsl:choose> + </gmd:MD_ScopeDescription> + </gmd:updateScopeDescription> + </xsl:template> + <xsl:template mode="objectRef" match="*"> + <xsl:element name="{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> +<!-- <xsl:attribute name="uuidref"><xsl:value-of select="."/></xsl:attribute>--> + </xsl:element> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="maintenanceAndUpdateFrequency"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="./resources/codeList.xml#MD_MaintenanceFrequencyCode" + codeListValue="{.}"/> + </gmd:maintenanceAndUpdateFrequency> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="userDefinedMaintenanceFrequency"> + <gmd:userDefinedMaintenanceFrequency> + <gts:TM_PeriodDuration> + <xsl:value-of select="concat('P', substring-before(.,':'), 'Y', substring-before(substring-after(., ':'), ':'), 'M', substring-before(substring-after(substring-after(., ':'), ':'), ':'), 'DT', substring-before(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), 'H', substring-before(substring-after(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), ':'), 'M', substring-after(substring-after(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), ':'), 'S')"/> + </gts:TM_PeriodDuration> + </gmd:userDefinedMaintenanceFrequency> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="dateOfNextUpdate"> + <gmd:dateOfNextUpdate> + <xsl:apply-templates mode="date" select="."/> + </gmd:dateOfNextUpdate> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="dateOfMonitoringState"> + <che:dateOfMonitoringState> + <xsl:apply-templates mode="date" select="."/> + </che:dateOfMonitoringState> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="updateScope"> + <gmd:updateScope> + <xsl:apply-templates mode="MaintenanceInfo"/> + </gmd:updateScope> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="GM03Core.Core.MD_ScopeCode_"> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{.}" /> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="maintenanceNote"> + <xsl:for-each select="GM03Core.Core.PT_FreeText"> + <gmd:maintenanceNote> + <xsl:apply-templates mode="language" select="."/> + </gmd:maintenanceNote> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="GM03Comprehensive.Comprehensive.MD_ArchiveConcept"> + <che:archiveConcept> + <che:CHE_MD_ArchiveConcept> + <xsl:apply-templates select="GM03Comprehensive.Comprehensive.MD_ArchiveConceptarchiveConceptCitation" mode="MaintenanceInfo"/> + <xsl:apply-templates select="archiveConceptURL" mode="MaintenanceInfo"/> + </che:CHE_MD_ArchiveConcept> + </che:archiveConcept> + </xsl:template> + <xsl:template mode="MaintenanceInfo" match="GM03Comprehensive.Comprehensive.MD_ArchiveConceptarchiveConceptCitation"> + <xsl:apply-templates mode="MaintenanceInfo" select="archiveConceptCitation"/> + </xsl:template> + <xsl:template mode="MaintenanceInfo" match="archiveConceptCitation"> + <che:archiveConceptCitation> + <xsl:apply-templates mode="Citation" select="GM03Comprehensive.Comprehensive.CI_Citation"/> + </che:archiveConceptCitation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="archiveConceptURL"> + <che:archiveConceptURL> + <xsl:apply-templates select="." mode="language"/> + </che:archiveConceptURL> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MaintenanceInfo</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/metadata.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/metadata.xsl new file mode 100644 index 00000000000..80092ca9e1a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/metadata.xsl @@ -0,0 +1,259 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="MetaData" match="GM03Core.Core.MD_Metadata"> + <xsl:choose> + <xsl:when test="string-length($uuid) > 0"> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="$uuid"/> + </gco:CharacterString> + </gmd:fileIdentifier> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="MetaData" select="fileIdentifier"/> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="not(language) or normalize-space(language)=''"> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="MetaData" select="language"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="MetaData" select="characterSet"/> + <xsl:apply-templates mode="MetaData" select="parentIdentifier"/> + <xsl:apply-templates mode="MetaData" select="hierarchyLevel"/> + <xsl:apply-templates mode="MetaData" select="hierarchyLevelName"/> + <xsl:apply-templates mode="MetaData" select="GM03Core.Core.MD_Metadatacontact"/> + <xsl:apply-templates mode="MetaData" select="dateStamp"/> + <xsl:apply-templates mode="text" select="metadataStandardName"/> + <xsl:apply-templates mode="text" select="metadataStandardVersion"/> + <xsl:apply-templates mode="MetaData" select="dataSetURI"/> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger">German</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre">French</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita">Italian</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng">English</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeListValue="roh" codeList="#LanguageCode">Rumantsch</gmd:LanguageCode> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <xsl:apply-templates mode="MetaData" select="GM03Comprehensive.Comprehensive.MD_GridSpatialRepresentation| + GM03Comprehensive.Comprehensive.MD_VectorSpatialRepresentation| + GM03Comprehensive.Comprehensive.MD_Georeferenceable| + GM03Comprehensive.Comprehensive.MD_Georectified"/> + <xsl:apply-templates mode="MetaData" select="GM03Core.Core.referenceSystemInfoMD_Metadata"/> + <xsl:apply-templates mode="MetaData" select="metadataExtensionInfo"/> + <xsl:apply-templates mode="MetaData" select="GM03Comprehensive.Comprehensive.MD_DataIdentification|GM03Core.Core.MD_DataIdentification|GM03Comprehensive.Comprehensive.SV_ServiceIdentification"/> + <xsl:apply-templates mode="MetaData" select="GM03Comprehensive.Comprehensive.MD_CoverageDescription|GM03Comprehensive.Comprehensive.MD_FeatureCatalogueDescription|GM03Comprehensive.Comprehensive.MD_RangeDimension|GM03Comprehensive.Comprehensive.MD_Band|GM03Comprehensive.Comprehensive.MD_ImageDescription"/> + <xsl:apply-templates mode="MetaData" select="distributionInfo"/> + <xsl:apply-templates mode="MetaData" select="GM03Core.Core.DQ_DataQuality"/> + <xsl:apply-templates mode="MetaData" select="GM03Comprehensive.Comprehensive.portrayalCatalogueInfoMD_Metadata/portrayalCatalogueInfo"/> + <xsl:apply-templates mode="MetaData" select="GM03Comprehensive.Comprehensive.MD_MetadatametadataConstraints/metadataConstraints"/> + <xsl:apply-templates mode="MetaData" select="applicationSchemaInfo"/> + <xsl:apply-templates mode="MetaData" select="metadataMaintenance"/> + <xsl:apply-templates mode="MetaData" select="GM03Comprehensive.Comprehensive.MD_MaintenanceInformation"/> + <xsl:apply-templates mode="MetaData" select="series"/> + <xsl:apply-templates mode="MetaData" select="describes"/> + <xsl:apply-templates mode="MetaData" select="propertyType"/> + <xsl:apply-templates mode="MetaData" select="featureType"/> + <xsl:apply-templates mode="MetaData" select="featureAttribute"/> + <xsl:apply-templates mode="MetaData" select="GM03Comprehensive.Comprehensive.MD_MetadatalegislationInformation"/> + </xsl:template> + + <xsl:template mode="MetaData" match="metadataConstraints"> + <gmd:metadataConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:metadataConstraints> + </xsl:template> + + <xsl:template mode="MetaData" match="portrayalCatalogueInfo"> + <gmd:portrayalCatalogueInfo> + <xsl:apply-templates mode="MetaData"/> + </gmd:portrayalCatalogueInfo> + </xsl:template> + + <xsl:template mode="MetaData" match="GM03Comprehensive.Comprehensive.MD_PortrayalCatalogueReference"> + <che:CHE_MD_PortrayalCatalogueReference> + <xsl:for-each select="GM03Comprehensive.Comprehensive.CI_Citation"> + <gmd:portrayalCatalogueCitation> + <xsl:apply-templates select="." mode="Citation"/> + </gmd:portrayalCatalogueCitation> + </xsl:for-each> + </che:CHE_MD_PortrayalCatalogueReference> + </xsl:template> + + <xsl:template mode="MetaData" match="fileIdentifier"> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:fileIdentifier> + </xsl:template> + + <xsl:template mode="MetaData" match="language"> + <gmd:language> + <gco:CharacterString> + <xsl:apply-templates mode="languageToIso3" select="."/> + </gco:CharacterString> + </gmd:language> + </xsl:template> + + <xsl:template mode="MetaData" match="characterSet"> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="./resources/codeList.xml#MD_CharacterSetCode" codeListValue="{.}"/> + </gmd:characterSet> + </xsl:template> + + <xsl:template mode="MetaData" match="parentIdentifier"> + <gmd:parentIdentifier> + <gco:CharacterString> + <xsl:value-of select="GM03Core.Core.MD_Metadata/fileIdentifier"/> + </gco:CharacterString> + </gmd:parentIdentifier> + </xsl:template> + + <xsl:template mode="MetaData" match="hierarchyLevel"> + <xsl:for-each select="GM03Core.Core.MD_ScopeCode_"> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{value}"/> + </gmd:hierarchyLevel> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="MetaData" match="hierarchyLevelName"> + <xsl:for-each select="GM03Core.Core.CharacterString_"> + <gmd:hierarchyLevelName> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:hierarchyLevelName> + </xsl:for-each> + </xsl:template> + + + <xsl:template mode="MetaData" match="GM03Core.Core.MD_Metadatacontact"> + <gmd:contact> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:contact> + </xsl:template> + + <xsl:template mode="MetaData" match="dateStamp"> + <gmd:dateStamp> + <xsl:apply-templates mode="dateTime" select="."/> + </gmd:dateStamp> + </xsl:template> + + <xsl:template mode="MetaData" match="dataSetURI"> + <gmd:dataSetURI> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:dataSetURI> + </xsl:template> + + <xsl:template mode="MetaData" match="metadataMaintenance"> + <gmd:metadataMaintenance> + <xsl:apply-templates mode="MaintenanceInfo"/> + </gmd:metadataMaintenance> + </xsl:template> + + <xsl:template mode="MetaData" match="GM03Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:metadataMaintenance> + <xsl:apply-templates mode="MaintenanceInfo" select="."/> + </gmd:metadataMaintenance> + </xsl:template> + + <xsl:template mode="MetaData" match="distributionInfo"> + <gmd:distributionInfo> + <xsl:apply-templates mode="Distribution"/> + </gmd:distributionInfo> + </xsl:template> + + <xsl:template mode="MetaData" + match="GM03Comprehensive.Comprehensive.MD_GridSpatialRepresentation| + GM03Comprehensive.Comprehensive.MD_VectorSpatialRepresentation| + GM03Comprehensive.Comprehensive.MD_Georeferenceable| + GM03Comprehensive.Comprehensive.MD_Georectified"> + <gmd:spatialRepresentationInfo> + <xsl:apply-templates select="." mode="SpatialRepr"/> + </gmd:spatialRepresentationInfo> + </xsl:template> + + <xsl:template mode="MetaData" + match="GM03Comprehensive.Comprehensive.MD_CoverageDescription|GM03Comprehensive.Comprehensive.MD_FeatureCatalogueDescription|GM03Comprehensive.Comprehensive.MD_RangeDimension|GM03Comprehensive.Comprehensive.MD_Band|GM03Comprehensive.Comprehensive.MD_ImageDescription"> + <gmd:contentInfo> + <xsl:apply-templates select="." mode="Content"/> + </gmd:contentInfo> + </xsl:template> + + <xsl:template match="GM03Comprehensive.Comprehensive.MD_DataIdentification|GM03Core.Core.MD_DataIdentification|GM03Comprehensive.Comprehensive.SV_ServiceIdentification" mode="MetaData"> + <gmd:identificationInfo> + <xsl:apply-templates select="." mode="DataIdentification"/> + </gmd:identificationInfo> + </xsl:template> + <xsl:template match="GM03Comprehensive.Comprehensive.MD_MetadatalegislationInformation" mode="MetaData"> + <xsl:apply-templates mode="LegislationInfo"/> + </xsl:template> + + <xsl:template match="GM03Core.Core.DQ_DataQuality" mode="MetaData"> + <xsl:apply-templates select="." mode="DataQuality"/> + </xsl:template> + + <xsl:template match="GM03Core.Core.referenceSystemInfoMD_Metadata" mode="MetaData"> + <gmd:referenceSystemInfo> + <xsl:apply-templates mode="RefSystem"/> + </gmd:referenceSystemInfo> + </xsl:template> + + <xsl:template match="*" mode="MetaData"> + <ERROR mode="MetaData" tag="{name(..)}/{name(.)}"/> + </xsl:template> + + <xsl:template mode="MetaData" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MetaData</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/ref-system.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/ref-system.xsl new file mode 100644 index 00000000000..85e15336108 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/ref-system.xsl @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="RefSystem" match="GM03Core.Core.MD_ReferenceSystem"> + <gmd:MD_ReferenceSystem> + <xsl:apply-templates mode="RefSystem"/> + </gmd:MD_ReferenceSystem> + </xsl:template> + + <xsl:template mode="RefSystem" match="referenceSystemIdentifier"> + <gmd:referenceSystemIdentifier> + <xsl:apply-templates mode="MdIdent"/> + </gmd:referenceSystemIdentifier> + </xsl:template> + + <xsl:template mode="RefSystem" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">RefSystem</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ======================================================================== --> + + <xsl:template mode="MdIdent" match="GM03Comprehensive.Comprehensive.RS_Identifier|GM03Core.Core.RS_Identifier"> + <gmd:RS_Identifier> + <xsl:apply-templates mode="MdIdent"/> + </gmd:RS_Identifier> + </xsl:template> + + <xsl:template mode="MdIdent" match="code"> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + <xsl:apply-templates mode="language"/> + </gmd:code> + </xsl:template> + + <xsl:template mode="MdIdent" match="codeSpace"> + <gmd:codeSpace> + <xsl:apply-templates mode="string"/> + </gmd:codeSpace> + </xsl:template> + + <xsl:template mode="MdIdent" match="version"> + <gmd:version> + <xsl:apply-templates mode="string"/> + </gmd:version> + </xsl:template> + + <xsl:template mode="MdIdent" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MdIdent</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/resolve-refs.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/resolve-refs.xsl new file mode 100644 index 00000000000..a726a8c119c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/resolve-refs.xsl @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <!-- Only one element have to be kept from the root element --> + <xsl:template match="GM03Comprehensive.Comprehensive|GM03Core.Core" mode="ResolveRefs"> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:choose> + <xsl:when test="GM03Core.Core.MD_Metadata/parentIdentifier"> + <xsl:apply-templates select="GM03Core.Core.MD_Metadata[parentIdentifier]" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(.)"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="GM03Core.Core.MD_Metadata[1]" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(.)"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + + <!-- we add a few N-N links that would introduce a dead loop --> + <xsl:apply-templates select="GM03Comprehensive.Comprehensive.formatDistributordistributorFormat" + mode="ResolveRefsCopy"/> + </xsl:element> + </xsl:template> + + + <!-- back references are dropped --> + <xsl:template match="*[@REF and (starts-with(name(.), 'CI_') or starts-with(name(.), 'DQ_') or starts-with(name(.), 'EX_') or starts-with(name(.), 'LI_') or starts-with(name(.), 'MD_') or starts-with(name(.), 'SV_'))]" mode="ResolveRefs"/> + + <!-- this one does a huge loop in the model, it will be managed manually --> + <xsl:template match="GM03Comprehensive.Comprehensive.formatDistributordistributorFormat" mode="ResolveRefs"> + </xsl:template> + + <!-- Elements that may contain others --> + <xsl:template match="*" mode="ResolveRefs"> + <xsl:param name="parent"/> + <xsl:variable name="selfName" select="name(.)"/> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:apply-templates select="@*" mode="ResolveRefs"/> + <xsl:apply-templates mode="ResolveRefs"> + <xsl:with-param name="parent" select="$selfName"/> + </xsl:apply-templates> + + <xsl:if test="@TID"> + <xsl:variable name="myTID" select="@TID"/> + <xsl:for-each select="/TRANSFER/DATASECTION/GM03Comprehensive.Comprehensive/*|/TRANSFER/DATASECTION/GM03Core.Core/*"> + <xsl:for-each select="*[@REF=$myTID]"> + <xsl:if test="$parent!=name(..) and (starts-with(name(.), 'CI_') or starts-with(name(.), 'DQ_') or starts-with(name(.), 'EX_') or starts-with(name(.), 'LI_') or starts-with(name(.), 'MD_') or starts-with(name(.), 'SV_'))"> + <xsl:apply-templates select=".." mode="ResolveRefs"> + <xsl:with-param name="parent" select="$selfName"/> + </xsl:apply-templates> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:if test="ends-with($selfName, 'Comprehensive.Comprehensive.LI_Source')"> + <xsl:apply-templates mode="ResolveRefs" select="/TRANSFER/DATASECTION/GM03Comprehensive.Comprehensive/ + GM03Comprehensive.Comprehensive.sourceStepsource[source/@REF = $myTID]/sourceStep" /> + </xsl:if> + </xsl:if> + </xsl:element> + </xsl:template> + + <!-- manage direct references --> + <xsl:key name="index" match="/TRANSFER/DATASECTION/GM03Comprehensive.Comprehensive//*|/TRANSFER/DATASECTION/GM03Core.Core//*" use="@TID"/> + <xsl:template match="@REF" mode="ResolveRefs"> + <xsl:attribute name="REF"> + <xsl:value-of select="."/> + </xsl:attribute> + <xsl:variable name="real" select="key('index', .)"/> + <xsl:apply-templates select="$real" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(../..)"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="@*" mode="ResolveRefs"> + <xsl:attribute name="{name(.)}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:template> + + <xsl:template match="text()" mode="ResolveRefs"> + <xsl:value-of select="normalize-space(.)"/> + </xsl:template> + + <xsl:template match="*" mode="ResolveRefsCopy"> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:apply-templates select="@*" mode="ResolveRefsCopy"/> + <xsl:apply-templates mode="ResolveRefsCopy"/> + </xsl:element> + </xsl:template> + + <xsl:template match="formatDistributor/@REF" mode="ResolveRefsCopy"> + <xsl:apply-templates mode="ResolveRefs" select="."/> + </xsl:template> + + <xsl:template match="distributorFormat/@REF" mode="ResolveRefsCopy"> + <xsl:apply-templates mode="ResolveRefs" select="."/> + </xsl:template> + + <xsl:template match="@*" mode="ResolveRefsCopy"> + <xsl:attribute name="{name(.)}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/resp-party.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/resp-party.xsl new file mode 100644 index 00000000000..77894b76758 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/resp-party.xsl @@ -0,0 +1,226 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all"> + <xsl:template mode="RespParty" + match="GM03Core.Core.MD_IdentificationpointOfContact | + GM03Core.Core.MD_Metadatacontact | + GM03Comprehensive.Comprehensive.MD_DistributordistributorContact | + distributorContact | + GM03Comprehensive.Comprehensive.MD_MaintenanceInformationcontact | + GM03Core.Core.CI_ResponsiblePartyparentinfo | + GM03Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty | + GM03Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <xsl:variable name="resp-party" select="."/> + <!-- I don't like this variable. I think a choice with each + when being one of the elements in the template match would be better + and the otherwise should be role + --> + <xsl:variable name="roles" select="role | + GM03Comprehensive.Comprehensive.MD_DistributordistributorContact/role | + GM03Comprehensive.Comprehensive.MD_MaintenanceInformationcontact/role | + ../../../role | + ../../GM03Comprehensive.Comprehensive.MD_DistributordistributorContact/role | + ../role | + ../../GM03Comprehensive.Comprehensive.MD_MaintenanceInformationcontact/role"/> + + <xsl:for-each select="$roles/GM03Core.Core.CI_RoleCode_[1]"> + <xsl:apply-templates mode="InnerRespParty" select="$resp-party"> + <xsl:with-param name="role" select="."/> + </xsl:apply-templates> + </xsl:for-each> + + <xsl:if test="count($roles) > 1"> + <xsl:for-each select="$roles/GM03Core.Core.CI_RoleCode_[ pos != 1]"> + <xsl:element name="{name(..)}"> + <xsl:apply-templates mode="InnerRespParty" select="$resp-party"> + <xsl:with-param name="role" select="."/> + </xsl:apply-templates> + </xsl:element> + </xsl:for-each> + </xsl:if> + </xsl:template> + + <!-- This template does the actual work of copying the responsible party. + The other template with the same match (but mode="RespParty") calls this + based with each role + --> + <xsl:template mode="InnerRespParty" + match="GM03Core.Core.MD_IdentificationpointOfContact| + GM03Core.Core.MD_Metadatacontact| + GM03Comprehensive.Comprehensive.MD_DistributordistributorContact| + distributorContact | + GM03Comprehensive.Comprehensive.MD_MaintenanceInformationcontact| + GM03Core.Core.CI_ResponsiblePartyparentinfo| + GM03Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty| + GM03Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <xsl:param name="role"/> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <xsl:for-each select="*/GM03Core.Core.CI_ResponsibleParty | GM03Core.Core.CI_ResponsibleParty"> + <xsl:apply-templates mode="text" select="organisationName"/> + <xsl:for-each select="positionName"> + <gmd:positionName> + <xsl:apply-templates mode="language"/> + </gmd:positionName> + </xsl:for-each> + <gmd:contactInfo> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:contactInfo> + </xsl:for-each> + <xsl:for-each select="$role"> + <gmd:role> + <gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode" + codeListValue="{value}"/> + </gmd:role> + </xsl:for-each> + <xsl:for-each select="*/GM03Core.Core.CI_ResponsibleParty | GM03Core.Core.CI_ResponsibleParty"> + <xsl:for-each select="individualFirstName"> + <che:individualFirstName> + <xsl:apply-templates mode="string" select="."/> + </che:individualFirstName> + </xsl:for-each> + <xsl:for-each select="individualLastName"> + <che:individualLastName> + <xsl:apply-templates mode="string" select="."/> + </che:individualLastName> + </xsl:for-each> + <xsl:for-each select="organisationAcronym"> + <che:organisationAcronym> + <xsl:apply-templates mode="language" select="."/> + </che:organisationAcronym> + </xsl:for-each> + <xsl:for-each select="GM03Core.Core.CI_ResponsiblePartyparentinfo"> + <che:parentResponsibleParty> + <xsl:apply-templates mode="RespParty" select="."/> + </che:parentResponsibleParty> + </xsl:for-each> + </xsl:for-each> + </che:CHE_CI_ResponsibleParty> + </xsl:template> + + <xsl:template mode="RespParty" match="GM03Core.Core.CI_ResponsibleParty"> + <gmd:CI_Contact> + <xsl:apply-templates mode="phone" select="."/> + + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <xsl:apply-templates mode="address" select="."/> + </che:CHE_CI_Address> + </gmd:address> + + <xsl:if test="linkage"> + <gmd:onlineResource> + <xsl:for-each select="linkage"> + <gmd:CI_OnlineResource> + <gmd:linkage> + <xsl:apply-templates mode="language"/> + </gmd:linkage> + </gmd:CI_OnlineResource> + </xsl:for-each> + </gmd:onlineResource> + </xsl:if> + + <xsl:for-each select="hoursOfService|contactInfo/GM03Core.Core.CI_Contact/hoursOfService"> + <gmd:hoursOfService> + <xsl:apply-templates mode="string" select="."/> + </gmd:hoursOfService> + </xsl:for-each> + + <xsl:for-each select="contactInstructions|contactInfo/GM03Core.Core.CI_Contact/contactInstructions"> + <gmd:contactInstructions> + <xsl:apply-templates mode="language"/> + </gmd:contactInstructions> + </xsl:for-each> + </gmd:CI_Contact> + </xsl:template> + + <xsl:template mode="phone" match="*"> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <xsl:for-each select="GM03Core.Core.CI_Telephone[numberType='mainNumber']"> + <gmd:voice> + <xsl:apply-templates mode="string" select="number"/> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="GM03Core.Core.CI_Telephone[numberType='facsimile']"> + <gmd:facsimile> + <xsl:apply-templates mode="string" select="number"/> + </gmd:facsimile> + </xsl:for-each> + <xsl:for-each select="GM03Core.Core.CI_Telephone[numberType='directNumber']"> + <che:directNumber> + <xsl:apply-templates mode="string" select="number"/> + </che:directNumber> + </xsl:for-each> + <xsl:for-each select="GM03Core.Core.CI_Telephone[numberType='mobile']"> + <che:mobile> + <xsl:apply-templates mode="string" select="number"/> + </che:mobile> + </xsl:for-each> + </che:CHE_CI_Telephone> + </gmd:phone> + </xsl:template> + + <xsl:template mode="RespParty" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">RespParty</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="address" match="*"> + <xsl:for-each select="address/GM03Core.Core.CI_Address/city"> + <gmd:city> + <xsl:apply-templates mode="string" select="."/> + </gmd:city> + </xsl:for-each> + <xsl:for-each select="address/GM03Core.Core.CI_Address/administrativeArea"> + <gmd:administrativeArea> + <xsl:apply-templates mode="string" select="."/> + </gmd:administrativeArea> + </xsl:for-each> + <xsl:for-each select="address/GM03Core.Core.CI_Address/postalCode"> + <gmd:postalCode> + <xsl:apply-templates mode="string" select="."/> + </gmd:postalCode> + </xsl:for-each> + <xsl:for-each select="country|address/GM03Core.Core.CI_Address/country"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="."></xsl:value-of> + </gco:CharacterString> + </gmd:country> + </xsl:for-each> + <xsl:for-each select="address/GM03Core.Core.CI_Address/electronicMailAddress|electronicalMailAddress"> + <xsl:for-each select="GM03Core.Core.URL_/value"> + <gmd:electronicMailAddress> + <xsl:apply-templates mode="string" select="."/> + </gmd:electronicMailAddress> + </xsl:for-each> + </xsl:for-each> + <xsl:for-each select="address/GM03Core.Core.CI_Address/streetName"> + <che:streetName> + <xsl:apply-templates mode="string" select="."/> + </che:streetName> + </xsl:for-each> + <xsl:for-each select="address/GM03Core.Core.CI_Address/streetNumber"> + <che:streetNumber> + <xsl:apply-templates mode="string" select="."/> + </che:streetNumber> + </xsl:for-each> + <xsl:for-each select="address/GM03Core.Core.CI_Address/addressLine"> + <che:addressLine> + <xsl:apply-templates mode="string" select="."/> + </che:addressLine> + </xsl:for-each> + <xsl:for-each select="address/GM03Core.Core.CI_Address/postBox"> + <che:postBox> + <xsl:apply-templates mode="string" select="."/> + </che:postBox> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/spatial-repr.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/spatial-repr.xsl new file mode 100644 index 00000000000..1a1c6609d34 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/spatial-repr.xsl @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="util" + > + + <xsl:template match="GM03Comprehensive.Comprehensive.MD_VectorSpatialRepresentation" mode="SpatialRepr"> + <gmd:MD_VectorSpatialRepresentation> + <xsl:apply-templates mode="SpatialRepr"/> + </gmd:MD_VectorSpatialRepresentation> + </xsl:template> + + <xsl:template match="topologyLevel" mode="SpatialRepr"> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="./resources/codeList.xml#MD_TopologyLevelCode" codeListValue="{.}"/> + </gmd:topologyLevel> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template match="GM03Comprehensive.Comprehensive.MD_GridSpatialRepresentation" mode="SpatialRepr"> + <gmd:MD_GridSpatialRepresentation> + <xsl:apply-templates mode="SpatialRepr" select="numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="GM03Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="transformationParameterAvailability"/> + </gmd:MD_GridSpatialRepresentation> + </xsl:template> + + <xsl:template match="numberOfDimensions" mode="SpatialRepr"> + <gmd:numberOfDimensions> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:numberOfDimensions> + </xsl:template> + <xsl:template match="GM03Comprehensive.Comprehensive.MD_Dimension" mode="SpatialRepr"> + <gmd:axisDimensionProperties> + <xsl:apply-templates select="." mode="Dimension"/> + </gmd:axisDimensionProperties> + </xsl:template> + <xsl:template match="cellGeometry" mode="SpatialRepr"> + <gmd:cellGeometry> + <gmd:MD_CellGeometryCode codeList="./resources/codeList.xml#MD_CellGeometryCode" + codeListValue="{.}"/> + </gmd:cellGeometry> + </xsl:template> + <xsl:template match="transformationParameterAvailability" mode="SpatialRepr"> + <gmd:transformationParameterAvailability> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:transformationParameterAvailability> + </xsl:template> + + <!-- ================================================================================= --> + <xsl:template match="GM03Comprehensive.Comprehensive.MD_Georeferenceable" mode="SpatialRepr"> + <gmd:MD_Georeferenceable> + <!-- gridSpatial properties --> + <xsl:apply-templates mode="SpatialRepr" select="numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="GM03Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="transformationParameterAvailability"/> + + <!-- specific to MD_Georeferenceable --> + <xsl:apply-templates mode="boolean" select="controlPointAvailability"/> + <xsl:apply-templates mode="boolean" select="orientationParameterAvailability"/> + <xsl:apply-templates mode="text" select="orientationParameterDescription"/> + <xsl:apply-templates mode="SpatialRepr" select="georeferencedParameters"/> + <xsl:apply-templates mode="Citation" select="parameterCitation"/> + </gmd:MD_Georeferenceable> + </xsl:template> + + <xsl:template match="georeferencedParameters" mode="SpatialRepr"> + <gmd:georeferencedParameters> + <gco:Record><xsl:value-of select="."/></gco:Record> + </gmd:georeferencedParameters> + </xsl:template> + <!-- ================================================================================= --> + <xsl:template match="GM03Comprehensive.Comprehensive.MD_Georectified" mode="SpatialRepr"> + <gmd:MD_Georectified> + <!-- gridSpatial properties --> + <xsl:apply-templates mode="SpatialRepr" select="numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="GM03Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="transformationParameterAvailability"/> + + <!-- specific to MD_Georectified --> + <xsl:apply-templates mode="boolean" select="checkPointAvailability"/> + <xsl:apply-templates mode="text" select="checkPointDescription"/> + <xsl:apply-templates mode="SpatialRepr" select="cornerPoints"/> + <xsl:apply-templates mode="SpatialRepr" select="centerPoint"/> + <xsl:apply-templates mode="SpatialRepr" select="pointInPixel"/> + <xsl:apply-templates mode="text" select="transformationDimensionDescription"/> + <xsl:apply-templates mode="text" select="transformationDimensionMapping"/> + </gmd:MD_Georectified> + </xsl:template> + + <xsl:template match="cornerPoints" mode="SpatialRepr"> + <xsl:for-each select="GM03Core.Core.GM_Point_"> + <gmd:cornerPoints> + <xsl:apply-templates mode="GM_Object" select="."/> + </gmd:cornerPoints> + </xsl:for-each> + </xsl:template> + + <xsl:template match="centerPoint" mode="SpatialRepr"> + <gmd:centerPoint> + <gml:Point gml:id="{util:randomId()}"> + <gml:coordinates><xsl:apply-templates mode="GM_Object" select="."/></gml:coordinates> + </gml:Point> + </gmd:centerPoint> + </xsl:template> + + <xsl:template match="pointInPixel" mode="SpatialRepr"> + <gmd:pointInPixel> + <gmd:MD_PixelOrientationCode><xsl:value-of select="."/></gmd:MD_PixelOrientationCode> + </gmd:pointInPixel> + </xsl:template> + <!-- ================================================================================= --> + + <xsl:template match="GM03Comprehensive.Comprehensive.MD_Dimension" mode="Dimension"> + <gmd:MD_Dimension> + <xsl:for-each select="dimensionName"> + <gmd:dimensionName> + <gmd:MD_DimensionNameTypeCode codeList="./resources/codeList.xml#MD_DimensionNameTypeCode" codeListValue="{.}"/> + </gmd:dimensionName> + </xsl:for-each> + + <xsl:for-each select="dimensionSize"> + <gmd:dimensionSize> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:dimensionSize> + </xsl:for-each> + + <xsl:for-each select="resolution"> + <gmd:resolution> + <gco:Measure uom="m"><xsl:value-of select="."/></gco:Measure> + </gmd:resolution> + </xsl:for-each> + </gmd:MD_Dimension> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template match="GM03Comprehensive.Comprehensive.MD_GeometricObjects" mode="SpatialRepr"> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <xsl:apply-templates mode="SpatialRepr"/> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </xsl:template> + + <xsl:template match="geometricObjectType" mode="SpatialRepr"> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="./resources/codeList.xml#MD_GeometricObjectTypeCode" + codeListValue="{.}"/> + </gmd:geometricObjectType> + </xsl:template> + + <xsl:template match="geometricObjectCount" mode="SpatialRepr"> + <gmd:geometricObjectCount> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:geometricObjectCount> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="SpatialRepr" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">SpatialRepr</xsl:with-param> + </xsl:call-template> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/units.xml b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/units.xml new file mode 100644 index 00000000000..dd4fa8d3a8e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/units.xml @@ -0,0 +1,1226 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gml:Dictionary xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/3.2.1/gml.xsd" + gml:id="unitsDictionary"> + <gml:description>A dictionary of units of measure, including the set of units given in tables 1,2,3,5,6 in ISO 31-0</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::m</gml:identifier> + <gml:name>ISO 31-0 Units</gml:name> + <gml:dictionaryEntry> + <gml:Dictionary gml:id="SIbaseUnits"> + <gml:description>The Base Units from the SI units system. Table 1 of ISO 31-0</gml:description> + <gml:descriptionReference xlink:href="http://www.bipm.fr/en/si/base_units/"/> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::SI_base</gml:identifier> + <gml:name>SI Base Units</gml:name> + <gml:dictionaryEntry> + <gml:BaseUnit gml:id="m"> + <gml:description>The metre is the length of the path travelled by light in vacuum during a time interval of 1/299 792 458 of a second.</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::m</gml:identifier> + <gml:name>metre</gml:name> + <gml:name>meter</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">m</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">m</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si/"/> + </gml:BaseUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:BaseUnit gml:id="kg"> + <gml:description>The kilogram is the unit of mass; it is equal to the mass of the international prototype of the kilogram.</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::kg</gml:identifier> + <gml:name>kilogram</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">kg</gml:name> + <gml:quantityType>Mass</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">kg</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si/"/> + </gml:BaseUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:BaseUnit gml:id="s"> + <gml:description>The second is the duration of 9 192 631 770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium 133 atom.</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::s</gml:identifier> + <gml:name>second</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">s</gml:name> + <gml:quantityType>Time</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">s</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si/"/> + </gml:BaseUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:BaseUnit gml:id="A"> + <gml:description>The ampere is that constant current which, if maintained in two straight parallel conductors of infinite length, of negligible circular cross-section, and placed 1 metre apart in vacuum, would produce between these conductors a force equal to 2 ^ 10-7 newton per metre of length.</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::A</gml:identifier> + <gml:name>Ampere</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">A</gml:name> + <gml:quantityType>Electric current</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">A</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si/"/> + </gml:BaseUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:BaseUnit gml:id="K"> + <gml:description>The kelvin, unit of thermodynamic temperature, is the fraction 1/273.16 of the thermodynamic temperature of the triple point of water.</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::K</gml:identifier> + <gml:name>kelvin</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">K</gml:name> + <gml:quantityType>Thermodynamic temperature</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">K</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si/"/> + </gml:BaseUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:BaseUnit gml:id="mol"> + <gml:description>1. The mole is the amount of substance of a system which contains as many elementary entities as there are atoms in 0.012 kilogram of carbon 12. +2. When the mole is used, the elementary entities must be specified and may be atoms, molecules, ions, electrons, other particles, or specified groups of such particles.</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::mol</gml:identifier> + <gml:name>mole</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">mol</gml:name> + <gml:quantityType>Amount of substance</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">mol</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si/"/> + </gml:BaseUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:BaseUnit gml:id="cd"> + <gml:description>The candela is the luminous intensity, in a given direction, of a source that emits monochromatic radiation of frequency 540E12 hertz and that has a radiant intensity in that direction of 1/683 watt per steradian.</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::cd</gml:identifier> + <gml:name>candela</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">cd</gml:name> + <gml:quantityType>Luminous intensity</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">cd</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si/"/> + </gml:BaseUnit> + </gml:dictionaryEntry> + </gml:Dictionary> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:Dictionary gml:id="SIDerivedUnits"> + <gml:description>The Derived Units from the SI units system. These are all derived as a product of SI Base Units, except degrees Celsius in which the conversion formaula to the SI Base Unit (kelvin) involves an offset. + Given in tables 2, 3 of ISO 31-0</gml:description> + <gml:descriptionReference xlink:href="http://www.bipm.fr/en/si/derived_units/"/> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::SI_derived</gml:identifier> + <gml:name>SI Derived Units</gml:name> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="rad"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::rad</gml:identifier> + <gml:name>radian</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">rad</gml:name> + <gml:quantityType>plane angle</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">rad</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#m" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="sr"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::sr</gml:identifier> + <gml:name>steradian</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">sr</gml:name> + <gml:quantityType>solid angle</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">sr</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#m" exponent="2"/> + <gml:derivationUnitTerm uom="#m" exponent="-2"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="Hz"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Hz</gml:identifier> + <gml:name>hertz</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Hz</gml:name> + <gml:quantityType>frequency</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">Hz</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#s" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="N"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::N</gml:identifier> + <gml:name>newton</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">N</gml:name> + <gml:quantityType>force</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">N</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#m" exponent="1"/> + <gml:derivationUnitTerm uom="#kg" exponent="1"/> + <gml:derivationUnitTerm uom="#s" exponent="-2"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="Pa"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Pa</gml:identifier> + <gml:name>pascal</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Pa</gml:name> + <gml:quantityType>pressure, stress</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">Pa</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#N" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-2"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="J"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::J</gml:identifier> + <gml:name>joule</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">J</gml:name> + <gml:quantityType>energy, work, quantity of heat</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">J</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#N" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="W"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::W</gml:identifier> + <gml:name>watt</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">W</gml:name> + <gml:quantityType>power, radiant flux</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">W</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#J" exponent="1"/> + <gml:derivationUnitTerm uom="#s" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="C"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::C</gml:identifier> + <gml:name>coulomb</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">C</gml:name> + <gml:quantityType>electric charge, quantity of electricity</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">C</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#s" exponent="1"/> + <gml:derivationUnitTerm uom="#A" exponent="1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="V"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::V</gml:identifier> + <gml:name>volt</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">V</gml:name> + <gml:quantityType>electric potential difference, electromotive force</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">V</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#W" exponent="1"/> + <gml:derivationUnitTerm uom="#A" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="F"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::F</gml:identifier> + <gml:name>farad</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">F</gml:name> + <gml:quantityType>capacitance</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">F</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#C" exponent="1"/> + <gml:derivationUnitTerm uom="#V" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="ohm"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::ohm</gml:identifier> + <gml:name>Ohm</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Ohm</gml:name> + <gml:quantityType>electric resistance</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">Ohm</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#V" exponent="1"/> + <gml:derivationUnitTerm uom="#A" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="S"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::S</gml:identifier> + <gml:name>Siemens</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">S</gml:name> + <gml:quantityType>electric conductance</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">S</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#A" exponent="1"/> + <gml:derivationUnitTerm uom="#V" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="Wb"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Wb</gml:identifier> + <gml:name>Weber</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Wb</gml:name> + <gml:quantityType>magnetic flux</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">Wb</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#V" exponent="1"/> + <gml:derivationUnitTerm uom="#s" exponent="1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="T"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::T</gml:identifier> + <gml:name>Tesla</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">T</gml:name> + <gml:quantityType>magnetic flux density</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">T</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#Wb" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-2"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="H"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::H</gml:identifier> + <gml:name>Henry</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">H</gml:name> + <gml:quantityType>inductance</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">H</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#Wb" exponent="1"/> + <gml:derivationUnitTerm uom="#A" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="degC"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::degC</gml:identifier> + <gml:name>degree Celsius</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Cel</gml:name> + <gml:quantityType>Celsius temperature</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">°C</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#K"> + <gml:formula> + <gml:a>273.16</gml:a> + <gml:b>1</gml:b> + <gml:c>1</gml:c> + </gml:formula> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="lm"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::lm</gml:identifier> + <gml:name>lumen</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">lm</gml:name> + <gml:quantityType>luminous flux</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">lm</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#cd" exponent="1"/> + <gml:derivationUnitTerm uom="#sr" exponent="1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="lx"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::lx</gml:identifier> + <gml:name>lux</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">lx</gml:name> + <gml:quantityType>illuminance</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">lx</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#lm" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-2"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="Bq"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Bq</gml:identifier> + <gml:name>becquerel</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Bq</gml:name> + <gml:quantityType>activity (referred to a radionuclide)</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">Bq</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#s" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="Gy"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Gy</gml:identifier> + <gml:name>gray</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Gy</gml:name> + <gml:quantityType>absorbed dose, specific energy (imparted), kerma</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">Gy</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#J" exponent="1"/> + <gml:derivationUnitTerm uom="#kg" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="Sv"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Sv</gml:identifier> + <gml:name>sievert</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Sv</gml:name> + <gml:quantityType>dose equivalent, ambient dose equivalent, directional dose equivalent, personal dose equivalent, organ equivalent dose</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.fr/en/si/">Sv</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#J" exponent="1"/> + <gml:derivationUnitTerm uom="#kg" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + </gml:Dictionary> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:Dictionary gml:id="SIwith"> + <gml:description>Units used with SI, given in table 5 and 6 of ISO 31-0</gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::SI_used_with</gml:identifier> + <gml:name>Conventional units.</gml:name> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="deg"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::deg</gml:identifier> + <gml:name>degree</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">deg</gml:name> + <gml:quantityType>plane angle</gml:quantityType> + <gml:catalogSymbol>deg</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#rad"> + <gml:factor>0.017453292519943295769236907684886</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="min_arc"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::min_arc</gml:identifier> + <gml:name>minute</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">'</gml:name> + <gml:quantityType>plane angle</gml:quantityType> + <gml:catalogSymbol>'</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#rad"> + <gml:factor>2.9088820866572159615394846141477e-4</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="sec_arc"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::sec_arc</gml:identifier> + <gml:name>second</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">"</gml:name> + <gml:quantityType>plane angle</gml:quantityType> + <gml:catalogSymbol>"</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#rad"> + <gml:factor>4.8481368110953599358991410235795e-6</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="Tonne"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Tonne</gml:identifier> + <gml:name>tonne</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">t</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>t</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>1.e3</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="d"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::d</gml:identifier> + <gml:name>day</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">d</gml:name> + <gml:quantityType>Time</gml:quantityType> + <gml:catalogSymbol>d</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#s"> + <gml:factor>86400</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="h"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::h</gml:identifier> + <gml:name>hour</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">h</gml:name> + <gml:quantityType>Time</gml:quantityType> + <gml:catalogSymbol>h</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#s"> + <gml:factor>3600</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="min"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::min</gml:identifier> + <gml:name>minute</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">min</gml:name> + <gml:quantityType>Time</gml:quantityType> + <gml:catalogSymbol>min</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#s"> + <gml:factor>60</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="eV"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::eV</gml:identifier> + <gml:name>electron volt</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">eV</gml:name> + <gml:quantityType>energy</gml:quantityType> + <gml:catalogSymbol>eV</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#J"> + <gml:factor>1.60217733e-19</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="l"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::l</gml:identifier> + <gml:name>litre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">l</gml:name> + <gml:quantityType>Volume</gml:quantityType> + <gml:conversionToPreferredUnit uom="#m3"> + <gml:factor>0.001</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="u"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::u</gml:identifier> + <gml:name>unified atomic mass unit</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">u</gml:name> + <gml:quantityType>Mass</gml:quantityType> + <gml:catalogSymbol>u</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="kg"> + <gml:factor>1.6605402e-27</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + </gml:Dictionary> + </gml:dictionaryEntry> + <!-- ========================================= --> + <gml:dictionaryEntry> + <gml:Dictionary gml:id="ConvUnits"> + <gml:description>A collection of other Conventional Units. + These are units of measure which are either widely used or important within a specific community. + For most of these there is +1. a known derivation from more primitive units, which may or may not be SI Base Units, or +2. a known conversion to a preferred unit, which may or may not be an SI Base or Derived unit, through rescaling and offset, +or both. </gml:description> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Conventional</gml:identifier> + <gml:name>Conventional units.</gml:name> + <!-- Time --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="Ma"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Ma</gml:identifier> + <gml:name>million year</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Ma</gml:name> + <gml:quantityType>Time</gml:quantityType> + <gml:catalogSymbol>Ma</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#s"> + <gml:factor>3.155815e13</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="a"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::a</gml:identifier> + <gml:name>sidereal year</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">a</gml:name> + <gml:quantityType>Time</gml:quantityType> + <gml:catalogSymbol>a</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#s"> + <gml:factor>3.155815e7</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="wk"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::wk</gml:identifier> + <gml:name>week</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">wk</gml:name> + <gml:quantityType>Time</gml:quantityType> + <gml:catalogSymbol>wk</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#s"> + <gml:factor>604800</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="ms"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::ms</gml:identifier> + <gml:name>millsecond</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">ms</gml:name> + <gml:quantityType>Time</gml:quantityType> + <gml:catalogSymbol>ms</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#s"> + <gml:factor>0.001</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Frequency --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="kHz"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::kHz</gml:identifier> + <gml:name>kiloHertz</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">kHz</gml:name> + <gml:quantityType>frequency</gml:quantityType> + <gml:catalogSymbol>kHz</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Hz"> + <gml:factor>1.e3</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="MHz"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::MHz</gml:identifier> + <gml:name>MegaHertz</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">MHz</gml:name> + <gml:quantityType>frequency</gml:quantityType> + <gml:catalogSymbol>MHz</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Hz"> + <gml:factor>1.e6</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="GHz"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::GHz</gml:identifier> + <gml:name>GigaHertz</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">GHz</gml:name> + <gml:quantityType>frequency</gml:quantityType> + <gml:catalogSymbol>GHz</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Hz"> + <gml:factor>1.e9</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Length --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="km"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::km</gml:identifier> + <gml:name>kilometre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">km</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol>km</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#m"> + <gml:factor>1.e3</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="cm"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::cm</gml:identifier> + <gml:name>centimetre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">cm</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol>cm</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#m"> + <gml:factor>1.e-2</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="mm"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::mm</gml:identifier> + <gml:name>millimetre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">mm</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol>mm</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#m"> + <gml:factor>1.e-3</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="um"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::um</gml:identifier> + <gml:name>micrometre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">um</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:conversionToPreferredUnit uom="#m"> + <gml:factor>1.e-6</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="nm"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::nm</gml:identifier> + <gml:name>nanometre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">nm</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol>nm</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#m"> + <gml:factor>1.e-9</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="pm"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::pm</gml:identifier> + <gml:name>picometre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">pm</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol>pm</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#m"> + <gml:factor>1.e-12</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="AU"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::AU</gml:identifier> + <gml:name>Astronomic Unit</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">AU</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol>AU</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#m"> + <gml:factor>1.4959789e11</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Area --> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="m2"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::m2</gml:identifier> + <gml:name>metre squared</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">m2</gml:name> + <gml:quantityType>area</gml:quantityType> + <gml:derivationUnitTerm uom="m" exponent="2"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="hare"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::hare</gml:identifier> + <gml:name>hare</gml:name> + <gml:quantityType>area</gml:quantityType> + <gml:conversionToPreferredUnit uom="#m2"> + <gml:factor>0.000610609</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="are"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::are</gml:identifier> + <gml:name>are</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">are</gml:name> + <gml:quantityType>area</gml:quantityType> + <gml:conversionToPreferredUnit uom="#m2"> + <gml:factor>100</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="ha"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::hectare</gml:identifier> + <gml:name>hectare</gml:name> + <gml:quantityType>area</gml:quantityType> + <gml:conversionToPreferredUnit uom="#m2"> + <gml:factor>10000</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Volume --> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="m3"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::m3</gml:identifier> + <gml:name>cubic metre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">m3</gml:name> + <gml:quantityType>Volume</gml:quantityType> + <gml:derivationUnitTerm uom="#m" exponent="3"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <!-- velocity --> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="m_s"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::m_s</gml:identifier> + <gml:name>metres per second</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">m/s</gml:name> + <gml:quantityType>velocity</gml:quantityType> + <gml:catalogSymbol>m/s</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#m" exponent="1"/> + <gml:derivationUnitTerm uom="#s" exponent="-1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <!-- Acceleration --> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="m_s2"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::m_s2</gml:identifier> + <gml:name>metres per second per second</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">m.s-2</gml:name> + <gml:quantityType>acceleration</gml:quantityType> + <gml:catalogSymbol>m/m2</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#m" exponent="1"/> + <gml:derivationUnitTerm uom="#s" exponent="-2"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="Gal"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Gal</gml:identifier> + <gml:name>Gal</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">Gal</gml:name> + <gml:quantityType>acceleration</gml:quantityType> + <gml:catalogSymbol>Gal</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#m_s2"> + <gml:factor>1.e-2</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Mass --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="g"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::g</gml:identifier> + <gml:name>gram</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">g</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>g</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>1.e-3</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="mg"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::mg</gml:identifier> + <gml:name>milligram</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">mg</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>mg</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>1.e-6</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="ug"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::ug</gml:identifier> + <gml:name>microgram</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">ug</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>1.e-9</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="lb"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::lb</gml:identifier> + <gml:name>pound</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>lb</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>0.45359237</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="oz"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::oz</gml:identifier> + <gml:name>ounce</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>oz</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>0.0283495</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="sack"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::sack</gml:identifier> + <gml:name>sack</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>sack</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>45.3592</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="sk94"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::sk94</gml:identifier> + <gml:name>sk94</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>sk94</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>42.6377</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="USTon"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::USTon</gml:identifier> + <gml:name>US ton</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>ton</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>907.18474</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="ImpTon"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::ImpTon</gml:identifier> + <gml:name>Imperial ton</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>ton</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>1016.0469</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="slug"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::slug</gml:identifier> + <gml:name>slug</gml:name> + <gml:quantityType>mass</gml:quantityType> + <gml:catalogSymbol>slug</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#kg"> + <gml:factor>14.593903</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Pressure --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="MPa"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::MPa</gml:identifier> + <gml:name>MegaPascal</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">MPa</gml:name> + <gml:quantityType>pressure</gml:quantityType> + <gml:catalogSymbol>MPa</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa"> + <gml:factor>1.e-6</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="hPa"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::hPa</gml:identifier> + <gml:name>hectoPascal</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">hPa</gml:name> + <gml:quantityType>pressure</gml:quantityType> + <gml:catalogSymbol>hPa</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa"> + <gml:factor>1.e-2</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="kbar"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::kbar</gml:identifier> + <gml:name>kilobar</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">ug</gml:name> + <gml:quantityType>pressure</gml:quantityType> + <gml:catalogSymbol>kbar</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa"> + <gml:factor>1.e8</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="bar"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::bar</gml:identifier> + <gml:name>bar</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">bar</gml:name> + <gml:quantityType>pressure</gml:quantityType> + <gml:catalogSymbol>bar</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa"> + <gml:factor>1.e5</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="mbar"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::mbar</gml:identifier> + <gml:name>milliBar</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">mbar</gml:name> + <gml:quantityType>pressure</gml:quantityType> + <gml:catalogSymbol>mbar</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa"> + <gml:factor>1.e-1</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="atm"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::atm</gml:identifier> + <gml:name>Atmosphere</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">atm</gml:name> + <gml:quantityType>pressure</gml:quantityType> + <gml:catalogSymbol>atm</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa"> + <gml:factor>101325</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="psi"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::psi</gml:identifier> + <gml:name>Pound per square inch</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">psi</gml:name> + <gml:quantityType>pressure</gml:quantityType> + <gml:catalogSymbol>psi</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa"> + <gml:factor>6894.76</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Force --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="dyn"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::dyne</gml:identifier> + <gml:name>dyne</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">dyn</gml:name> + <gml:quantityType>force</gml:quantityType> + <gml:catalogSymbol>dyn</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#N"> + <gml:factor>1.e-5</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Energy and Power --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="hp"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::hp</gml:identifier> + <gml:name>horsepower</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">HP</gml:name> + <gml:quantityType>power</gml:quantityType> + <gml:catalogSymbol>HP</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#W"> + <gml:factor>746</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="erg"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::erg</gml:identifier> + <gml:name>erg</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">erg</gml:name> + <gml:quantityType>energy</gml:quantityType> + <gml:catalogSymbol>erg</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#J"> + <gml:factor>1.e-7</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="cal"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::cal</gml:identifier> + <gml:name>thermochemical calorie</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">cal</gml:name> + <gml:quantityType>energy</gml:quantityType> + <gml:catalogSymbol>cal</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#J"> + <gml:factor>4.184</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="kJ"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::kJ</gml:identifier> + <gml:name>kiloJoule</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">kJ</gml:name> + <gml:quantityType>energy</gml:quantityType> + <gml:catalogSymbol>kJ</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#J"> + <gml:factor>1.e3</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="kJ_Nm3"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::kJ_Nm3</gml:identifier> + <gml:name>kilojoules per Newton metre</gml:name> + <gml:quantityType>Point of evaporation</gml:quantityType> + <gml:derivationUnitTerm uom="#kJ" exponent="1"/> + <gml:derivationUnitTerm uom="#N" exponent="-1"/> + <gml:derivationUnitTerm uom="#m" exponent="-3"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="W_m2"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::W_m2</gml:identifier> + <gml:name>Watts per square metre</gml:name> + <gml:quantityType>Heat flux</gml:quantityType> + <gml:derivationUnitTerm uom="#W" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-2"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="hfu"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::hfu</gml:identifier> + <gml:name>heat flux unit</gml:name> + <gml:quantityType>Heat flux</gml:quantityType> + <gml:conversionToPreferredUnit uom="#W_m2"> + <gml:factor>4.868e-2</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Concentration and density --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="g_l"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::g_l</gml:identifier> + <gml:name>grams per litre</gml:name> + <gml:quantityType>w/v concentration</gml:quantityType> + <gml:conversionToPreferredUnit uom="#kg_m3"> + <gml:factor>1.</gml:factor> + </gml:conversionToPreferredUnit> + <gml:derivationUnitTerm uom="#g" exponent="1"/> + <gml:derivationUnitTerm uom="#l" exponent="-1"/> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="ug_m3"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::ug_m3</gml:identifier> + <gml:name>micrograms per cubic metre</gml:name> + <gml:quantityType>w/v concentration</gml:quantityType> + <gml:conversionToPreferredUnit uom="#kg_m3"> + <gml:factor>1.e-9</gml:factor> + </gml:conversionToPreferredUnit> + <gml:derivationUnitTerm uom="#ug" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-3"/> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="kg_m3"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::kg_m3</gml:identifier> + <gml:name>kilograms per cubic metre</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">kg/m3</gml:name> + <gml:quantityType>Density</gml:quantityType> + <gml:derivationUnitTerm uom="#kg" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-3"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="T_m3"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::T_m3</gml:identifier> + <gml:name>Tonnes per cubic metre</gml:name> + <gml:quantityType>Density</gml:quantityType> + <gml:conversionToPreferredUnit uom="#kg_m3"> + <gml:factor>1000.</gml:factor> + </gml:conversionToPreferredUnit> + <gml:derivationUnitTerm uom="#T" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-3"/> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Dimensionless ratios --> + <gml:dictionaryEntry> + <gml:UnitDefinition gml:id="scale"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::scale</gml:identifier> + <gml:name>scale</gml:name> + <gml:quantityType>scale</gml:quantityType> + </gml:UnitDefinition> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="ratio"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::ratio</gml:identifier> + <gml:name>ratio</gml:name> + <gml:quantityType>scale</gml:quantityType> + <gml:catalogSymbol>1</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="scale"> + <gml:factor>1</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="percent"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::percent</gml:identifier> + <gml:name>percent</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">%</gml:name> + <gml:quantityType>scale</gml:quantityType> + <gml:catalogSymbol>%</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="scale"> + <gml:factor>0.01</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="ppm"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::ppm</gml:identifier> + <gml:name>parts per million</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">[ppm]</gml:name> + <gml:quantityType>scale</gml:quantityType> + <gml:catalogSymbol>ppm</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="scale"> + <gml:factor>1.e-6</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="ppb"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::ppb</gml:identifier> + <gml:name>parts per billiion</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">[ppb]</gml:name> + <gml:quantityType>scale</gml:quantityType> + <gml:catalogSymbol>ppb</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="scale"> + <gml:factor>1.e-9</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Viscosity --> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="kappa"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::kappa</gml:identifier> + <gml:name>kappa</gml:name> + <gml:quantityType>kinematic viscosity </gml:quantityType> + <gml:catalogSymbol>k</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#Pa" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-3"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:DerivedUnit gml:id="Pas"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Pas</gml:identifier> + <gml:name>poiseuille</gml:name> + <gml:quantityType>dynamic viscosity</gml:quantityType> + <gml:catalogSymbol> Pa.s</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#Pa" exponent="1"/> + <gml:derivationUnitTerm uom="#s" exponent="1"/> + </gml:DerivedUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="Poise"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::Poise</gml:identifier> + <gml:name>Poise</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">P</gml:name> + <gml:quantityType>dynamic viscosity</gml:quantityType> + <gml:catalogSymbol>P</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa.s"> + <gml:factor>0.1</gml:factor> + </gml:conversionToPreferredUnit> + <gml:derivationUnitTerm uom="#cm" exponent="-1"/> + <gml:derivationUnitTerm uom="#g" exponent="1"/> + <gml:derivationUnitTerm uom="#s" exponent="1"/> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="slug_fts"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::slug_fts</gml:identifier> + <gml:name>slugs/foot-second</gml:name> + <gml:quantityType>dynamic viscosity</gml:quantityType> + <gml:catalogSymbol>slug/fts</gml:catalogSymbol> + <gml:conversionToPreferredUnit uom="#Pa.s"> + <gml:factor>47.9</gml:factor> + </gml:conversionToPreferredUnit> + <gml:derivationUnitTerm uom="#slug" exponent="1"/> + <gml:derivationUnitTerm uom="#ft" exponent="-1"/> + <gml:derivationUnitTerm uom="#s" exponent="-1"/> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <!-- Electromagnetism --> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="gauss"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::gauss</gml:identifier> + <gml:name>Gauss</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">G</gml:name> + <gml:quantityType>magnetic flux density</gml:quantityType> + <gml:conversionToPreferredUnit uom="#T"> + <gml:factor>1.e-4</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="mV"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::mV</gml:identifier> + <gml:name>millivolt</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">mV</gml:name> + <gml:quantityType>electric potential difference, electromotive force</gml:quantityType> + <gml:conversionToPreferredUnit uom="#V"> + <gml:factor>1.e-3</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="uV"> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::uV</gml:identifier> + <gml:name>microvolt</gml:name> + <gml:name codeSpace="http://aurora.regenstrief.org/~schadow/units/UCUM/ucum.html">uV</gml:name> + <gml:quantityType>electric potential difference, electromotive force</gml:quantityType> + <gml:conversionToPreferredUnit uom="#V"> + <gml:factor>1.e-6</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + </gml:Dictionary> + </gml:dictionaryEntry> + <!-- Added for OWS3-SWE by Mark Priest, commented out by by Simon Cox --> + <!-- Relative humidity is grams of water per cubic meter of air divided by the maximum saturation value of air in grams per cubic meter at the current temperature --> + <!-- the uom is just percent. the phenomenon is relative humidity. This definition conflates the two and is thus incorrect - use #percent instead + <gml:dictionaryEntry> + <gml:ConventionalUnit gml:id="RelHum"> + <gml:name>RelHumPercent</gml:name> + <gml:identifier codeSpace="http://urn.opengis.net/">urn:ogc:def:uom:OGC::RelHum</gml:name> + <gml:quantityType>concentration</gml:quantityType> + <gml:catalogSymbol codeSpace="unknown">RH%</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#g" exponent="1"/> + <gml:derivationUnitTerm uom="#m" exponent="-3"/> + <gml:derivationUnitTerm uom="#g" exponent="-1"/> + <gml:derivationUnitTerm uom="#m" exponent="3"/> + </gml:ConventionalUnit> + </gml:dictionaryEntry> + --> +</gml:Dictionary> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/CHE03-to-19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/CHE03-to-19139.xsl new file mode 100644 index 00000000000..837ba36372d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/CHE03-to-19139.xsl @@ -0,0 +1,401 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:comp="http://toignore" + xmlns:che="http://www.geocat.ch/2008/che" + 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:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="#all"> + + <xsl:include href="resolve-refs.xsl"/> + <xsl:include href="metadata.xsl"/> + <xsl:include href="resp-party.xsl"/> + <xsl:include href="spatial-repr.xsl"/> + <xsl:include href="citation.xsl"/> + <xsl:include href="content.xsl"/> + <xsl:include href="maintenance-info.xsl"/> + <xsl:include href="data-quality.xsl"/> + <xsl:include href="identification.xsl"/> + <xsl:include href="extent.xsl"/> + <xsl:include href="distribution.xsl"/> + <xsl:include href="ref-system.xsl"/> + <xsl:include href="legislation.xsl"/> + + <xsl:param name="uuid"/> + <xsl:param name="DEBUG">0</xsl:param> + <xsl:template match="/comp:TRANSFER/comp:DATASECTION/comp:GM03_2Comprehensive.Comprehensive|/comp:TRANSFER/comp:DATASECTION/comp:GM03_2Core.Core" + priority="10"> + <xsl:variable name="noNamespace"> + <xsl:apply-templates mode="remove-namespace" select="/"/> + </xsl:variable> + + <xsl:apply-templates select="$noNamespace"/> + </xsl:template> + <xsl:variable name="UPPER">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable> + <xsl:variable name="LOWER">abcdefghijklmnopqrstuvwxyz</xsl:variable> + <xsl:template mode="remove-namespace" match="/|comment()|processing-instruction()"> + <xsl:copy> + <xsl:apply-templates mode="remove-namespace" /> + </xsl:copy> + </xsl:template> + + <xsl:template mode="remove-namespace" match="*"> + <xsl:element name="{local-name()}" namespace=""> + <xsl:apply-templates mode="remove-namespace" select="@*|node()" /> + </xsl:element> + </xsl:template> + + <xsl:template mode="remove-namespace" match="@*"> + <xsl:attribute name="{local-name()}" namespace=""> + <xsl:value-of select="." /> + </xsl:attribute> + </xsl:template> + + <xsl:template match="/int:TRANSFER/int:DATASECTION/int:GM03_2Comprehensive.Comprehensive|/int:TRANSFER/int:DATASECTION/int:GM03_2Core.Core"> + <xsl:choose> + <xsl:when test="$DEBUG=1"> + <xsl:apply-templates select="." mode="ResolveRefs"/> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="resolvedText"> + <xsl:apply-templates select="." mode="ResolveRefs"/> + </xsl:variable> + <xsl:variable name="resolved" select="$resolvedText"/> + + <xsl:apply-templates select="$resolved" mode="root"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="/" mode="root"> + <xsl:apply-templates mode="root"/> + </xsl:template> + + <xsl:template match="int:GM03_2Comprehensive.Comprehensive|int:GM03_2Core.Core" mode="root"> + <che:CHE_MD_Metadata gco:isoType="gmd:MD_Metadata"> + <xsl:apply-templates mode="root"/> + </che:CHE_MD_Metadata> + </xsl:template> + + <xsl:template match="int:GM03_2Core.Core.MD_Metadata" mode="root"> + <xsl:apply-templates select="." mode="MetaData"/> + </xsl:template> + + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.formatDistributordistributorFormat" mode="root"/> + + <xsl:template match="*" mode="root"> + <ERROR mode="root" tag="{name(..)}/{name(.)}"/> + </xsl:template> + + <xsl:template name="mainLanguage"> + <xsl:choose> + <xsl:when test="//int:GM03_2Core.Core.MD_Metadata/int:language"> + <xsl:value-of select="//int:GM03_2Core.Core.MD_Metadata/int:language"/> + </xsl:when> + <xsl:otherwise>de</xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="locale"> + <xsl:variable name="mainLanguage"> + <xsl:call-template name="mainLanguage"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="int:language"> + <xsl:value-of select="translate(int:language, $LOWER, $UPPER)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="translate($mainLanguage, $LOWER, $UPPER)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="text()" mode="root"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">root</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:variable name="mainLanguage"> + <xsl:call-template name="mainLanguage"/> + </xsl:variable> + + <xsl:template match="int:GM03_2Core.Core.PT_FreeURL" mode="language"> + <xsl:attribute name="xsi:type">che:PT_FreeURL_PropertyType</xsl:attribute> + + <che:PT_FreeURL> + <xsl:apply-templates mode="language" select="int:URLGroup/int:GM03_2Core.Core.PT_URLGroup"/> + </che:PT_FreeURL> + </xsl:template> + + <xsl:template match="int:GM03_2Core.Core.PT_URLGroup" mode="language"> + + <xsl:variable name="lang"> + <xsl:call-template name="locale"/> + </xsl:variable> + <che:URLGroup> + <che:LocalisedURL locale="#{$lang}"> + <xsl:value-of select="normalize-space(int:plainURL)"/> + </che:LocalisedURL> + </che:URLGroup> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="languageGroup"> + <xsl:param name="element" select="name()" /> + <xsl:element name="gmd:{$element}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + + <xsl:if test="*[local-name()=$element]/int:GM03_2Core.Core.PT_FreeText/int:textGroup/int:GM03_2Core.Core.PT_Group"> + <gmd:PT_FreeText> + <xsl:apply-templates select="*[local-name()=$element]/int:GM03_2Core.Core.PT_FreeText/int:textGroup/int:GM03_2Core.Core.PT_Group" mode="language"/> + </gmd:PT_FreeText> + </xsl:if> + </xsl:element> + </xsl:template> + + <xsl:template match="int:GM03_2Core.Core.PT_FreeText" mode="language"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + + <xsl:if test="int:textGroup/int:GM03_2Core.Core.PT_Group"> + <gmd:PT_FreeText> + <xsl:apply-templates select="int:textGroup/int:GM03_2Core.Core.PT_Group" mode="language"/> + </gmd:PT_FreeText> + </xsl:if> + </xsl:template> + + <xsl:template match="int:GM03_2Core.Core.PT_Group" mode="language"> + <xsl:variable name="lang"> + <xsl:call-template name="locale"/> + </xsl:variable> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#{$lang}"> + <xsl:value-of select="int:plainText"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="languageToIso3" match="text()"> + <xsl:variable name="lang" select="translate(., $LOWER, $UPPER)"/> + <xsl:choose> + <xsl:when test="$lang='DE'">ger</xsl:when> + <xsl:when test="$lang='FR'">fre</xsl:when> + <xsl:when test="$lang='IT'">ita</xsl:when> + <xsl:when test="$lang='EN'">eng</xsl:when> + <xsl:when test="$lang='RM'">roh</xsl:when> + <xsl:otherwise>ERROR_<xsl:value-of select="$lang"/></xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="language" match="int:CodeISO.LanguageCodeISO_"> + <gmd:language> + <gco:CharacterString><xsl:apply-templates mode="languageToIso3" select="int:value"/></gco:CharacterString> + </gmd:language> + </xsl:template> + + <xsl:template mode="language" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">language</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="real"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="real"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="real"> + <gco:Real> + <xsl:value-of select="."/> + </gco:Real> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="integerCHE"> + <xsl:element name="che:{local-name(.)}"> + <xsl:apply-templates mode="integer"/> + </xsl:element> + </xsl:template> + + <xsl:template match="*" mode="integer"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="integer"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="integer"> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="boolean"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="boolean"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="boolean"> + <gco:Boolean> + <xsl:choose> + <xsl:when test="translate(string(.),$UPPER,$LOWER) = 'false'">0</xsl:when> + <xsl:when test="translate(string(.),$UPPER,$LOWER) = 'true'">1</xsl:when> + <xsl:otherwise> + <xsl:value-of select="."/> + </xsl:otherwise> + </xsl:choose> + </gco:Boolean> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="string"> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="text" match="*"> + <xsl:param name="prefix">gmd</xsl:param> + <xsl:choose> + <xsl:when test="int:GM03_2Core.Core.PT_FreeText"> + <xsl:for-each select="int:GM03_2Core.Core.PT_FreeText"> + <xsl:element name="{$prefix}:{local-name(..)}"> + <xsl:apply-templates mode="language" select="."/> + </xsl:element> + </xsl:for-each> + </xsl:when> + <xsl:when test="int:GM03_2Core.Core.CharacterString_"> + <xsl:element name="{$prefix}:{local-name(.)}"> + <xsl:for-each select="int:GM03_2Core.Core.CharacterString_"> + <gco:CharacterString> + <xsl:value-of select="int:value"/> + </gco:CharacterString> + </xsl:for-each> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:element name="{$prefix}:{local-name(.)}"> + <xsl:apply-templates mode="string"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="textCHE" match="*"> + <xsl:choose> + <xsl:when test="int:GM03_2Core.Core.PT_FreeText"> + <xsl:for-each select="int:GM03_2Core.Core.PT_FreeText"> + <xsl:element name="che:{local-name(..)}"> + <xsl:apply-templates mode="language" select="."/> + </xsl:element> + </xsl:for-each> + </xsl:when> + <xsl:when test="int:GM03_2Core.Core.CharacterString_"> + <xsl:element name="che:{local-name(.)}"> + <xsl:for-each select="int:GM03_2Core.Core.CharacterString_"> + <gco:CharacterString> + <xsl:value-of select="int:value"/> + </gco:CharacterString> + </xsl:for-each> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:element name="che:{local-name(.)}"> + <xsl:apply-templates mode="string"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="date"> + <xsl:choose> + <xsl:when test="string-length(.)=0"> + </xsl:when> + <xsl:when test="string-length(.)&lt;=10"> + <gco:Date> + <xsl:value-of select="translate(., ':', '-')"/> + </gco:Date> + </xsl:when> + <xsl:when test="string-length(.)=16"> + <gco:Date> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/>:00 + </gco:Date> + </xsl:when> + <xsl:otherwise> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/> + </gco:DateTime> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="dateTime"> + <xsl:choose> + <xsl:when test="string-length(.)=0"> + </xsl:when> + <xsl:when test="string-length(.)&lt;=10"> + <gco:DateTime> + <xsl:value-of select="translate(., ':', '-')"/>T12:00:00 + </gco:DateTime> + </xsl:when> + <xsl:when test="string-length(.)=16"> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/>:00 + </gco:DateTime> + </xsl:when> + <xsl:otherwise> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/> + </gco:DateTime> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="UnMatchedText"> + <xsl:param name="mode">???</xsl:param> + <xsl:if test="normalize-space(.)!=''"> + <ERROR mode="{$mode}" + tag="{name(../../../../../../..)}/{name(../../../../../..)}/{name(../../../../..)}/{name(../../../..)}/{name(../../..)}/{name(../..)}/{name(..)}" TID="{@TID}"> + <xsl:value-of select="."/> + </ERROR> + </xsl:if> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/citation.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/citation.xsl new file mode 100644 index 00000000000..d33cef032fd --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/citation.xsl @@ -0,0 +1,148 @@ +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:template mode="Citation" match="int:GM03_2Comprehensive.Comprehensive.CI_Citation|int:GM03_2Core.Core.CI_Citation|int:citation"> + <gmd:CI_Citation> + <xsl:for-each select="int:title"> + <gmd:title> + <xsl:apply-templates mode="language"/> + </gmd:title> + </xsl:for-each> + <xsl:for-each select="int:alternateTitle/int:GM03_2Core.Core.PT_FreeText"> + <gmd:alternateTitle> + <xsl:apply-templates mode="language" select="."/> + </gmd:alternateTitle> + </xsl:for-each> + <xsl:if test="not(int:GM03_2Core.Core.CI_Date) and not(int:alternateTitle/int:GM03_2Core.Core.PT_FreeText)"> + <gmd:date/> + </xsl:if> + <xsl:for-each select="int:GM03_2Core.Core.CI_Date"> + <gmd:date> + <xsl:apply-templates select="." mode="CitationDate"/> + </gmd:date> + </xsl:for-each> + <xsl:for-each select="int:edition"> + <gmd:edition> + <xsl:apply-templates mode="string" select="."/> + </gmd:edition> + </xsl:for-each> + <xsl:for-each select="int:editionDate"> + <gmd:editionDate> + <xsl:apply-templates mode="date" select="."/> + </gmd:editionDate> + </xsl:for-each> + <xsl:for-each select="int:identifier|int:GM03_2Comprehensive.Comprehensive.CI_Citationidentifier/int:identifier"> + <gmd:identifier> + <xsl:apply-templates mode="Identifier"/> + </gmd:identifier> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty"> + <gmd:citedResponsibleParty> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:citedResponsibleParty> + </xsl:for-each> + <xsl:for-each select="int:presentationForm"> + <gmd:presentationForm> + <gmd:CI_PresentationFormCode codeList="./resources/codeList.xml#CI_PresentationFormCode" + codeListValue="{int:GM03_2Comprehensive.Comprehensive.CI_PresentationFormCode_/int:value}"/> + </gmd:presentationForm> + </xsl:for-each> + <xsl:for-each select="int:series/int:GM03_2Comprehensive.Comprehensive.CI_Series"> + <gmd:series> + <gmd:CI_Series> + <xsl:apply-templates mode="text" select="int:name"/> + <xsl:apply-templates mode="text" select="int:issueIdentification"/> + <xsl:apply-templates mode="text" select="int:page"/> + </gmd:CI_Series> + </gmd:series> + </xsl:for-each> + <xsl:for-each select="int:otherCitationDetails"> + <gmd:otherCitationDetails> + <xsl:apply-templates mode="language"/> + </gmd:otherCitationDetails> + </xsl:for-each> + <xsl:for-each select="int:collectiveTitle"> + <gmd:collectiveTitle> + <xsl:apply-templates mode="language"/> + </gmd:collectiveTitle> + </xsl:for-each> + <xsl:for-each select="int:ISBN"> + <gmd:ISBN> + <xsl:apply-templates mode="string"/> + </gmd:ISBN> + </xsl:for-each> + <xsl:for-each select="int:ISSN"> + <gmd:ISSN> + <xsl:apply-templates mode="string"/> + </gmd:ISSN> + </xsl:for-each> + </gmd:CI_Citation> + </xsl:template> + + <xsl:template mode="Citation" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Citation</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Citation" match="int:GM03_2Core.Core.CI_Date"> + <gmd:date> + <xsl:apply-templates select="." mode="CitationDate"/> + </gmd:date> + </xsl:template> + + <xsl:template mode="CitationDate" match="int:GM03_2Core.Core.CI_Date"> + <gmd:CI_Date> + <xsl:apply-templates mode="CitationDate"/> + </gmd:CI_Date> + </xsl:template> + + <xsl:template mode="CitationDate" match="int:date"> + <gmd:date> + <xsl:apply-templates mode="date" select="."/> + </gmd:date> + </xsl:template> + + <xsl:template mode="CitationDate" match="int:dateType"> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="./resources/codeList.xml#CI_DateTypeCode" codeListValue="{.}" /> + </gmd:dateType> + </xsl:template> + + <xsl:template mode="CitationDate" match="int:CI_Citation"/> + + <xsl:template mode="CitationDate" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">CitationDate</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Identifier" match="int:GM03_2Core.Core.MD_Identifier/int:code/int:GM03_2Core.Core.PT_FreeText/int:textGroup"> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString> + <xsl:value-of select="int:GM03_2Core.Core.PT_Group/int:plainText[1]"/> + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </xsl:template> + + <xsl:template mode="Identifier" match="int:GM03_2Comprehensive.Comprehensive.RS_Identifier"> + <xsl:apply-templates mode="MdIdent" select="." /> + </xsl:template> + + <xsl:template mode="Identifier" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Identifier</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/content.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/content.xsl new file mode 100644 index 00000000000..f68474f3e16 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/content.xsl @@ -0,0 +1,330 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml"> + + <xsl:template mode="Content" + match="int:GM03_2Comprehensive.Comprehensive.MD_CoverageDescription"> + <che:CHE_MD_CoverageDescription> + <xsl:apply-templates mode="Content" select="int:attributeDescription"/> + <xsl:apply-templates mode="Content" select="int:contentType"/> + <xsl:apply-templates mode="Content" select="int:GM03_2Comprehensive.Comprehensive.dimensionMD_CoverageDescription"/> + <xsl:apply-templates mode="Content" select="int:filmType"/> + <xsl:apply-templates mode="integerCHE" select="int:focalDistance"/> + </che:CHE_MD_CoverageDescription> + </xsl:template> + + <xsl:template mode="Content" match="int:filmType"> + <che:filmType> + <che:CHE_MD_FilmTypeCode codeList="?" codeListValue="{.}"/> + </che:filmType> + </xsl:template> + + <xsl:template mode="Content" match="int:attributeDescription"> + <gmd:attributeDescription> + <gco:RecordType> + <xsl:value-of select="."/> + </gco:RecordType> + </gmd:attributeDescription> + </xsl:template> + + <xsl:template mode="Content" match="int:contentType"> + <gmd:contentType> + <gmd:MD_CoverageContentTypeCode + codeList="./resources/codeList.xml#MD_CoverageContentTypeCode" + codeListValue="{.}"/> + </gmd:contentType> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.dimensionMD_CoverageDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="int:dimension"> + <gmd:dimension> + <xsl:apply-templates mode="Content"/> + </gmd:dimension> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_Band"> + <gmd:MD_Band> + <xsl:apply-templates mode="Content" select="int:sequenceIdentifier"/> + <xsl:apply-templates mode="text" select="int:descriptor"/> + <xsl:apply-templates mode="real" select="int:maxValue"/> + <xsl:apply-templates mode="real" select="int:minValue"/> + <xsl:apply-templates mode="Content" select="int:units"/> + <xsl:apply-templates mode="real" select="int:peakResponse"/> + <xsl:apply-templates mode="integer" select="int:bitsPerValue"/> + <xsl:apply-templates mode="integer" select="int:toneGradation"/> + <xsl:apply-templates mode="real" select="int:scaleFactor"/> + <xsl:apply-templates mode="real" select="int:offset"/> + </gmd:MD_Band> + </xsl:template> + + <xsl:template mode="Content" match="int:sequenceIdentifier"> + <gmd:sequenceIdentifier> + <gco:MemberName> + <!-- TODO: what to put here? --> + <gco:aName> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </gco:MemberName> + </gmd:sequenceIdentifier> + </xsl:template> + + <xsl:template mode="Content" match="int:units"> + <xsl:variable name="unit" select="text()"/> + <gmd:units> + <xsl:copy-of select="document('../units.xml')//(gml:dictionaryEntry|gml320:dictionaryEntry)/*[@gml:id=$unit or @gml320:id=$unit]"/> + </gmd:units> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_ImageDescription"> + <che:CHE_MD_ImageDescription> + <!--<MD_ImageDescription>--> + <xsl:apply-templates mode="Content" select="int:attributeDescription"/> + <xsl:apply-templates mode="Content" select="int:contentType"/> + <xsl:apply-templates mode="Content" select="int:dimension"/> + + <xsl:apply-templates mode="real" select="int:illuminationElevationAngle"/> + <xsl:apply-templates mode="real" select="int:illuminationAzimuthAngle"/> + <xsl:apply-templates mode="Content" select="int:imagingCondition"/> + <xsl:apply-templates mode="Content" select="int:imageQualityCode"/> + <xsl:apply-templates mode="real" select="int:cloudCoverPercentage"/> + <xsl:apply-templates mode="Content" select="int:processingLevelCode"/> + <xsl:apply-templates mode="integer" select="int:compressionGenerationQuantity"/> + <xsl:apply-templates mode="boolean" select="int:triangulationIndicator"/> + <xsl:apply-templates mode="boolean" select="int:radiometricCalibrationDataAvailability"/> + <xsl:apply-templates mode="boolean" select="int:cameraCalibrationInformationAvailability"/> + <xsl:apply-templates mode="boolean" select="int:filmDistortionInformationAvailability"/> + <xsl:apply-templates mode="boolean" select="int:lensDistortionInformationAvailability"/> + + <xsl:apply-templates mode="Content" select="int:filmType"/> + <xsl:apply-templates mode="integerCHE" select="int:focalDistance"/> + <!--</MD_ImageDescription>--> + </che:CHE_MD_ImageDescription> + + </xsl:template> + + <xsl:template mode="Content" match="int:imagingCondition"> + <gmd:imagingCondition> + <gmd:MD_ImagingConditionCode codeList="./resources/codeList.xml#MD_ImagingConditionCode" codeListValue="{./@value|.}" /> + </gmd:imagingCondition> + </xsl:template> + + <xsl:template mode="Content" match="int:imageQualityCode|int:processingLevelCode"> + <xsl:element name="{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="Identifier"/> + </xsl:element> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_RangeDimension"> + <gmd:MD_RangeDimension> + <xsl:apply-templates mode="Content" select="int:sequenceIdentifier"/> + <xsl:apply-templates mode="text" select="int:descriptor"/> + </gmd:MD_RangeDimension> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" + match="int:GM03_2Comprehensive.Comprehensive.MD_FeatureCatalogueDescription"> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <xsl:for-each select="int:complianceCode"> + <gmd:complianceCode> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:complianceCode> + </xsl:for-each> + + <xsl:for-each select="int:language"> + <xsl:apply-templates mode="language" select="."/> + </xsl:for-each> + + <xsl:for-each select="int:includedWithDataset"> + <gmd:includedWithDataset> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:includedWithDataset> + </xsl:for-each> + + <xsl:for-each select="int:featureTypes"> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.GenericName_/int:value"> + <gmd:featureTypes> + <gco:LocalName><xsl:value-of select="."/></gco:LocalName> + </gmd:featureTypes> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.CI_Citation"> + <gmd:featureCatalogueCitation> + <xsl:apply-templates mode="Citation" select="."/> + </gmd:featureCatalogueCitation> + </xsl:for-each> + <xsl:if test="not(int:GM03_2Comprehensive.Comprehensive.CI_Citation)"> + <gmd:featureCatalogueCitation/> + </xsl:if> + + <xsl:for-each select="int:dataModel"> + <che:dataModel xsi:type="che:PT_FreeURL_PropertyType"> + <xsl:choose> + <xsl:when test="int:GM03_2Core.Core.PT_FreeURL"> + <xsl:apply-templates mode="language" select="int:GM03_2Core.Core.PT_FreeURL"/> + </xsl:when> + <xsl:otherwise> + <gmd:URL><xsl:value-of select="."/></gmd:URL> + </xsl:otherwise> + </xsl:choose> + </che:dataModel> + </xsl:for-each> + <xsl:apply-templates mode="Content" select="int:GM03_2Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription"/> + <xsl:apply-templates mode="Content" select="int:GM03_2Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription"/> + <xsl:choose> + <xsl:when test="int:modelType"> + <xsl:apply-templates mode="Content" select="int:modelType"/> + </xsl:when> + <xsl:otherwise> + <che:modelType> + <che:CHE_MD_modelTypeCode codeListValue="FeatureDescription" codeList="#che:CHE_MD_modelTypeCode" /> + </che:modelType> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="Content" select="int:GM03_2_2Comprehensive.Comprehensive.CI_Citation"/> + </che:CHE_MD_FeatureCatalogueDescription> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="int:domain"> + <che:domain> + <xsl:apply-templates mode="Content"/> + </che:domain> + </xsl:template> + + <xsl:template mode="Content" match="int:modelType"> + <che:modelType> + <che:CHE_MD_modelTypeCode codeListValue="{.}" codeList="#che:CHE_MD_modelTypeCode" /> + </che:modelType> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_CodeDomain"> + <che:CHE_MD_CodeDomain> + <xsl:apply-templates mode="textCHE" select="int:name"/> + <xsl:apply-templates mode="textCHE" select="int:description"/> + <xsl:apply-templates mode="Content" select="int:type"/> + <xsl:apply-templates mode="Content" select="int:subDomain"/> + <xsl:apply-templates mode="Content" select="int:baseDomain"/> + </che:CHE_MD_CodeDomain> + </xsl:template> + + <xsl:template mode="Content" match="int:subDomain|int:baseDomain"> + <xsl:element name="che:{local-name()}"> + <xsl:apply-templates mode="Content"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="Content" match="int:type"> + <che:type> + <xsl:apply-templates mode="Content"/> + </che:type> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_Type"> + <!--<che:CHE_MD_Type>--> + <xsl:apply-templates mode="textCHE" select="int:type"/> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.MD_CodeValue"> + <che:value> + <xsl:apply-templates mode="Content" select="."/> + </che:value> + </xsl:for-each> + <!--</che:CHE_MD_Type>--> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_CodeValue"> + <che:CHE_MD_CodeValue> + <xsl:apply-templates mode="textCHE" select="int:name"/> + <xsl:apply-templates mode="textCHE" select="int:code"/> + <xsl:apply-templates mode="textCHE" select="int:description"/> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.MD_CodeValue"> + <che:subValue> + <xsl:apply-templates mode="Content" select="."/> + </che:subValue> + </xsl:for-each> + </che:CHE_MD_CodeValue> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="int:class"> + <che:class> + <xsl:apply-templates mode="Content"/> + </che:class> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_Class"> + <che:CHE_MD_Class> + <xsl:apply-templates mode="textCHE" select="int:name"/> + <che:description> + <xsl:apply-templates mode="language" select="int:description/*"/> + </che:description> + <xsl:apply-templates mode="Content" select="int:GM03_2Comprehensive.Comprehensive.MD_Attribute"/> + <xsl:apply-templates mode="Content" select=".//baseClass"/> <!-- TODO --> + <xsl:apply-templates mode="Content" select=".//subClass"/> <!-- TODO --> + </che:CHE_MD_Class> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_Attribute"> + <che:attribute> + <xsl:apply-templates mode="textCHE" select="int:name"/> + <xsl:apply-templates mode="textCHE" select="int:description"/> + <che:namedType> + <xsl:apply-templates mode="Content" select="int:GM03_2Comprehensive.Comprehensive.MD_AttributenamedType"/> + </che:namedType> + <xsl:apply-templates mode="Content" select="int:anonymousType"/> + </che:attribute> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2Comprehensive.Comprehensive.MD_AttributenamedType"> + <xsl:apply-templates mode="Content" select="int:namedType/int:GM03_2Comprehensive.Comprehensive.MD_CodeDomain"/> + </xsl:template> + + <xsl:template mode="Content" match="int:anonymousType"> + <che:anonymousType> + <che:CHE_MD_Type> + <xsl:apply-templates mode="textCHE" select="int:GM03_2Comprehensive.Comprehensive.MD_Type/int:type"/> + <che:value> + <xsl:apply-templates mode="Content" select="int:GM03_2Comprehensive.Comprehensive.MD_Type/int:GM03_2Comprehensive.Comprehensive.MD_CodeValue"/> + </che:value> + </che:CHE_MD_Type> + </che:anonymousType> + </xsl:template> + + <xsl:template mode="Content" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Content</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/data-quality.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/data-quality.xsl new file mode 100644 index 00000000000..3afdbdb197f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/data-quality.xsl @@ -0,0 +1,417 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmi="http://www.isotc211.org/2005/gmi" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:java="http://xml.apache.org/xslt/java" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="int java" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + > + + <xsl:template match="int:GM03_2Core.Core.DQ_DataQuality" mode="DataQuality"> + <!-- if DataQuality is empty then don't add it as it makes the document invalid --> + <xsl:if test="count(./node())>0"> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2Comprehensive.Comprehensive.DQ_Scope|int:GM03_2Core.Core.DQ_Scope"/> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2Comprehensive.Comprehensive.reportDQ_DataQuality"/> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2Core.Core.LI_Lineage"/> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + </xsl:if> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.reportDQ_DataQuality"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:report"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:template> + + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_TemporalValidity"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TemporalValidity</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_TemporalConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TemporalConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_AccuracyOfATimeMeasurement"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_AccuracyOfATimeMeasurement</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_QuantitativeAttributeAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_QuantitativeAttributeAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_NonQuantitativeAttributeAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_NonQuantitativeAttributeAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_ThematicClassificationCorrectness"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_ThematicClassificationCorrectness</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_RelativeInternalPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_RelativeInternalPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_GriddedDataPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_GriddedDataPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_AbsoluteExternalPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_AbsoluteExternalPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_TopologicalConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TopologicalConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_FormatConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_FormatConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_DomainConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_DomainConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_ConceptualConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_ConceptualConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_CompletenessOmission"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_CompletenessOmission</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_CompletenessCommission"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_CompletenessCommission</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DQ_Element" match="*"> + <xsl:param name="reportName">unknown</xsl:param> + <gmd:report> + <xsl:element name="gmd:{string($reportName)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="text" select="int:nameOfMeasure"/> + <xsl:apply-templates mode="DataQualityReport" select="int:measureIdentification"/> + <xsl:apply-templates mode="text" select="int:measureDescription"/> + <xsl:apply-templates mode="DataQualityReport" select="int:evaluationMethodType"/> + <xsl:apply-templates mode="text" select="int:evaluationMethodDescription"/> + <xsl:apply-templates mode="DataQualityReport" select="int:evaluationProcedure"/> + <xsl:apply-templates mode="DataQualityReport" select="int:dateTime"/> + <xsl:apply-templates mode="DataQualityReport" select="int:GM03_2Comprehensive.Comprehensive.DQ_ConformanceResult"/> + <xsl:apply-templates mode="DataQualityReport" select="int:GM03_2Comprehensive.Comprehensive.DQ_QuantitativeResult"/> + </xsl:element> + </gmd:report> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:measureIdentification"> + <gmd:measureIdentification> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + <xsl:apply-templates mode="language" select="."/> + </gmd:code> + </gmd:MD_Identifier> + </gmd:measureIdentification> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:dateTime"> + <gmd:dateTime> + <xsl:apply-templates mode="dateTime"/> + </gmd:dateTime> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:evaluationMethodType"> + <gmd:evaluationMethodType> + <gmd:DQ_EvaluationMethodTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DQ_EvaluationMethodTypeCode" codeListValue="{normalize-space(.)}"/> + </gmd:evaluationMethodType> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:evaluationProcedure"> + <gmd:TODO>evaluationProcedure</gmd:TODO> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:GM03_2Comprehensive.Comprehensive.DQ_ConformanceResult"> + <gmd:result> + <gmd:DQ_ConformanceResult> + <xsl:choose> + <xsl:when test="not(int:GM03_2Comprehensive.Comprehensive.CI_Citation)"> + <xsl:call-template name="specificationStub" /> + </xsl:when> + <xsl:otherwise> + <gmd:specification> + <xsl:apply-templates mode="Citation" select="int:GM03_2Comprehensive.Comprehensive.CI_Citation" /> + </gmd:specification> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="text" select="int:explanation"/> + <xsl:apply-templates mode="boolean" select="int:pass"/> + </gmd:DQ_ConformanceResult> + </gmd:result> + </xsl:template> + + <xsl:template name="specificationStub"> + <xsl:variable name="date" + select="java:format(java:java.text.SimpleDateFormat.new('yyyy-MM-dd'), + java:java.util.Date.new())"></xsl:variable> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xsi:type="PT_FreeText_PropertyType" gco:nilReason="missing"> + <gco:CharacterString></gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date><xsl:value-of select="$date"/></gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:GM03_2Comprehensive.Comprehensive.DQ_QuantitativeResult"> + <gmd:result> + <gmd:DQ_QuantitativeResult> + <xsl:apply-templates mode="DataQualityReport" select="int:valueType"/> + <xsl:apply-templates mode="DataQualityReport" select="int:valueUnit"/> + <xsl:apply-templates mode="text" select="int:errorStatistic"/> + <xsl:apply-templates mode="DataQualityReport" select="int:value"/> + </gmd:DQ_QuantitativeResult> + </gmd:result> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:valueType"> + <gmd:valueType> + <gco:RecordType> + <xsl:value-of select="."/> + </gco:RecordType> + </gmd:valueType> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:valueUnit"> + <gmd:valueUnit> + <gml:BaseUnit gml:id="m"> + <gml:identifier codeSpace="http://www.bipm.org/en/si/base_units/l">metre</gml:identifier> + <gml:name codeSpace="http://www.bipm.org/en/si/base_units/l">metre</gml:name> + <gml:name>meter</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.org/en/si/base_units/">m</gml:catalogSymbol> + <gml:unitsSystem xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.bipm.fr/en/si"/> + </gml:BaseUnit> + </gmd:valueUnit> + </xsl:template> + + + <xsl:template mode="DataQualityReport" match="int:value"> + <gmd:value> + <gco:Record> + <xsl:choose> + <xsl:when test=".//int:XMLBLBOX"> + <xsl:copy-of select=".//int:XMLBLBOX/*"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select=".//int:value"/> + </xsl:otherwise> + </xsl:choose> + </gco:Record> + </gmd:value> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Core.Core.LI_Lineage"> + <gmd:lineage> + <gmd:LI_Lineage> + <xsl:apply-templates mode="DataQuality"/> + </gmd:LI_Lineage> + </gmd:lineage> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.LI_ProcessStep"> + <gmd:processStep> + <xsl:apply-templates mode="ProcessStep" select="." /> + </gmd:processStep> + </xsl:template> + + <xsl:template mode="ProcessStep" match="int:GM03_2Comprehensive.Comprehensive.LI_ProcessStep"> + <gmd:LI_ProcessStep> + <xsl:apply-templates mode="text" select="int:description"/> + <xsl:apply-templates mode="text" select="int:rationale"/> + <xsl:if test="normalize-space(int:dateTime) != ''"> + <gmd:dateTime> + <xsl:apply-templates mode="dateTime" select="int:dateTime"/> + </gmd:dateTime> + </xsl:if> + <xsl:apply-templates mode="DataQuality" select="int:processor"/> + </gmd:LI_ProcessStep> </xsl:template> + + <xsl:template mode="DataQuality" match="int:source"> + <gmd:source> + <xsl:apply-templates mode="DataQuality" /> + </gmd:source> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.LI_Source"> + <gmd:LI_Source> + <xsl:apply-templates mode="text" select="int:description"/> + <xsl:apply-templates mode="DataQuality" select="int:scaleDenominator"/> + <xsl:apply-templates mode="DataQuality" select="int:sourceReferenceSystem"/> + <xsl:apply-templates mode="DataQuality" select="int:sourceCitation"/> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2Core.Core.EX_Extent"/> + <xsl:apply-templates mode="DataQuality" select="int:sourceStep"/> + </gmd:LI_Source> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:sourceReferenceSystem"> + <gmd:sourceReferenceSystem> + <xsl:apply-templates mode="RefSystem"/> + </gmd:sourceReferenceSystem> + </xsl:template> + <xsl:template mode="DataQuality" match="int:sourceStep"> + <gmd:sourceStep> + <xsl:apply-templates mode="ProcessStep"/> + </gmd:sourceStep> + </xsl:template> + <xsl:template mode="DataQuality" match="int:sourceCitation"> + <gmd:sourceCitation> + <xsl:apply-templates mode="Citation"/> + </gmd:sourceCitation> + </xsl:template> + <xsl:template mode="DataQuality" match="int:GM03_2Core.Core.EX_Extent"> + <gmd:sourceExtent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_Extent> + </gmd:sourceExtent> + </xsl:template> + <xsl:template mode="DataQuality" match="int:scaleDenominator"> + <gmd:scaleDenominator> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:scaleDenominator> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Comprehensive.Comprehensive.DQ_Scope|int:GM03_2Core.Core.DQ_Scope"> + <gmd:scope> + <gmd:DQ_Scope> + <xsl:apply-templates mode="DataQuality" select="int:level"/> + <xsl:apply-templates mode="DataQuality" select="int:extent"/> + <xsl:if test="normalize-space(int:description) != ''"> + <gmd:levelDescription> + <gmd:MD_ScopeDescription> + <gmd:other> + <xsl:apply-templates mode="text" select="int:description"/> + </gmd:other> + </gmd:MD_ScopeDescription> + </gmd:levelDescription> + </xsl:if> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2Comprehensive.Comprehensive.DQ_Scopeextent/*"/> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2Core.Core.MD_ScopeDescription|int:GM03_2Comprehensive.Comprehensive.MD_ScopeDescription"/> + </gmd:DQ_Scope> + </gmd:scope> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:extent"> + <xsl:apply-templates mode="Extent"/> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2Core.Core.MD_ScopeDescription|int:GM03_2Comprehensive.Comprehensive.MD_ScopeDescription"> + <gmd:levelDescription> + <gmd:MD_ScopeDescription> + <xsl:apply-templates mode="DataQuality" select="int:attributes"/> + <xsl:apply-templates mode="DataQuality" select="int:features"/> + <xsl:apply-templates mode="DataQuality" select="int:featureInstances"/> + <xsl:apply-templates mode="DataQuality" select="int:attributeInstances"/> + <xsl:apply-templates mode="text" select="int:dataset"/> + <xsl:apply-templates mode="text" select="int:other"/> + </gmd:MD_ScopeDescription> + </gmd:levelDescription> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:attributes|int:features|int:featureInstances|int:attributeInstances"> + <!-- TODO: I don't know what to put --> + <!--<xsl:element name="{local-name(.)}">--> + <!--<LocalisedURL>--> + <!--<xsl:value-of select="."/>--> + <!--</LocalisedURL>--> + <!--</xsl:element>--> + </xsl:template> + + <!-- ============================================================================== --> + + <xsl:template match="int:statement" mode="DataQuality"> + <gmd:statement> + <xsl:apply-templates mode="language"/> + </gmd:statement> + </xsl:template> + + <!-- ============================================================================== --> + + <xsl:template match="int:level" mode="DataQuality"> + <gmd:level> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{normalize-space(.)}"/> + </gmd:level> + </xsl:template> + + <xsl:template match="int:DQ_DataQuality" mode="DataQuality"/> + + <!-- ============================================================================== --> + + <xsl:template mode="DataQualityReport" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQuality</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="DQ_Element" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQuality</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="DataQuality" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQualityReport</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/distribution.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/distribution.xsl new file mode 100644 index 00000000000..85c8f33c653 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/distribution.xsl @@ -0,0 +1,185 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="Distribution" match="int:GM03_2Core.Core.MD_Distribution"> + <gmd:MD_Distribution> + <xsl:choose> + <xsl:when test="int:GM03_2Core.Core.MD_DistributiondistributionFormat"> + <xsl:for-each select="int:GM03_2Core.Core.MD_DistributiondistributionFormat"> + <gmd:distributionFormat> + <xsl:apply-templates mode="ResourceFormat"> + <xsl:with-param name="loop">1</xsl:with-param> + </xsl:apply-templates> + </gmd:distributionFormat> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>N/A</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>N/A</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="int:GM03_2Core.Core.MD_Distributiondistributor|int:GM03_2Comprehensive.Comprehensive.MD_Distributiondistributor"> + <gmd:distributor> + <xsl:apply-templates select="." mode="Distributor"/> + </gmd:distributor> + </xsl:for-each> + + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.MD_DigitalTransferOptions|int:GM03_2Core.Core.MD_DigitalTransferOptions"> + <gmd:transferOptions> + <xsl:apply-templates mode="Distribution" select="." /> + </gmd:transferOptions> + </xsl:for-each> + </gmd:MD_Distribution> + </xsl:template> + + <xsl:template mode="Distribution" match="int:GM03_2Comprehensive.Comprehensive.MD_DigitalTransferOptions|int:GM03_2Core.Core.MD_DigitalTransferOptions"> + <gmd:MD_DigitalTransferOptions> + <xsl:apply-templates mode="text" select="int:unitsOfDistribution"/> + <xsl:apply-templates mode="real" select="int:transferSize"/> + <xsl:apply-templates mode="Distribution" select="int:GM03_2Core.Core.CI_OnlineResource"/> + <xsl:apply-templates mode="Distribution" select="int:offLine"/> + </gmd:MD_DigitalTransferOptions> + </xsl:template> + + <xsl:template mode="Distribution" match="int:GM03_2Core.Core.CI_OnlineResource"> + <gmd:onLine> + <xsl:apply-templates select="." mode="OnlineResource"/> + </gmd:onLine> + </xsl:template> + + <xsl:template mode="Distribution" match="int:offLine"> + <gmd:offLine> + <xsl:apply-templates mode="Distribution"/> + </gmd:offLine> + </xsl:template> + + <xsl:template mode="Distribution" match="int:GM03_2Comprehensive.Comprehensive.MD_Medium"> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="./resources/codeList.xml#MD_MediumNameCode" codeListValue="{.}"/> + </gmd:name> + <xsl:apply-templates mode="real" select="int:density"/> + <xsl:apply-templates mode="text" select="int:densityUnits"/> + <xsl:apply-templates mode="integer" select="int:volumes"/> + <xsl:apply-templates mode="text" select="int:mediumFormat"/> + </gmd:MD_Medium> + </xsl:template> + + <xsl:template mode="Distribution" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Distribution</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="OnlineResource" match="int:GM03_2Core.Core.CI_OnlineResource"> + <gmd:CI_OnlineResource> + <xsl:for-each select="int:linkage"> + <gmd:linkage> + <xsl:apply-templates mode="language"/> + </gmd:linkage> + </xsl:for-each> + + <xsl:for-each select="int:name"> + <gmd:name> + <xsl:apply-templates mode="language"/> + </gmd:name> + </xsl:for-each> + + <xsl:for-each select="int:description"> + <gmd:description> + <xsl:apply-templates mode="language"/> + </gmd:description> + </xsl:for-each> + + <xsl:for-each select="int:function"> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="./resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="{.}"/> + </gmd:function> + </xsl:for-each> + </gmd:CI_OnlineResource> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Format" match="int:GM03_2Comprehensive.Comprehensive.MD_Format|int:GM03_2Core.Core.MD_Format"> + <xsl:apply-templates mode="ResourceFormat" select="."> + <xsl:with-param name="loop">1</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="Format" match="int:formatDistributor"> + <gmd:formatDistributor> + <xsl:apply-templates mode="Distributor"/> + </gmd:formatDistributor> + </xsl:template> + + <xsl:template mode="Format" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Distributor</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Distributor" match="int:GM03_2Comprehensive.Comprehensive.MD_Distributor"> + <gmd:MD_Distributor> + <xsl:for-each select="int:distributorContact"> + <gmd:distributorContact> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:distributorContact> + </xsl:for-each> + + <xsl:apply-templates mode="Distributor" select="int:GM03_2Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor"/> + <xsl:apply-templates mode="Distributor" select="int:GM03_2Comprehensive.Comprehensive.formatDistributordistributorFormat"/> + <xsl:if test="not(ancestor::int:GM03_2Comprehensive.Comprehensive.formatDistributordistributorFormat)"> + <xsl:apply-templates mode="Distributor" select="/int:GM03_2Comprehensive.Comprehensive/int:GM03_2Comprehensive.Comprehensive.formatDistributordistributorFormat"/> + </xsl:if> + <xsl:apply-templates mode="Distributor" select="int:GM03_2Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor"/> + </gmd:MD_Distributor> + </xsl:template> + + <xsl:template mode="Distributor" match="int:GM03_2Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor"> + <gmd:distributionOrderProcess> + <xsl:apply-templates mode="Distributor" select="int:distributionOrderProcess/int:GM03_2Comprehensive.Comprehensive.MD_StandardOrderProcess"/> + </gmd:distributionOrderProcess> + </xsl:template> + <xsl:template mode="Distributor" match="int:GM03_2Comprehensive.Comprehensive.MD_StandardOrderProcess"> + <gmd:MD_StandardOrderProcess> + <xsl:apply-templates mode="text" select="int:fees"/> + <xsl:for-each select="int:plannedAvailableDateTime"> + <gmd:plannedAvailableDateTime> + <xsl:apply-templates mode="dateTime" select="."/> + </gmd:plannedAvailableDateTime> + </xsl:for-each> + <xsl:apply-templates mode="text" select="int:orderingInstructions"/> + <xsl:apply-templates mode="text" select="int:turnaround"/> + </gmd:MD_StandardOrderProcess> + </xsl:template> + <xsl:template mode="Distributor" match="int:GM03_2Comprehensive.Comprehensive.formatDistributordistributorFormat"> + <gmd:distributorFormat> + <xsl:apply-templates mode="Format" select="int:distributorFormat/int:GM03_2Comprehensive.Comprehensive.MD_Format"/> + </gmd:distributorFormat> + </xsl:template> + <xsl:template mode="Distributor" match="int:GM03_2Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor"> + <gmd:distributorTransferOptions> + <xsl:apply-templates mode="Distribution" select="int:distributorTransferOptions/int:GM03_2Comprehensive.Comprehensive.MD_DigitalTransferOptions"/> + </gmd:distributorTransferOptions> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/extent.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/extent.xsl new file mode 100644 index 00000000000..d76305561c8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/extent.xsl @@ -0,0 +1,405 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:cheutil="java:org.fao.geonet.schema.iso19139che.ISO19139cheUtil" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all" + xmlns:int="http://www.interlis.ch/INTERLIS2.3"> + + <xsl:template mode="Extent" match="int:GM03_2Core.Core.EX_Extent"> + <xsl:choose> + <xsl:when test="int:GM03_2Core.Core.EX_ExtentgeographicElement[.//int:GM03_2Core.Core.EX_BoundingPolygon]"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="int:description"/> + + <xsl:variable name="polygon"> + <xsl:if test="int:GM03_2Core.Core.EX_ExtentgeographicElement[.//int:GM03_2Core.Core.EX_BoundingPolygon]"> + <xsl:apply-templates mode="Extent" select="int:GM03_2Core.Core.EX_ExtentgeographicElement[.//int:GM03_2Core.Core.EX_BoundingPolygon]"/> + </xsl:if> + </xsl:variable> + <xsl:if test="normalize-space($polygon) != ''"> + <gmd:geographicElement> + <xsl:copy-of select="cheutil:multipolygon(string(int:description), $polygon)"/> + </gmd:geographicElement> + <xsl:if test="int:GM03_2Core.Core.EX_ExtentgeographicElement[.//int:GM03_2Core.Core.EX_GeographicBoundingBox]"> + <gmd:geographicElement> + <xsl:copy-of select="cheutil:bbox(string(int:description), $polygon)"/> + </gmd:geographicElement> + </xsl:if> + </xsl:if> + <xsl:apply-templates mode="Extent" select="int:GM03_2Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2Core.Core.EX_BoundingPolygon or .//int:GM03_2Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:when> + <xsl:when test="int:GM03_2Core.Core.EX_ExtentgeographicElement[.//int:GM03_2Core.Core.EX_GeographicBoundingBox]"> + <xsl:for-each select="int:GM03_2Core.Core.EX_ExtentgeographicElement//int:GM03_2Core.Core.EX_GeographicBoundingBox"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="ancestor::int:GM03_2Core.Core.EX_Extent/int:description"/> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="."/> + </gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="int:GM03_2Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2Core.Core.EX_BoundingPolygon or .//int:GM03_2Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="int:description"/> + <xsl:apply-templates mode="Extent" select="int:GM03_2Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2Core.Core.EX_BoundingPolygon or .//int:GM03_2Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select=".//int:GM03_2Core.Core.EX_ExtenttemporalElement[not(temporalElement/int:GM03_2Core.Core.EX_SpatialTemporalExtent)]"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Temporal"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + <xsl:if test=".//int:GM03_2Core.Core.EX_ExtenttemporalElement[temporalElement/int:GM03_2Core.Core.EX_SpatialTemporalExtent]"> + <xsl:comment>TODO int:GM03_2Core.Core.EX_ExtenttemporalElement without TM_Primitive</xsl:comment> + <!-- Remove the not(temporalElement/int:GM03_2Core.Core.EX_SpatialTemporalExtent) from previous for-each and fix the spatial temporal. + It seems to be that XslUtil mutlipolygon and bbox expect the normal extent and cannot handle spatialExtent --> + </xsl:if> + <xsl:for-each select=".//int:GM03_2Core.Core.EX_VerticalExtent"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Extent" match="int:description"> + <gmd:description> + <xsl:apply-templates mode="language"/> + </gmd:description> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Extent" match="int:geographicElement[not(int:GM03_2Core.Core.EX_GeographicBoundingBox|int:GM03_2Core.Core.EX_BoundingPolygon)]"> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent"/> + </gmd:geographicElement> + </xsl:template> + + <xsl:template mode="Extent" match="int:geographicElement[int:GM03_2Core.Core.EX_BoundingPolygon]"> + <xsl:for-each select="int:GM03_2Core.Core.EX_BoundingPolygon"> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="."/> + </gmd:geographicElement> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Extent" match="int:geographicElement[int:GM03_2Core.Core.EX_GeographicBoundingBox]"> + <xsl:choose> + <xsl:when test="ancestor::int:GM03_2Core.Core.EX_Extent//int:GM03_2Core.Core.EX_BoundingPolygon"> + <xsl:comment> + GeographicBBox elements an associated Polygon are ignored + </xsl:comment> + </xsl:when> + <xsl:otherwise> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="int:GM03_2Core.Core.EX_GeographicBoundingBox"/> + </gmd:geographicElement> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="Extent" match="int:GM03_2Core.Core.EX_GeographicDescription"> + <gmd:EX_GeographicDescription> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_GeographicDescription> + </xsl:template> + + <xsl:template mode="Extent" match="int:extentTypeCode"> + <gmd:extentTypeCode> + <gco:Boolean> + <xsl:value-of select="."/> + </gco:Boolean> + </gmd:extentTypeCode> + </xsl:template> + + <xsl:template mode="Extent" match="int:geographicIdentifier"> + <gmd:geographicIdentifier> + <xsl:apply-templates mode="Identifier"/> + </gmd:geographicIdentifier> + </xsl:template> + + <xsl:template mode="Extent" match="int:GM03_2Core.Core.EX_BoundingPolygon"> + <gmd:EX_BoundingPolygon> + <xsl:apply-templates mode="BoundingPoly"/> + </gmd:EX_BoundingPolygon> + </xsl:template> + + <xsl:template mode="Extent" match="int:GM03_2Core.Core.EX_GeographicBoundingBox[not(ancestor::int:GM03_2Core.Core.EX_Extent//int:GM03_2Core.Core.EX_BoundingPolygon)]"> + <gmd:EX_GeographicBoundingBox> + <xsl:apply-templates mode="BoundingPoly" select="int:extentTypeCode"/> + <gmd:westBoundLongitude><xsl:apply-templates mode="ExtentCoord" select="int:westBoundLongitude"/></gmd:westBoundLongitude> + <gmd:eastBoundLongitude><xsl:apply-templates mode="ExtentCoord" select="int:eastBoundLongitude"/></gmd:eastBoundLongitude> + <gmd:southBoundLatitude><xsl:apply-templates mode="ExtentCoord" select="int:southBoundLatitude"/></gmd:southBoundLatitude> + <gmd:northBoundLatitude><xsl:apply-templates mode="ExtentCoord" select="int:northBoundLatitude"/></gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </xsl:template> + + <xsl:template mode="ExtentCoord" match="text()"> + <gco:Decimal><xsl:value-of select="."/></gco:Decimal> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Temporal" match="int:GM03_2Core.Core.EX_ExtenttemporalElement/int:temporalElement"> + <gmd:temporalElement> + <xsl:apply-templates mode="Temporal"/> + </gmd:temporalElement> + </xsl:template> + + <xsl:template mode="Temporal" match="int:GM03_2Core.Core.EX_TemporalExtent"> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{util:randomId()}"> + <xsl:apply-templates mode="TimePeriod"/> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </xsl:template> + + <xsl:template mode="Temporal" match="int:GM03_2Core.Core.EX_SpatialTemporalExtent"> + <xsl:comment>Need to implement spatialExtent import</xsl:comment> + <!-- <gmd:EX_SpatialTemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{util:randomId()}"> + <xsl:apply-templates mode="TimePeriod" select="int:extent"/> + </gml:TimePeriod> + </gmd:extent> + <xsl:apply-templates mode="Temporal" select="int:GM03_2Core.Core.spatialExtentEX_SpatialTemporalExtent"/> + </gmd:EX_SpatialTemporalExtent> --> + </xsl:template> + + <xsl:template mode="TemporalExtent" + match="int:GM03_2Core.Core.spatialExtentEX_SpatialTemporalExtent"> + <xsl:comment>Need to implement spatialExtent import</xsl:comment> + <xsl:choose> + <xsl:when test="int:spatialExtent[.//int:GM03_2Core.Core.EX_BoundingPolygon]"> + <gmd:spatialExtent> + <xsl:comment> + spatialExtent[.//int:GM03_2Core.Core.EX_BoundingPolygon] + </xsl:comment> + <xsl:apply-templates mode="Extent" select="int:description" /> + + <xsl:variable name="polygon"> + <xsl:if test="int:spatialExtent[.//int:GM03_2Core.Core.EX_BoundingPolygon]"> + <xsl:apply-templates mode="Extent" + select="int:spatialExtent[.//int:GM03_2Core.Core.EX_BoundingPolygon]" /> + </xsl:if> + </xsl:variable> + <xsl:if test="normalize-space($polygon) != ''"> + <xsl:copy-of select="cheutil:multipolygon(string(int:description), $polygon)" /> + <xsl:if test="int:spatialExtent[.//int:GM03_2Core.Core.EX_GeographicBoundingBox]"> + <xsl:copy-of select="cheutil:bbox(string(int:description), $polygon)" /> + </xsl:if> + </xsl:if> + <xsl:apply-templates mode="Extent" + select="int:spatialExtent[not(.//int:GM03_2Core.Core.EX_BoundingPolygon or .//int:GM03_2Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:when> + <xsl:when test="int:spatialExtent[.//int:GM03_2Core.Core.EX_GeographicBoundingBox]"> + <xsl:for-each + select="int:spatialExtent//int:GM03_2Core.Core.EX_GeographicBoundingBox"> + <gmd:spatialExtent> + <xsl:comment> + spatialExtent//int:GM03_2Core.Core.EX_GeographicBoundingBox + </xsl:comment> + <xsl:apply-templates mode="Extent" + select="ancestor::int:GM03_2Core.Core.EX_Extent/int:description" /> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="." /> + </gmd:geographicElement> + <xsl:apply-templates mode="Extent" + select="int:GM03_2Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2Core.Core.EX_BoundingPolygon or .//int:GM03_2Core.Core.EX_GeographicBoundingBox)]|spatialExtent[not(.//int:GM03_2Core.Core.EX_BoundingPolygon or .//int:GM03_2Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:spatialExtent> + <xsl:comment> + otherwise + </xsl:comment> + <xsl:apply-templates mode="Extent" select="int:description" /> + <xsl:apply-templates mode="Extent" + select="int:GM03_2Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2Core.Core.EX_BoundingPolygon or .//int:GM03_2Core.Core.EX_GeographicBoundingBox)]|spatialExtent[not(.//int:GM03_2Core.Core.EX_BoundingPolygon or .//int:GM03_2Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select=".//int:GM03_2Core.Core.EX_ExtenttemporalElement"> + <gmd:spatialExtent> + <xsl:comment> + .//int:GM03_2Core.Core.EX_ExtenttemporalElement + </xsl:comment> + <xsl:apply-templates mode="Temporal" /> + </gmd:spatialExtent> + </xsl:for-each> + <xsl:for-each select=".//int:GM03_2Core.Core.EX_VerticalExtent"> + <gmd:spatialExtent> + <xsl:comment> + .//int:GM03_2Core.Core.EX_VerticalExtent + </xsl:comment> + <xsl:apply-templates mode="Extent" /> + </gmd:spatialExtent> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Temporal" match="int:GM03_2Core.Core.spatialExtentEX_SpatialTemporalExtent"> + <xsl:apply-templates mode="TemporalExtent" select="."/> + </xsl:template> + + <xsl:template mode="Temporal" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Temporal</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="TimePeriod" match="int:begin"> + <gml:begin> + <xsl:apply-templates mode="TimeInstant" select="."/> + </gml:begin> + </xsl:template> + <xsl:template mode="TimePeriod" match="int:end"> + <gml:end> + <xsl:apply-templates mode="TimeInstant" select="."/> + </gml:end> + </xsl:template> + + <xsl:template mode="TimeInstant" match="*"> + <xsl:variable name="time"> + <xsl:apply-templates mode="dateTime"/> + </xsl:variable> + <gml:TimeInstant gml:id="{util:randomId()}"> + <gml:timePosition> + <xsl:value-of select="normalize-space($time//text())"/> + </gml:timePosition> + </gml:TimeInstant> + </xsl:template> + <!-- ================================================================================= --> + + <xsl:template mode="BoundingPoly" match="int:extentTypeCode"> + <gmd:extentTypeCode> + <gco:Boolean> + <xsl:value-of select="."/> + </gco:Boolean> + </gmd:extentTypeCode> + </xsl:template> + + <xsl:template mode="BoundingPoly" match="int:polygon"> + <gmd:polygon> + <xsl:apply-templates mode="GM_Object" select="."/> + </gmd:polygon> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="GM_Object" match="int:polygon"> + <gml:Polygon gml:id="{generate-id(.)}"> + <xsl:apply-templates mode="GM_Object"/> + </gml:Polygon> + </xsl:template> + + <xsl:template mode="GM_Object" match="int:SURFACE"> + <xsl:for-each select="int:BOUNDARY"> + <xsl:choose> + <xsl:when test="position() = 1"> + <gml:exterior> + <xsl:apply-templates mode="GM_Object" select="."/> + </gml:exterior> + </xsl:when> + <xsl:otherwise> + <gml:interior> + <xsl:apply-templates mode="GM_Object" select="."/> + </gml:interior> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="GM_Object" match="int:BOUNDARY"> + <gml:LinearRing> + <xsl:apply-templates mode="GM_Object" select="int:POLYLINE"/> + </gml:LinearRing> + </xsl:template> + + <xsl:template mode="GM_Object" match="int:POLYLINE"> + <gml:posList ><xsl:apply-templates mode="GM_Object"/></gml:posList> + </xsl:template> + + <xsl:template match="int:GM03_2Core.Core.GM_Point_" mode="GM_Object"> + <gml:Point gml:id="{util:randomId()}"> + <gml:coordinates> + <xsl:apply-templates mode="GM_Object" select="int:value"/> + </gml:coordinates> + </gml:Point> + </xsl:template> + + <xsl:template mode="GM_Object" match="int:COORD"><xsl:value-of select="int:C1"/><xsl:text> </xsl:text><xsl:value-of select="int:C2"/><xsl:text> </xsl:text></xsl:template> + + <!-- ================================================================================= --> + <xsl:template mode="BboxToPolygon" match="int:GM03_2Core.Core.EX_GeographicBoundingBox"> + + <xsl:variable name="north" select="int:northBoundLatitude"/> + <xsl:variable name="east" select="int:eastBoundLongitude"/> + <xsl:variable name="south" select="int:southBoundLatitude"/> + <xsl:variable name="west" select="int:westBoundLongitude"/> + + <xsl:variable name="ul"> + <xsl:value-of select="$west"/><xsl:text> </xsl:text><xsl:value-of select="$north"/> + </xsl:variable> + <xsl:variable name="ur"> + <xsl:value-of select="$east"/><xsl:text> </xsl:text><xsl:value-of select="$north"/> + </xsl:variable> + <xsl:variable name="lr"> + <xsl:value-of select="$east"/><xsl:text> </xsl:text><xsl:value-of select="$south"/> + </xsl:variable> + <xsl:variable name="ll"> + <xsl:value-of select="$west"/><xsl:text> </xsl:text><xsl:value-of select="$south"/> + </xsl:variable> + + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean><xsl:value-of select="int:extentTypeCode"/></gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="NN29"> + <gml:surfaceMember> + <gml:Polygon gml:id="NN30"> + <gml:exterior> + <gml:LinearRing> + <gml:posList><xsl:value-of select="$ul"/><xsl:text> </xsl:text><xsl:value-of select="$ur"/><xsl:text> </xsl:text><xsl:value-of select="$lr"/><xsl:text> </xsl:text><xsl:value-of select="$ll"/><xsl:text> </xsl:text><xsl:value-of select="$ul"/></gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Extent" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Extent</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/identification.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/identification.xsl new file mode 100644 index 00000000000..260882eb25a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/identification.xsl @@ -0,0 +1,533 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="int util" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + > + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.MD_DataIdentification|int:GM03_2Core.Core.MD_DataIdentification"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <xsl:call-template name="dataIdentification"/> + </che:CHE_MD_DataIdentification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.SV_ServiceIdentification"> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <xsl:call-template name="dataIdentification"> + <xsl:with-param name="srv" select="true()"/> + </xsl:call-template> + <xsl:apply-templates mode="DataIdentification" select="int:serviceType"/> + <xsl:apply-templates mode="DataIdentification" select="int:serviceTypeVersion"/> + <xsl:apply-templates mode="DataIdentification" select="int:restrictions"/> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2Core.Core.descriptiveKeywordsMD_Identification"/> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2Comprehensive.Comprehensive.extentSV_ServiceIdentification"/> + <xsl:apply-templates mode="DataIdentification" select="int:coupledResource/int:GM03_2Comprehensive.Comprehensive.SV_CoupledResource"/> + <xsl:apply-templates mode="DataIdentification" select="int:couplingType"/> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification"/> + <xsl:apply-templates mode="DataIdentification" select="int:operatesOn"/> + </che:CHE_SV_ServiceIdentification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:serviceType"> + <srv:serviceType> + <gco:LocalName><xsl:value-of select="int:GM03_2Comprehensive.Comprehensive.gml_CodeType/int:code"/></gco:LocalName> + <xsl:if test="int:GM03_2Comprehensive.Comprehensive.gml_CodeType/int:codeSpace"> + <gml:codeSpace><xsl:value-of select="int:GM03_2Comprehensive.Comprehensive.gml_CodeType/int:codeSpace"/></gml:codeSpace> + </xsl:if> + </srv:serviceType> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.extentSV_ServiceIdentification"> + <srv:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="int:extent/int:GM03_2Core.Core.EX_Extent/*"/> + </gmd:EX_Extent> + </srv:extent> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.SV_CoupledResource"> + <srv:coupledResource> + <srv:SV_CoupledResource> + <xsl:apply-templates mode="text" select="int:operationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="int:identifier"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="int:ScopedName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + </srv:SV_CoupledResource> + </srv:coupledResource> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:couplingType"> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="{text()}"/> + </srv:couplingType> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:operatesOn"> + <srv:operatesOn xmlns:date="http://exslt.org/dates-and-times" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gts="http://www.isotc211.org/2005/gts" + uuidref="{.//value/text()}"/> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:serviceTypeVersion"> + <srv:serviceTypeVersion> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </srv:serviceTypeVersion> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:containsOperations"> + <srv:containsOperations> + <xsl:apply-templates mode="DataIdentification"/> + </srv:containsOperations> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:DCP"> + <xsl:for-each select=".//int:value"> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="{text()}"/> + </srv:DCP> + </xsl:for-each> + + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.SV_OperationMetadata"> + <srv:SV_OperationMetadata> + <xsl:apply-templates mode="text" select="int:operationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="int:DCP"/> + <xsl:apply-templates mode="text" select="int:operationDescription"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="int:invocationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint"/> + </srv:SV_OperationMetadata> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification"> + <xsl:apply-templates mode="DataIdentification"/> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint"> + <xsl:apply-templates mode="DataIdentification"/> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:connectPoint"> + <srv:connectPoint> + <xsl:apply-templates mode="OnlineResource"/> + </srv:connectPoint> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Core.Core.EX_Extent"> + <xsl:apply-templates mode="Extent" select="."/> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.resourceConstraintsMD_Identification"> + <gmd:resourceConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:resourceConstraints> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2Core.Core.descriptiveKeywordsMD_Identification"> + <gmd:descriptiveKeywords> + <xsl:apply-templates mode="DescriptiveKeyword"/> + </gmd:descriptiveKeywords> + </xsl:template> + + <xsl:template name="dataIdentification"> + <xsl:param name="srv" select="false()"/> + + <xsl:for-each select="int:citation"> + <gmd:citation> + <xsl:apply-templates mode="Citation"/> + </gmd:citation> + </xsl:for-each> + <xsl:apply-templates mode="text" select="int:abstract"/> + <xsl:apply-templates mode="text" select="int:purpose"/> + <xsl:apply-templates mode="text" select="int:credit"/> + <xsl:for-each select="int:status"> + <gmd:status> + <gmd:MD_ProgressCode codeList="./resources/codeList.xml#MD_ProgressCode" codeListValue="{int:GM03_2Core.Core.MD_ProgressCode_/int:value}"/> + </gmd:status> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Core.Core.MD_IdentificationpointOfContact"> + <gmd:pointOfContact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:pointOfContact> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:resourceMaintenance> + <xsl:apply-templates select="." mode="MaintenanceInfo"/> + </gmd:resourceMaintenance> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.MD_BrowseGraphic"> + <gmd:graphicOverview> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:graphicOverview> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.resourceFormatMD_Identification"> + <gmd:resourceFormat> + <xsl:apply-templates mode="ResourceFormat"/> + </gmd:resourceFormat> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Core.Core.descriptiveKeywordsMD_Identification[$srv=false()]"> + <gmd:descriptiveKeywords> + <xsl:apply-templates mode="DescriptiveKeyword"/> + </gmd:descriptiveKeywords> + </xsl:for-each> + + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.MD_Usage"> + <xsl:apply-templates mode="DataIdentification" select="."/> + </xsl:for-each> + + + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.resourceConstraintsMD_Identification[$srv=false()]"> + <gmd:resourceConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:resourceConstraints> + </xsl:for-each> + + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2Comprehensive.Comprehensive.aggregationInfo_MD_Identification"/> + + <xsl:for-each select="int:spatialRepresentationType"> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="./resources/codeList.xml#MD_SpatialRepresentationTypeCode" + codeListValue="{int:GM03_2Core.Core.MD_SpatialRepresentationTypeCode_/int:value}"/> + </gmd:spatialRepresentationType> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Core.Core.MD_Resolution/int:distance"> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Core.Core.MD_Resolution/int:equivalentScale"> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </xsl:for-each> + <xsl:apply-templates select="int:language" mode="language"/> + <xsl:for-each select="int:characterSet"> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="./resources/codeList.xml#MD_CharacterSetCode" codeListValue="{int:GM03_2Core.Core.MD_CharacterSetCode_/int:value}"/> + </gmd:characterSet> + </xsl:for-each> + <xsl:for-each select="int:topicCategory/int:GM03_2Core.Core.MD_TopicCategoryCode_"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode> + <xsl:variable name="cat" select="int:value"/> + <xsl:choose> + <xsl:when test="contains($cat, '.')"> + <xsl:value-of select="substring-after($cat, '.')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$cat"/> + </xsl:otherwise> + </xsl:choose> + </gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + </xsl:for-each> + <xsl:apply-templates mode="text" select="int:environmentDescription"/> + <xsl:for-each select="int:GM03_2Core.Core.EX_Extent[$srv=false()]"> + <xsl:apply-templates mode="Extent" select="."/> + </xsl:for-each> + <xsl:apply-templates mode="text" select="int:supplementalInformation"/> + <xsl:apply-templates select="int:ProjectType" mode="DataIdentification"/> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.revisionMD_Identification/int:revision"> + <che:revision> + <xsl:apply-templates mode="Revision"/> + </che:revision> + </xsl:for-each> + + <xsl:if test="not($srv) and int:basicGeodataID"> + <che:basicGeodataID> + <xsl:apply-templates mode="string" select="int:basicGeodataID/text()"/> + </che:basicGeodataID> + <xsl:apply-templates select="int:basicGeodataIDType" mode="DataIdentification"/> + </xsl:if> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.aggregationInfo_MD_Identification"> + <xsl:apply-templates mode="DataIdentification" /> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:aggregationInfo"> + <gmd:aggregationInfo> + <xsl:apply-templates mode="DataIdentification" /> + </gmd:aggregationInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.MD_AggregateInformation"> + <gmd:MD_AggregateInformation> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2Comprehensive.Comprehensive.CI_Citation"/> + <xsl:apply-templates mode="DataIdentification" select="int:aggregateDataSetIdentifier"/> + <xsl:apply-templates mode="DataIdentification" select="int:associationType"/> + <xsl:apply-templates mode="DataIdentification" select="int:initiativeType"/> + </gmd:MD_AggregateInformation> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:associationType"> + <gmd:associationType> + <gmd:DS_AssociationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DS_AssociationTypeCode" codeListValue="{text()}"/> + </gmd:associationType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:initiativeType"> + <gmd:initiativeType> + <gmd:DS_InitiativeTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DS_InitiativeTypeCode" codeListValue="{text()}"/> + </gmd:initiativeType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:aggregateDataSetIdentifier"> + <gmd:aggregateDataSetIdentifier> + <xsl:apply-templates mode="Identifier" select="int:GM03_2Core.Core.MD_Identifier"/> + </gmd:aggregateDataSetIdentifier> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.CI_Citation"> + <gmd:aggregateDataSetName> + <xsl:apply-templates mode="Citation" select="."/> + </gmd:aggregateDataSetName> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.MD_Usage"> + <gmd:resourceSpecificUsage> + <gmd:MD_Usage> + <xsl:apply-templates mode="text" select="int:specificUsage"/> + <xsl:if test="int:usageDateTime"> + <gmd:usageDateTime> + <xsl:apply-templates mode="dateTime" select="int:usageDateTime"/> + </gmd:usageDateTime> + </xsl:if> + <xsl:apply-templates mode="text" select="int:userDeterminedLimitations"/> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2Comprehensive.Comprehensive.MD_UsageuserContactInfo"/> + </gmd:MD_Usage> + </gmd:resourceSpecificUsage> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <gmd:userContactInfo> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:userContactInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.MD_BrowseGraphic"> + <gmd:MD_BrowseGraphic> + <xsl:apply-templates mode="text" select="int:fileName"/> + <xsl:apply-templates mode="text" select="int:fileDescription"/> + <xsl:apply-templates mode="text" select="int:fileType"/> + </gmd:MD_BrowseGraphic> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:ProjectType"> + <che:projectType> + <che:CHE_CI_projectTypeCode codeListValue="{.}" codeList="./resources/codeList.xml#CHE_CI_projectTypeCode"/> + </che:projectType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:basicGeodataIDType"> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="{.}" codeList="./resources/codeList.xml#basicGeodataIDTypeCode"/> + </che:basicGeodataIDType> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="DataIdentification" match="int:distance"> + <gmd:distance> + <gco:Distance uom="m"><xsl:value-of select="util:expandScientific(string(.))"/></gco:Distance> + </gmd:distance> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:equivalentScale"> + <gmd:equivalentScale> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:equivalentScale> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Core.Core.MD_RepresentativeFraction"> + <gmd:MD_RepresentativeFraction> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:MD_RepresentativeFraction> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:denominator"> + <gmd:denominator> + <gco:Integer><xsl:value-of select="."/></gco:Integer> + </gmd:denominator> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:resourceMaintenance> + <xsl:apply-templates select="." mode="MaintenanceInfo"/> + </gmd:resourceMaintenance> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Core.Core.MD_IdentificationpointOfContact"> + <gmd:pointOfContact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:pointOfContact> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2Comprehensive.Comprehensive.resourceFormatMD_Identification"> + <gmd:resourceFormat> + <xsl:apply-templates mode="ResourceFormat"/> + </gmd:resourceFormat> + </xsl:template> + + <xsl:template mode="Revision" match="int:GM03_2Comprehensive.Comprehensive.MD_Revision"> + <che:CHE_MD_Revision gco:isoType="gmd:MD_Revision"> + <xsl:for-each select="int:revisionScope"> + <che:revisionScope> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2Core.Core.MD_ScopeCode_"/> + </che:revisionScope> + </xsl:for-each> + <xsl:for-each select="int:dateOfLastUpdate"> + <che:dateOfLastUpdate> + <xsl:apply-templates mode="date" select="."/> + </che:dateOfLastUpdate> + </xsl:for-each> + <xsl:for-each select="int:revisionNote"> + <che:revisionNote> + <xsl:apply-templates mode="string" select="."/> + </che:revisionNote> + </xsl:for-each> + <xsl:for-each select="int:revisionScopeDescription"> + <che:revisionScopeDescription> + <xsl:apply-templates mode="string" select="."/> + </che:revisionScopeDescription> + </xsl:for-each> + <xsl:for-each select="int:revisionExtent"> + <che:revisionExtent> + <xsl:apply-templates mode="Extent" select="int:GM03_2Core.Core.EX_Extent"/> + </che:revisionExtent> + </xsl:for-each> + <xsl:for-each select="int:revisionContact"> + <che:revisionContact> + <xsl:apply-templates mode="RespParty" select="."/> + </che:revisionContact> + </xsl:for-each> + </che:CHE_MD_Revision> + </xsl:template> + + <xsl:template mode="DataIdentification" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataIdentification</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="DescriptiveKeyword" match="int:GM03_2Core.Core.MD_Keywords"> + <gmd:MD_Keywords> + <xsl:for-each select="int:keyword"> + <xsl:for-each select="int:GM03_2Core.Core.PT_FreeText"> + <gmd:keyword> + <xsl:apply-templates mode="language" select="."/> + </gmd:keyword> + </xsl:for-each> + </xsl:for-each> + <xsl:for-each select="int:type"> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="./resources/codeList.xml#MD_KeywordTypeCode" codeListValue="{.}" /> + </gmd:type> + </xsl:for-each> + <xsl:for-each select="int:thesaurus"> + <gmd:thesaurusName> + <xsl:for-each select="int:GM03_2Core.Core.MD_Thesaurus"> + <xsl:for-each select="int:citation"> + <xsl:apply-templates mode="Citation" select="int:GM03_2Comprehensive.Comprehensive.CI_Citation"/> + </xsl:for-each> + </xsl:for-each> + </gmd:thesaurusName> + </xsl:for-each> + </gmd:MD_Keywords> + </xsl:template> + + <xsl:template mode="DescriptiveKeyword" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DescriptiveKeyword</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="ConstsTypes" match="int:GM03_2Comprehensive.Comprehensive.MD_LegalConstraints"> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <xsl:apply-templates mode="text" select="int:useLimitation"/> + <xsl:apply-templates mode="ConstsTypes" select="int:accessConstraints"/> + <xsl:apply-templates mode="ConstsTypes" select="int:useConstraints"/> + <xsl:apply-templates mode="text" select="int:otherConstraints"/> + </che:CHE_MD_LegalConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:useConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="./resources/codeList.xml#MD_RestrictionCode" codeListValue="{int:GM03_2Comprehensive.Comprehensive.MD_RestrictionCode_/int:value}" /> + </gmd:useConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:accessConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="./resources/codeList.xml#MD_RestrictionCode" codeListValue="{int:GM03_2Comprehensive.Comprehensive.MD_RestrictionCode_/int:value}" /> + </gmd:accessConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:GM03_2Comprehensive.Comprehensive.MD_SecurityConstraints"> + <gmd:MD_SecurityConstraints> + <xsl:apply-templates mode="text" select="int:useLimitation"/> + <xsl:apply-templates mode="ConstsTypes" select="int:classification"/> + <xsl:apply-templates mode="text" select="int:userNote"/> + <xsl:apply-templates mode="text" select="int:classificationSystem"/> + <xsl:apply-templates mode="text" select="int:handlingDescription"/> + </gmd:MD_SecurityConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:classification"> + <gmd:classification> + <gmd:MD_ClassificationCode codeListValue="{.}" codeList="./resources/codeList.xml#MD_ClassificationCode"/> + </gmd:classification> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:GM03_2Comprehensive.Comprehensive.MD_Constraints"> + + <gmd:MD_Constraints > + <xsl:apply-templates mode="text" select="int:useLimitation"/> + </gmd:MD_Constraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">ConstsTypes</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="ResourceFormat" match="int:GM03_2Comprehensive.Comprehensive.MD_Format|int:GM03_2Core.Core.MD_Format"> + <xsl:param name="loop">0</xsl:param> + <xsl:variable name="myTID" select="@TID"/> + <gmd:MD_Format> + <xsl:apply-templates mode="text" select="int:name"/> + <xsl:apply-templates mode="text" select="int:version"/> + <xsl:apply-templates mode="text" select="int:amendmentNumber"/> + <xsl:apply-templates mode="text" select="int:specification"/> + <xsl:apply-templates mode="text" select="int:fileDecompressionTechnique"/> + + <xsl:if test="$loop!='0'"> + <!-- fetch manually the N-N link with the MD_Distributor entries --> + <xsl:for-each select="/int:GM03_2Comprehensive.Comprehensive/int:GM03_2Comprehensive.Comprehensive.formatDistributordistributorFormat[int:distributorFormat/@REF=$myTID]"> + <xsl:apply-templates mode="ResourceFormat" select="int:formatDistributor"/> + </xsl:for-each> + </xsl:if> + </gmd:MD_Format> + </xsl:template> + + <xsl:template mode="ResourceFormat" match="int:formatDistributor"> + <gmd:formatDistributor> + <xsl:apply-templates mode="Distributor"/> + </gmd:formatDistributor> + </xsl:template> + + <xsl:template mode="ResourceFormat" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">ResourceFormat</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/legislation.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/legislation.xsl new file mode 100644 index 00000000000..789e83aeaa9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/legislation.xsl @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="LegislationInfo" match="int:legislationInformation"> + <che:legislationInformation> + <xsl:apply-templates mode="LegislationInfo"/> + </che:legislationInformation> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:GM03_2Comprehensive.Comprehensive.MD_Legislation"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <xsl:apply-templates mode="LegislationInfo"/> + </che:CHE_MD_Legislation> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:country"> + <xsl:apply-templates mode="Country"/> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:legislationType"> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="./resources/codeList.xml#LegislationCode" codeListValue="{.}"/> + </che:legislationType> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:internalReference"> + <che:internalReference> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </che:internalReference> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:language/int:CodeISO.LanguageCodeISO_|int:language/int:CodeISO.LanguageCode_"> + <che:language> + <gmd:LanguageCode codeList="./resources/codeList.xml#LanguageCodeISO"> + <xsl:attribute name="codeListValue"> + <xsl:apply-templates mode="languageToIso3" select="int:value"/> + </xsl:attribute> + </gmd:LanguageCode> + </che:language> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:title"> + <che:title> + <xsl:apply-templates mode="Citation"/> + </che:title> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">LegislationInfo</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Country" match="int:CodeISO.CountryCodeISO_|int:CodeISO.Country_"> + <che:country> + <gmd:Country codeList="./resources/codeList.xml#CountryCodeISO" codeListValue="{int:value}"/> + </che:country> + </xsl:template> + + <xsl:template mode="Country" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Country</xsl:with-param> + </xsl:call-template> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/maintenance-info.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/maintenance-info.xsl new file mode 100644 index 00000000000..92857aa92dc --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/maintenance-info.xsl @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:template mode="MaintenanceInfo" match="int:metadataMaintenance|int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <xsl:apply-templates mode="MaintenanceInfo" select="int:maintenanceAndUpdateFrequency"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:dateOfNextUpdate"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:userDefinedMaintenanceFrequency"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:updateScope"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2Comprehensive.Comprehensive.MD_ScopeDescription"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:maintenanceNote"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformationcontact"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:dateOfMonitoringState"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2Comprehensive.Comprehensive.MD_HistoryConcept"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2Comprehensive.Comprehensive.MD_ArchiveConcept"/> + </che:CHE_MD_MaintenanceInformation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformationcontact"> + <gmd:contact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:contact> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:GM03_2Comprehensive.Comprehensive.MD_ScopeDescription"> + <gmd:updateScopeDescription> + <gmd:MD_ScopeDescription> + <xsl:choose> + <xsl:when test="int:attributes"> + <xsl:apply-templates mode="objectRef" select="int:attributes"/> + </xsl:when> + <xsl:when test="int:features"> + <xsl:apply-templates mode="objectRef" select="int:features"/> + </xsl:when> + <xsl:when test="int:featureInstances"> + <xsl:apply-templates mode="objectRef" select="int:featureInstances"/> + </xsl:when> + <xsl:when test="int:attributeInstances"> + <xsl:apply-templates mode="objectRef" select="int:attributeInstances"/> + </xsl:when> + <xsl:when test="int:dataset"> + <xsl:apply-templates mode="text" select="int:dataset"/> + </xsl:when> + <xsl:when test="int:other"> + <xsl:apply-templates mode="text" select="int:other"/> + </xsl:when> + </xsl:choose> + </gmd:MD_ScopeDescription> + </gmd:updateScopeDescription> + </xsl:template> + <xsl:template mode="objectRef" match="*"> + <xsl:element name="{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> +<!-- <xsl:attribute name="uuidref"><xsl:value-of select="."/></xsl:attribute>--> + </xsl:element> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:maintenanceAndUpdateFrequency"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="./resources/codeList.xml#MD_MaintenanceFrequencyCode" + codeListValue="{.}"/> + </gmd:maintenanceAndUpdateFrequency> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:userDefinedMaintenanceFrequency"> + <gmd:userDefinedMaintenanceFrequency> + <gts:TM_PeriodDuration> + <xsl:value-of select="concat('P', substring-before(.,':'), 'Y', substring-before(substring-after(., ':'), ':'), 'M', substring-before(substring-after(substring-after(., ':'), ':'), ':'), 'DT', substring-before(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), 'H', substring-before(substring-after(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), ':'), 'M', substring-after(substring-after(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), ':'), 'S')"/> + </gts:TM_PeriodDuration> + </gmd:userDefinedMaintenanceFrequency> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:dateOfNextUpdate"> + <gmd:dateOfNextUpdate> + <xsl:apply-templates mode="date" select="."/> + </gmd:dateOfNextUpdate> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:dateOfMonitoringState"> + <che:dateOfMonitoringState> + <xsl:apply-templates mode="date" select="."/> + </che:dateOfMonitoringState> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:updateScope"> + <gmd:updateScope> + <xsl:apply-templates mode="MaintenanceInfo"/> + </gmd:updateScope> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:GM03_2Core.Core.MD_ScopeCode_"> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{.}" /> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:maintenanceNote"> + <xsl:for-each select="int:GM03_2Core.Core.PT_FreeText"> + <gmd:maintenanceNote> + <xsl:apply-templates mode="language" select="."/> + </gmd:maintenanceNote> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:GM03_2Comprehensive.Comprehensive.MD_ArchiveConcept"> + <che:archiveConcept> + <che:CHE_MD_ArchiveConcept> + <xsl:apply-templates select="int:GM03_2Comprehensive.Comprehensive.MD_ArchiveConceptarchiveConceptCitation" mode="MaintenanceInfo"/> + <xsl:apply-templates select="int:archiveConceptURL" mode="MaintenanceInfo"/> + </che:CHE_MD_ArchiveConcept> + </che:archiveConcept> + </xsl:template> + <xsl:template mode="MaintenanceInfo" match="int:GM03_2Comprehensive.Comprehensive.MD_ArchiveConceptarchiveConceptCitation"> + <xsl:apply-templates mode="MaintenanceInfo" select="int:archiveConceptCitation"/> + </xsl:template> + <xsl:template mode="MaintenanceInfo" match="int:archiveConceptCitation"> + <che:archiveConceptCitation> + <xsl:apply-templates mode="Citation" select="int:GM03_2Comprehensive.Comprehensive.CI_Citation"/> + </che:archiveConceptCitation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:archiveConceptURL"> + <che:archiveConceptURL> + <xsl:apply-templates select="." mode="language"/> + </che:archiveConceptURL> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MaintenanceInfo</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/metadata.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/metadata.xsl new file mode 100644 index 00000000000..7ed207927da --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/metadata.xsl @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="MetaData" match="int:GM03_2Core.Core.MD_Metadata"> + <xsl:choose> + <xsl:when test="string-length($uuid) > 0"> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="$uuid"/> + </gco:CharacterString> + </gmd:fileIdentifier> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="MetaData" select="int:fileIdentifier"/> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="not(int:language) or normalize-space(int:language)=''"> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="MetaData" select="int:language"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="MetaData" select="int:characterSet"/> + <xsl:apply-templates mode="MetaData" select="int:parentIdentifier"/> + <xsl:apply-templates mode="MetaData" select="int:hierarchyLevel"/> + <xsl:apply-templates mode="MetaData" select="int:hierarchyLevelName"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Core.Core.MD_Metadatacontact"/> + <xsl:apply-templates mode="MetaData" select="int:dateStamp"/> + <xsl:apply-templates mode="text" select="int:metadataStandardName"/> + <xsl:apply-templates mode="text" select="int:metadataStandardVersion"/> + <xsl:apply-templates mode="MetaData" select="int:dataSetURI"/> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger">German</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre">French</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita">Italian</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng">English</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeListValue="roh" codeList="#LanguageCode">Rumantsch</gmd:LanguageCode> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Comprehensive.Comprehensive.MD_GridSpatialRepresentation| + int:GM03_2Comprehensive.Comprehensive.MD_VectorSpatialRepresentation| + int:GM03_2Comprehensive.Comprehensive.MD_Georeferenceable| + int:GM03_2Comprehensive.Comprehensive.MD_Georectified"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Core.Core.referenceSystemInfoMD_Metadata"/> + <xsl:apply-templates mode="MetaData" select="int:metadataExtensionInfo"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Comprehensive.Comprehensive.MD_DataIdentification|int:GM03_2Core.Core.MD_DataIdentification|int:GM03_2Comprehensive.Comprehensive.SV_ServiceIdentification"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Comprehensive.Comprehensive.MD_CoverageDescription|int:GM03_2Comprehensive.Comprehensive.MD_FeatureCatalogueDescription|int:GM03_2Comprehensive.Comprehensive.MD_RangeDimension|int:GM03_2Comprehensive.Comprehensive.MD_Band|int:GM03_2Comprehensive.Comprehensive.MD_ImageDescription"/> + <xsl:apply-templates mode="MetaData" select="int:distributionInfo"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Core.Core.DQ_DataQuality"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Comprehensive.Comprehensive.portrayalCatalogueInfoMD_Metadata/int:portrayalCatalogueInfo"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Comprehensive.Comprehensive.MD_MetadatametadataConstraints/metadataConstraints"/> + <xsl:apply-templates mode="MetaData" select="int:applicationSchemaInfo"/> + <xsl:apply-templates mode="MetaData" select="int:metadataMaintenance"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformation"/> + <xsl:apply-templates mode="MetaData" select="int:series"/> + <xsl:apply-templates mode="MetaData" select="int:describes"/> + <xsl:apply-templates mode="MetaData" select="int:propertyType"/> + <xsl:apply-templates mode="MetaData" select="int:featureType"/> + <xsl:apply-templates mode="MetaData" select="int:featureAttribute"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2Comprehensive.Comprehensive.MD_MetadatalegislationInformation"/> + </xsl:template> + + <xsl:template mode="MetaData" match="int:metadataConstraints"> + <gmd:metadataConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:metadataConstraints> + </xsl:template> + + <xsl:template mode="MetaData" match="int:portrayalCatalogueInfo"> + <gmd:portrayalCatalogueInfo> + <xsl:apply-templates mode="MetaData"/> + </gmd:portrayalCatalogueInfo> + </xsl:template> + + <xsl:template mode="MetaData" match="int:GM03_2Comprehensive.Comprehensive.MD_PortrayalCatalogueReference"> + <che:CHE_MD_PortrayalCatalogueReference> + <xsl:for-each select="int:GM03_2Comprehensive.Comprehensive.CI_Citation"> + <gmd:portrayalCatalogueCitation> + <xsl:apply-templates select="." mode="Citation"/> + </gmd:portrayalCatalogueCitation> + </xsl:for-each> + </che:CHE_MD_PortrayalCatalogueReference> + </xsl:template> + + <xsl:template mode="MetaData" match="int:fileIdentifier"> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:fileIdentifier> + </xsl:template> + + <xsl:template mode="MetaData" match="int:language"> + <gmd:language> + <gco:CharacterString> + <xsl:apply-templates mode="languageToIso3" select="."/> + </gco:CharacterString> + </gmd:language> + </xsl:template> + + <xsl:template mode="MetaData" match="int:characterSet"> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="./resources/codeList.xml#MD_CharacterSetCode" codeListValue="{.}"/> + </gmd:characterSet> + </xsl:template> + + <xsl:template mode="MetaData" match="int:parentIdentifier"> + <gmd:parentIdentifier> + <gco:CharacterString> + <xsl:value-of select="int:GM03_2Core.Core.MD_Metadata/fileIdentifier"/> + </gco:CharacterString> + </gmd:parentIdentifier> + </xsl:template> + + <xsl:template mode="MetaData" match="int:hierarchyLevel"> + <xsl:for-each select="int:GM03_2Core.Core.MD_ScopeCode_"> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{int:value}"/> + </gmd:hierarchyLevel> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="MetaData" match="int:hierarchyLevelName"> + <xsl:for-each select="int:GM03_2Core.Core.CharacterString_"> + <gmd:hierarchyLevelName> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:hierarchyLevelName> + </xsl:for-each> + </xsl:template> + + + <xsl:template mode="MetaData" match="int:GM03_2Core.Core.MD_Metadatacontact"> + <gmd:contact> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:contact> + </xsl:template> + + <xsl:template mode="MetaData" match="int:dateStamp"> + <gmd:dateStamp> + <xsl:apply-templates mode="dateTime" select="."/> + </gmd:dateStamp> + </xsl:template> + + <xsl:template mode="MetaData" match="int:dataSetURI"> + <gmd:dataSetURI> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:dataSetURI> + </xsl:template> + + <xsl:template mode="MetaData" match="int:metadataMaintenance"> + <gmd:metadataMaintenance> + <xsl:apply-templates mode="MaintenanceInfo"/> + </gmd:metadataMaintenance> + </xsl:template> + + <xsl:template mode="MetaData" match="int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:metadataMaintenance> + <xsl:apply-templates mode="MaintenanceInfo" select="."/> + </gmd:metadataMaintenance> + </xsl:template> + + <xsl:template mode="MetaData" match="int:distributionInfo"> + <gmd:distributionInfo> + <xsl:apply-templates mode="Distribution"/> + </gmd:distributionInfo> + </xsl:template> + + <xsl:template mode="MetaData" + match="int:GM03_2Comprehensive.Comprehensive.MD_GridSpatialRepresentation| + int:GM03_2Comprehensive.Comprehensive.MD_VectorSpatialRepresentation| + int:GM03_2Comprehensive.Comprehensive.MD_Georeferenceable| + int:GM03_2Comprehensive.Comprehensive.MD_Georectified"> + <gmd:spatialRepresentationInfo> + <xsl:apply-templates select="." mode="SpatialRepr"/> + </gmd:spatialRepresentationInfo> + </xsl:template> + + <xsl:template mode="MetaData" + match="int:GM03_2Comprehensive.Comprehensive.MD_CoverageDescription|int:GM03_2Comprehensive.Comprehensive.MD_FeatureCatalogueDescription|int:GM03_2Comprehensive.Comprehensive.MD_RangeDimension|int:GM03_2Comprehensive.Comprehensive.MD_Band|int:GM03_2Comprehensive.Comprehensive.MD_ImageDescription"> + <gmd:contentInfo> + <xsl:apply-templates select="." mode="Content"/> + </gmd:contentInfo> + </xsl:template> + + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_DataIdentification|int:GM03_2Core.Core.MD_DataIdentification|int:GM03_2Comprehensive.Comprehensive.SV_ServiceIdentification" mode="MetaData"> + <gmd:identificationInfo> + <xsl:apply-templates select="." mode="DataIdentification"/> + </gmd:identificationInfo> + </xsl:template> + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_MetadatalegislationInformation" mode="MetaData"> + <xsl:apply-templates mode="LegislationInfo"/> + </xsl:template> + + <xsl:template match="int:GM03_2Core.Core.DQ_DataQuality" mode="MetaData"> + <xsl:apply-templates select="." mode="DataQuality"/> + </xsl:template> + + <xsl:template match="int:GM03_2Core.Core.referenceSystemInfoMD_Metadata" mode="MetaData"> + <gmd:referenceSystemInfo> + <xsl:apply-templates mode="RefSystem"/> + </gmd:referenceSystemInfo> + </xsl:template> + + <xsl:template match="*" mode="MetaData"> + <ERROR mode="MetaData" tag="{name(..)}/{name(.)}"/> + </xsl:template> + + <xsl:template mode="MetaData" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MetaData</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/ref-system.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/ref-system.xsl new file mode 100644 index 00000000000..4da0050b535 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/ref-system.xsl @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="RefSystem" match="int:GM03_2Core.Core.MD_ReferenceSystem"> + <gmd:MD_ReferenceSystem> + <xsl:apply-templates mode="RefSystem"/> + </gmd:MD_ReferenceSystem> + </xsl:template> + + <xsl:template mode="RefSystem" match="int:referenceSystemIdentifier"> + <gmd:referenceSystemIdentifier> + <xsl:apply-templates mode="MdIdent"/> + </gmd:referenceSystemIdentifier> + </xsl:template> + + <xsl:template mode="RefSystem" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">RefSystem</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ======================================================================== --> + + <xsl:template mode="MdIdent" match="int:GM03_2Comprehensive.Comprehensive.RS_Identifier|int:GM03_2Core.Core.RS_Identifier"> + <gmd:RS_Identifier> + <xsl:apply-templates mode="MdIdent"/> + </gmd:RS_Identifier> + </xsl:template> + + <xsl:template mode="MdIdent" match="int:code"> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + <xsl:apply-templates mode="language"/> + </gmd:code> + </xsl:template> + + <xsl:template mode="MdIdent" match="int:codeSpace"> + <gmd:codeSpace> + <xsl:apply-templates mode="string"/> + </gmd:codeSpace> + </xsl:template> + + <xsl:template mode="MdIdent" match="int:version"> + <gmd:version> + <xsl:apply-templates mode="string"/> + </gmd:version> + </xsl:template> + + <xsl:template mode="MdIdent" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MdIdent</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/resolve-refs.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/resolve-refs.xsl new file mode 100644 index 00000000000..86824dca503 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/resolve-refs.xsl @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <!-- Only one element have to be kept from the root element --> + <xsl:template match="int:GM03_2Comprehensive.Comprehensive|int:GM03_2Core.Core" mode="ResolveRefs"> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:choose> + <xsl:when test="int:GM03_2Core.Core.MD_Metadata/parentIdentifier"> + <xsl:apply-templates select="int:GM03_2Core.Core.MD_Metadata[parentIdentifier]" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(.)"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="int:GM03_2Core.Core.MD_Metadata[1]" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(.)"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + + <!-- we add a few N-N links that would introduce a dead loop --> + <xsl:apply-templates select="int:GM03_2Comprehensive.Comprehensive.formatDistributordistributorFormat" + mode="ResolveRefsCopy"/> + </xsl:element> + </xsl:template> + + + <!-- back references are dropped --> + <xsl:template match="*[@REF and (starts-with(name(.), 'CI_') or starts-with(name(.), 'DQ_') or starts-with(name(.), 'EX_') or starts-with(name(.), 'LI_') or starts-with(name(.), 'MD_') or starts-with(name(.), 'SV_'))]" mode="ResolveRefs"/> + + <!-- this one does a huge loop in the model, it will be managed manually --> + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.formatDistributordistributorFormat" mode="ResolveRefs"> + </xsl:template> + + <!-- Elements that may contain others --> + <xsl:template match="*" mode="ResolveRefs"> + <xsl:param name="parent"/> + <xsl:variable name="selfName" select="name(.)"/> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:apply-templates select="@*" mode="ResolveRefs"/> + <xsl:apply-templates mode="ResolveRefs"> + <xsl:with-param name="parent" select="$selfName"/> + </xsl:apply-templates> + + <xsl:if test="@TID"> + <xsl:variable name="myTID" select="@TID"/> + <xsl:for-each select="/int:TRANSFER/int:DATASECTION/int:GM03_2Comprehensive.Comprehensive/*|/int:TRANSFER/int:DATASECTION/int:GM03_2Core.Core/*"> + <xsl:for-each select="*[@REF=$myTID]"> + <xsl:if test="$parent!=name(..) and (starts-with(name(.), 'CI_') or starts-with(name(.), 'DQ_') or starts-with(name(.), 'EX_') or starts-with(name(.), 'LI_') or starts-with(name(.), 'MD_') or starts-with(name(.), 'SV_'))"> + <xsl:apply-templates select=".." mode="ResolveRefs"> + <xsl:with-param name="parent" select="$selfName"/> + </xsl:apply-templates> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:if test="ends-with($selfName, 'Comprehensive.Comprehensive.LI_Source')"> + <xsl:apply-templates mode="ResolveRefs" select="/int:TRANSFER/int:DATASECTION/int:GM03_2Comprehensive.Comprehensive/ + int:GM03_2Comprehensive.Comprehensive.sourceStepsource[int:source/@REF = $myTID]/int:sourceStep" /> + </xsl:if> + </xsl:if> + </xsl:element> + </xsl:template> + + <!-- manage direct references --> + <xsl:key name="index" match="/int:TRANSFER/int:DATASECTION/int:GM03_2Comprehensive.Comprehensive//*|/int:TRANSFER/int:DATASECTION/int:GM03_2Core.Core//*" use="@TID"/> + <xsl:template match="@REF" mode="ResolveRefs"> + <xsl:attribute name="REF"> + <xsl:value-of select="."/> + </xsl:attribute> + <xsl:variable name="real" select="key('index', .)"/> + <xsl:apply-templates select="$real" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(../..)"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="@*" mode="ResolveRefs"> + <xsl:attribute name="{name(.)}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:template> + + <xsl:template match="text()" mode="ResolveRefs"> + <xsl:value-of select="normalize-space(.)"/> + </xsl:template> + + <xsl:template match="*" mode="ResolveRefsCopy"> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:apply-templates select="@*" mode="ResolveRefsCopy"/> + <xsl:apply-templates mode="ResolveRefsCopy"/> + </xsl:element> + </xsl:template> + + <xsl:template match="int:formatDistributor/@REF" mode="ResolveRefsCopy"> + <xsl:apply-templates mode="ResolveRefs" select="."/> + </xsl:template> + + <xsl:template match="int:distributorFormat/@REF" mode="ResolveRefsCopy"> + <xsl:apply-templates mode="ResolveRefs" select="."/> + </xsl:template> + + <xsl:template match="@*" mode="ResolveRefsCopy"> + <xsl:attribute name="{name(.)}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/resp-party.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/resp-party.xsl new file mode 100644 index 00000000000..c18528ce513 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/resp-party.xsl @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="#all"> + <xsl:template mode="RespParty" + match="int:GM03_2Core.Core.MD_IdentificationpointOfContact | + int:GM03_2Core.Core.MD_Metadatacontact | + int:GM03_2Comprehensive.Comprehensive.MD_DistributordistributorContact | + int:distributorContact | + int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformationcontact | + int:GM03_2Core.Core.CI_ResponsiblePartyparentinfo | + int:GM03_2Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty | + int:GM03_2Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <xsl:variable name="resp-party" select="."/> + <!-- I don't like this variable. I think a choice with each + when being one of the elements in the template match would be better + and the otherwise should be role + --> + <xsl:variable name="roles" select="int:role | + int:GM03_2Comprehensive.Comprehensive.MD_DistributordistributorContact/int:role | + int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformationcontact/int:role | + ../../../int:role | + ../../int:GM03_2Comprehensive.Comprehensive.MD_DistributordistributorContact/int:role | + ../int:role | + ../../int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformationcontact/int:role"/> + + <xsl:for-each select="$roles/int:GM03_2Core.Core.CI_RoleCode_[1]"> + <xsl:apply-templates mode="InnerRespParty" select="$resp-party"> + <xsl:with-param name="role" select="."/> + </xsl:apply-templates> + </xsl:for-each> + + <xsl:if test="count($roles) > 1"> + <xsl:for-each select="$roles/int:GM03_2Core.Core.CI_RoleCode_[ pos != 1]"> + <xsl:element name="{name(..)}"> + <xsl:apply-templates mode="InnerRespParty" select="$resp-party"> + <xsl:with-param name="role" select="."/> + </xsl:apply-templates> + </xsl:element> + </xsl:for-each> + </xsl:if> + </xsl:template> + + <!-- This template does the actual work of copying the responsible party. + The other template with the same match (but mode="RespParty") calls this + based with each role + --> + <xsl:template mode="InnerRespParty" + match="int:GM03_2Core.Core.MD_IdentificationpointOfContact| + int:GM03_2Core.Core.MD_Metadatacontact| + int:GM03_2Comprehensive.Comprehensive.MD_DistributordistributorContact| + int:distributorContact | + int:GM03_2Comprehensive.Comprehensive.MD_MaintenanceInformationcontact| + int:GM03_2Core.Core.CI_ResponsiblePartyparentinfo| + int:GM03_2Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty| + int:GM03_2Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <xsl:param name="role"/> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <xsl:for-each select="*/int:GM03_2Core.Core.CI_ResponsibleParty | int:GM03_2Core.Core.CI_ResponsibleParty"> + <xsl:apply-templates mode="text" select="int:organisationName"/> + <xsl:for-each select="int:positionName"> + <gmd:positionName> + <xsl:apply-templates mode="language"/> + </gmd:positionName> + </xsl:for-each> + <gmd:contactInfo> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:contactInfo> + </xsl:for-each> + <xsl:for-each select="$role"> + <gmd:role> + <gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode" + codeListValue="{int:value}"/> + </gmd:role> + </xsl:for-each> + <xsl:for-each select="*/int:GM03_2Core.Core.CI_ResponsibleParty | int:GM03_2Core.Core.CI_ResponsibleParty"> + <xsl:for-each select="int:individualFirstName"> + <che:individualFirstName> + <xsl:apply-templates mode="string" select="."/> + </che:individualFirstName> + </xsl:for-each> + <xsl:for-each select="int:individualLastName"> + <che:individualLastName> + <xsl:apply-templates mode="string" select="."/> + </che:individualLastName> + </xsl:for-each> + <xsl:for-each select="int:organisationAcronym"> + <che:organisationAcronym> + <xsl:apply-templates mode="language" select="."/> + </che:organisationAcronym> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Core.Core.CI_ResponsiblePartyparentinfo"> + <che:parentResponsibleParty> + <xsl:apply-templates mode="RespParty" select="."/> + </che:parentResponsibleParty> + </xsl:for-each> + </xsl:for-each> + </che:CHE_CI_ResponsibleParty> + </xsl:template> + + <xsl:template mode="RespParty" match="int:GM03_2Core.Core.CI_ResponsibleParty"> + <gmd:CI_Contact> + <xsl:apply-templates mode="phone" select="."/> + + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <xsl:apply-templates mode="address" select="."/> + </che:CHE_CI_Address> + </gmd:address> + + <xsl:if test="int:linkage"> + <gmd:onlineResource> + <xsl:for-each select="int:linkage"> + <gmd:CI_OnlineResource> + <gmd:linkage> + <xsl:apply-templates mode="language"/> + </gmd:linkage> + </gmd:CI_OnlineResource> + </xsl:for-each> + </gmd:onlineResource> + </xsl:if> + + <xsl:for-each select="int:hoursOfService|int:contactInfo/int:GM03_2Core.Core.CI_Contact/int:hoursOfService"> + <gmd:hoursOfService> + <xsl:apply-templates mode="string" select="."/> + </gmd:hoursOfService> + </xsl:for-each> + + <xsl:for-each select="int:contactInstructions|int:contactInfo/int:GM03_2Core.Core.CI_Contact/int:contactInstructions"> + <gmd:contactInstructions> + <xsl:apply-templates mode="language"/> + </gmd:contactInstructions> + </xsl:for-each> + </gmd:CI_Contact> + </xsl:template> + + <xsl:template mode="phone" match="*"> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <xsl:for-each select="int:GM03_2Core.Core.CI_Telephone[int:numberType='mainNumber']"> + <gmd:voice> + <xsl:apply-templates mode="string" select="int:number"/> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Core.Core.CI_Telephone[int:numberType='facsimile']"> + <gmd:facsimile> + <xsl:apply-templates mode="string" select="int:number"/> + </gmd:facsimile> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Core.Core.CI_Telephone[int:numberType='directNumber']"> + <che:directNumber> + <xsl:apply-templates mode="string" select="int:number"/> + </che:directNumber> + </xsl:for-each> + <xsl:for-each select="int:GM03_2Core.Core.CI_Telephone[int:numberType='mobile']"> + <che:mobile> + <xsl:apply-templates mode="string" select="int:number"/> + </che:mobile> + </xsl:for-each> + </che:CHE_CI_Telephone> + </gmd:phone> + </xsl:template> + + <xsl:template mode="RespParty" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">RespParty</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="address" match="*"> + <xsl:for-each select="int:address/int:GM03_2Core.Core.CI_Address/int:city"> + <gmd:city> + <xsl:apply-templates mode="string" select="."/> + </gmd:city> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2Core.Core.CI_Address/int:administrativeArea"> + <gmd:administrativeArea> + <xsl:apply-templates mode="string" select="."/> + </gmd:administrativeArea> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2Core.Core.CI_Address/int:postalCode"> + <gmd:postalCode> + <xsl:apply-templates mode="string" select="."/> + </gmd:postalCode> + </xsl:for-each> + <xsl:for-each select="int:country|address/int:GM03_2Core.Core.CI_Address/int:country"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="."></xsl:value-of> + </gco:CharacterString> + </gmd:country> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2Core.Core.CI_Address/int:electronicMailAddress|int:electronicalMailAddress"> + <xsl:for-each select="int:GM03_2Core.Core.URL_/int:value"> + <gmd:electronicMailAddress> + <xsl:apply-templates mode="string" select="."/> + </gmd:electronicMailAddress> + </xsl:for-each> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2Core.Core.CI_Address/int:streetName"> + <che:streetName> + <xsl:apply-templates mode="string" select="."/> + </che:streetName> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2Core.Core.CI_Address/int:streetNumber"> + <che:streetNumber> + <xsl:apply-templates mode="string" select="."/> + </che:streetNumber> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2Core.Core.CI_Address/int:addressLine"> + <che:addressLine> + <xsl:apply-templates mode="string" select="."/> + </che:addressLine> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2Core.Core.CI_Address/int:postBox"> + <che:postBox> + <xsl:apply-templates mode="string" select="."/> + </che:postBox> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/spatial-repr.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/spatial-repr.xsl new file mode 100644 index 00000000000..58003b86d38 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2/spatial-repr.xsl @@ -0,0 +1,184 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="int util" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + > + + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_VectorSpatialRepresentation" mode="SpatialRepr"> + <gmd:MD_VectorSpatialRepresentation> + <xsl:apply-templates mode="SpatialRepr"/> + </gmd:MD_VectorSpatialRepresentation> + </xsl:template> + + <xsl:template match="int:topologyLevel" mode="SpatialRepr"> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="./resources/codeList.xml#MD_TopologyLevelCode" codeListValue="{.}"/> + </gmd:topologyLevel> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_GridSpatialRepresentation" mode="SpatialRepr"> + <gmd:MD_GridSpatialRepresentation> + <xsl:apply-templates mode="SpatialRepr" select="int:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="int:GM03_2Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="int:cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="int:transformationParameterAvailability"/> + </gmd:MD_GridSpatialRepresentation> + </xsl:template> + + <xsl:template match="int:numberOfDimensions" mode="SpatialRepr"> + <gmd:numberOfDimensions> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:numberOfDimensions> + </xsl:template> + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_Dimension" mode="SpatialRepr"> + <gmd:axisDimensionProperties> + <xsl:apply-templates select="." mode="Dimension"/> + </gmd:axisDimensionProperties> + </xsl:template> + <xsl:template match="int:cellGeometry" mode="SpatialRepr"> + <gmd:cellGeometry> + <gmd:MD_CellGeometryCode codeList="./resources/codeList.xml#MD_CellGeometryCode" + codeListValue="{.}"/> + </gmd:cellGeometry> + </xsl:template> + <xsl:template match="int:transformationParameterAvailability" mode="SpatialRepr"> + <gmd:transformationParameterAvailability> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:transformationParameterAvailability> + </xsl:template> + + <!-- ================================================================================= --> + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_Georeferenceable" mode="SpatialRepr"> + <gmd:MD_Georeferenceable> + <!-- gridSpatial properties --> + <xsl:apply-templates mode="SpatialRepr" select="int:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="int:GM03_2Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="int:cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="int:transformationParameterAvailability"/> + + <!-- specific to MD_Georeferenceable --> + <xsl:apply-templates mode="boolean" select="int:controlPointAvailability"/> + <xsl:apply-templates mode="boolean" select="int:orientationParameterAvailability"/> + <xsl:apply-templates mode="text" select="int:orientationParameterDescription"/> + <xsl:apply-templates mode="SpatialRepr" select="int:georeferencedParameters"/> + <xsl:apply-templates mode="Citation" select="int:parameterCitation"/> + </gmd:MD_Georeferenceable> + </xsl:template> + + <xsl:template match="int:georeferencedParameters" mode="SpatialRepr"> + <gmd:georeferencedParameters> + <gco:Record><xsl:value-of select="."/></gco:Record> + </gmd:georeferencedParameters> + </xsl:template> + <!-- ================================================================================= --> + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_Georectified" mode="SpatialRepr"> + <gmd:MD_Georectified> + <!-- gridSpatial properties --> + <xsl:apply-templates mode="SpatialRepr" select="int:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="int:GM03_2Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="int:cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="int:transformationParameterAvailability"/> + + <!-- specific to MD_Georectified --> + <xsl:apply-templates mode="boolean" select="int:checkPointAvailability"/> + <xsl:apply-templates mode="text" select="int:checkPointDescription"/> + <xsl:apply-templates mode="SpatialRepr" select="int:cornerPoints"/> + <xsl:apply-templates mode="SpatialRepr" select="int:centerPoint"/> + <xsl:apply-templates mode="SpatialRepr" select="int:pointInPixel"/> + <xsl:apply-templates mode="text" select="int:transformationDimensionDescription"/> + <xsl:apply-templates mode="text" select="int:transformationDimensionMapping"/> + </gmd:MD_Georectified> + </xsl:template> + + <xsl:template match="int:cornerPoints" mode="SpatialRepr"> + <xsl:for-each select="int:GM03_2Core.Core.GM_Point_"> + <gmd:cornerPoints> + <xsl:apply-templates mode="GM_Object" select="."/> + </gmd:cornerPoints> + </xsl:for-each> + </xsl:template> + + <xsl:template match="int:centerPoint" mode="SpatialRepr"> + <gmd:centerPoint> + <gml:Point gml:id="{util:randomId()}"> + <gml:coordinates><xsl:apply-templates mode="GM_Object" select="."/></gml:coordinates> + </gml:Point> + </gmd:centerPoint> + </xsl:template> + + <xsl:template match="int:pointInPixel" mode="SpatialRepr"> + <gmd:pointInPixel> + <gmd:MD_PixelOrientationCode><xsl:value-of select="."/></gmd:MD_PixelOrientationCode> + </gmd:pointInPixel> + </xsl:template> + <!-- ================================================================================= --> + + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_Dimension" mode="Dimension"> + <gmd:MD_Dimension> + <xsl:for-each select="int:dimensionName"> + <gmd:dimensionName> + <gmd:MD_DimensionNameTypeCode codeList="./resources/codeList.xml#MD_DimensionNameTypeCode" codeListValue="{.}"/> + </gmd:dimensionName> + </xsl:for-each> + + <xsl:for-each select="int:dimensionSize"> + <gmd:dimensionSize> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:dimensionSize> + </xsl:for-each> + + <xsl:for-each select="int:resolution"> + <gmd:resolution> + <gco:Measure uom="m"><xsl:value-of select="."/></gco:Measure> + </gmd:resolution> + </xsl:for-each> + </gmd:MD_Dimension> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template match="int:GM03_2Comprehensive.Comprehensive.MD_GeometricObjects" mode="SpatialRepr"> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <xsl:apply-templates mode="SpatialRepr"/> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </xsl:template> + + <xsl:template match="int:geometricObjectType" mode="SpatialRepr"> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="./resources/codeList.xml#MD_GeometricObjectTypeCode" + codeListValue="{.}"/> + </gmd:geometricObjectType> + </xsl:template> + + <xsl:template match="int:geometricObjectCount" mode="SpatialRepr"> + <gmd:geometricObjectCount> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:geometricObjectCount> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="SpatialRepr" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">SpatialRepr</xsl:with-param> + </xsl:call-template> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/CHE03-to-19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/CHE03-to-19139.xsl new file mode 100644 index 00000000000..47135fec853 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/CHE03-to-19139.xsl @@ -0,0 +1,401 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:comp="http://toignore" + xmlns:che="http://www.geocat.ch/2008/che" + 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:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="#all"> + + <xsl:include href="resolve-refs.xsl"/> + <xsl:include href="metadata.xsl"/> + <xsl:include href="resp-party.xsl"/> + <xsl:include href="spatial-repr.xsl"/> + <xsl:include href="citation.xsl"/> + <xsl:include href="content.xsl"/> + <xsl:include href="maintenance-info.xsl"/> + <xsl:include href="data-quality.xsl"/> + <xsl:include href="identification.xsl"/> + <xsl:include href="extent.xsl"/> + <xsl:include href="distribution.xsl"/> + <xsl:include href="ref-system.xsl"/> + <xsl:include href="legislation.xsl"/> + + <xsl:param name="uuid"/> + <xsl:param name="DEBUG">0</xsl:param> + <xsl:template match="/comp:TRANSFER/comp:DATASECTION/comp:GM03_2_1Comprehensive.Comprehensive|/comp:TRANSFER/comp:DATASECTION/comp:GM03_2_1Core.Core" + priority="10"> + <xsl:variable name="noNamespace"> + <xsl:apply-templates mode="remove-namespace" select="/"/> + </xsl:variable> + + <xsl:apply-templates select="$noNamespace"/> + </xsl:template> + <xsl:variable name="UPPER">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable> + <xsl:variable name="LOWER">abcdefghijklmnopqrstuvwxyz</xsl:variable> + <xsl:template mode="remove-namespace" match="/|comment()|processing-instruction()"> + <xsl:copy> + <xsl:apply-templates mode="remove-namespace" /> + </xsl:copy> + </xsl:template> + + <xsl:template mode="remove-namespace" match="*"> + <xsl:element name="{local-name()}" namespace=""> + <xsl:apply-templates mode="remove-namespace" select="@*|node()" /> + </xsl:element> + </xsl:template> + + <xsl:template mode="remove-namespace" match="@*"> + <xsl:attribute name="{local-name()}" namespace=""> + <xsl:value-of select="." /> + </xsl:attribute> + </xsl:template> + + <xsl:template match="/int:TRANSFER/int:DATASECTION/int:GM03_2_1Comprehensive.Comprehensive|/int:TRANSFER/int:DATASECTION/int:GM03_2_1Core.Core"> + <xsl:choose> + <xsl:when test="$DEBUG=1"> + <xsl:apply-templates select="." mode="ResolveRefs"/> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="resolvedText"> + <xsl:apply-templates select="." mode="ResolveRefs"/> + </xsl:variable> + <xsl:variable name="resolved" select="$resolvedText"/> + + <xsl:apply-templates select="$resolved" mode="root"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="/" mode="root"> + <xsl:apply-templates mode="root"/> + </xsl:template> + + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive|int:GM03_2_1Core.Core" mode="root"> + <che:CHE_MD_Metadata gco:isoType="gmd:MD_Metadata"> + <xsl:apply-templates mode="root"/> + </che:CHE_MD_Metadata> + </xsl:template> + + <xsl:template match="int:GM03_2_1Core.Core.MD_Metadata" mode="root"> + <xsl:apply-templates select="." mode="MetaData"/> + </xsl:template> + + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat" mode="root"/> + + <xsl:template match="*" mode="root"> + <ERROR mode="root" tag="{name(..)}/{name(.)}"/> + </xsl:template> + + <xsl:template name="mainLanguage"> + <xsl:choose> + <xsl:when test="//int:GM03_2_1Core.Core.MD_Metadata/int:language"> + <xsl:value-of select="//int:GM03_2_1Core.Core.MD_Metadata/int:language"/> + </xsl:when> + <xsl:otherwise>de</xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="locale"> + <xsl:variable name="mainLanguage"> + <xsl:call-template name="mainLanguage"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="int:language"> + <xsl:value-of select="translate(int:language, $LOWER, $UPPER)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="translate($mainLanguage, $LOWER, $UPPER)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="text()" mode="root"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">root</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:variable name="mainLanguage"> + <xsl:call-template name="mainLanguage"/> + </xsl:variable> + + <xsl:template match="int:GM03_2_1Core.Core.PT_FreeURL" mode="language"> + <xsl:attribute name="xsi:type">che:PT_FreeURL_PropertyType</xsl:attribute> + + <che:PT_FreeURL> + <xsl:apply-templates mode="language" select="int:URLGroup/int:GM03_2_1Core.Core.PT_URLGroup"/> + </che:PT_FreeURL> + </xsl:template> + + <xsl:template match="int:GM03_2_1Core.Core.PT_URLGroup" mode="language"> + + <xsl:variable name="lang"> + <xsl:call-template name="locale"/> + </xsl:variable> + <che:URLGroup> + <che:LocalisedURL locale="#{$lang}"> + <xsl:value-of select="normalize-space(int:plainURL)"/> + </che:LocalisedURL> + </che:URLGroup> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="languageGroup"> + <xsl:param name="element" select="name()" /> + <xsl:element name="gmd:{$element}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + + <xsl:if test="*[local-name()=$element]/int:GM03_2_1Core.Core.PT_FreeText/int:textGroup/int:GM03_2_1Core.Core.PT_Group"> + <gmd:PT_FreeText> + <xsl:apply-templates select="*[local-name()=$element]/int:GM03_2_1Core.Core.PT_FreeText/int:textGroup/int:GM03_2_1Core.Core.PT_Group" mode="language"/> + </gmd:PT_FreeText> + </xsl:if> + </xsl:element> + </xsl:template> + + <xsl:template match="int:GM03_2_1Core.Core.PT_FreeText" mode="language"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + + <xsl:if test="int:textGroup/int:GM03_2_1Core.Core.PT_Group"> + <gmd:PT_FreeText> + <xsl:apply-templates select="int:textGroup/int:GM03_2_1Core.Core.PT_Group" mode="language"/> + </gmd:PT_FreeText> + </xsl:if> + </xsl:template> + + <xsl:template match="int:GM03_2_1Core.Core.PT_Group" mode="language"> + <xsl:variable name="lang"> + <xsl:call-template name="locale"/> + </xsl:variable> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#{$lang}"> + <xsl:value-of select="int:plainText"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="languageToIso3" match="text()"> + <xsl:variable name="lang" select="translate(., $LOWER, $UPPER)"/> + <xsl:choose> + <xsl:when test="$lang='DE'">ger</xsl:when> + <xsl:when test="$lang='FR'">fre</xsl:when> + <xsl:when test="$lang='IT'">ita</xsl:when> + <xsl:when test="$lang='EN'">eng</xsl:when> + <xsl:when test="$lang='RM'">roh</xsl:when> + <xsl:otherwise>ERROR_<xsl:value-of select="$lang"/></xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="language" match="int:CodeISO.LanguageCodeISO_"> + <gmd:language> + <gco:CharacterString><xsl:apply-templates mode="languageToIso3" select="int:value"/></gco:CharacterString> + </gmd:language> + </xsl:template> + + <xsl:template mode="language" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">language</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="real"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="real"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="real"> + <gco:Real> + <xsl:value-of select="."/> + </gco:Real> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="integerCHE"> + <xsl:element name="che:{local-name(.)}"> + <xsl:apply-templates mode="integer"/> + </xsl:element> + </xsl:template> + + <xsl:template match="*" mode="integer"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="integer"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="integer"> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="*" mode="boolean"> + <xsl:element name="gmd:{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="boolean"/> + </xsl:element> + </xsl:template> + + <xsl:template match="text()" mode="boolean"> + <gco:Boolean> + <xsl:choose> + <xsl:when test="translate(string(.),$UPPER,$LOWER) = 'false'">0</xsl:when> + <xsl:when test="translate(string(.),$UPPER,$LOWER) = 'true'">1</xsl:when> + <xsl:otherwise> + <xsl:value-of select="."/> + </xsl:otherwise> + </xsl:choose> + </gco:Boolean> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="string"> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="text" match="*"> + <xsl:param name="prefix">gmd</xsl:param> + <xsl:choose> + <xsl:when test="int:GM03_2_1Core.Core.PT_FreeText"> + <xsl:for-each select="int:GM03_2_1Core.Core.PT_FreeText"> + <xsl:element name="{$prefix}:{local-name(..)}"> + <xsl:apply-templates mode="language" select="."/> + </xsl:element> + </xsl:for-each> + </xsl:when> + <xsl:when test="int:GM03_2_1Core.Core.CharacterString_"> + <xsl:element name="{$prefix}:{local-name(.)}"> + <xsl:for-each select="int:GM03_2_1Core.Core.CharacterString_"> + <gco:CharacterString> + <xsl:value-of select="int:value"/> + </gco:CharacterString> + </xsl:for-each> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:element name="{$prefix}:{local-name(.)}"> + <xsl:apply-templates mode="string"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="textCHE" match="*"> + <xsl:choose> + <xsl:when test="int:GM03_2_1Core.Core.PT_FreeText"> + <xsl:for-each select="int:GM03_2_1Core.Core.PT_FreeText"> + <xsl:element name="che:{local-name(..)}"> + <xsl:apply-templates mode="language" select="."/> + </xsl:element> + </xsl:for-each> + </xsl:when> + <xsl:when test="int:GM03_2_1Core.Core.CharacterString_"> + <xsl:element name="che:{local-name(.)}"> + <xsl:for-each select="int:GM03_2_1Core.Core.CharacterString_"> + <gco:CharacterString> + <xsl:value-of select="int:value"/> + </gco:CharacterString> + </xsl:for-each> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:element name="che:{local-name(.)}"> + <xsl:apply-templates mode="string"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="date"> + <xsl:choose> + <xsl:when test="string-length(.)=0"> + </xsl:when> + <xsl:when test="string-length(.)&lt;=10"> + <gco:Date> + <xsl:value-of select="translate(., ':', '-')"/> + </gco:Date> + </xsl:when> + <xsl:when test="string-length(.)=16"> + <gco:Date> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/>:00 + </gco:Date> + </xsl:when> + <xsl:otherwise> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/> + </gco:DateTime> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()" mode="dateTime"> + <xsl:choose> + <xsl:when test="string-length(.)=0"> + </xsl:when> + <xsl:when test="string-length(.)&lt;=10"> + <gco:DateTime> + <xsl:value-of select="translate(., ':', '-')"/>T12:00:00 + </gco:DateTime> + </xsl:when> + <xsl:when test="string-length(.)=16"> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/>:00 + </gco:DateTime> + </xsl:when> + <xsl:otherwise> + <gco:DateTime> + <xsl:value-of select="translate(substring(., 0, 11), ':', '-')"/>T<xsl:value-of select="substring(., 12)"/> + </gco:DateTime> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="UnMatchedText"> + <xsl:param name="mode">???</xsl:param> + <xsl:if test="normalize-space(.)!=''"> + <ERROR mode="{$mode}" + tag="{name(../../../../../../..)}/{name(../../../../../..)}/{name(../../../../..)}/{name(../../../..)}/{name(../../..)}/{name(../..)}/{name(..)}" TID="{@TID}"> + <xsl:value-of select="."/> + </ERROR> + </xsl:if> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/citation.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/citation.xsl new file mode 100644 index 00000000000..1b0fe1918db --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/citation.xsl @@ -0,0 +1,148 @@ +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:template mode="Citation" match="int:GM03_2_1Comprehensive.Comprehensive.CI_Citation|int:GM03_2_1Core.Core.CI_Citation|int:citation"> + <gmd:CI_Citation> + <xsl:for-each select="int:title"> + <gmd:title> + <xsl:apply-templates mode="language"/> + </gmd:title> + </xsl:for-each> + <xsl:for-each select="int:alternateTitle/int:GM03_2_1Core.Core.PT_FreeText"> + <gmd:alternateTitle> + <xsl:apply-templates mode="language" select="."/> + </gmd:alternateTitle> + </xsl:for-each> + <xsl:if test="not(int:GM03_2_1Core.Core.CI_Date) and not(int:alternateTitle/int:GM03_2_1Core.Core.PT_FreeText)"> + <gmd:date/> + </xsl:if> + <xsl:for-each select="int:GM03_2_1Core.Core.CI_Date"> + <gmd:date> + <xsl:apply-templates select="." mode="CitationDate"/> + </gmd:date> + </xsl:for-each> + <xsl:for-each select="int:edition"> + <gmd:edition> + <xsl:apply-templates mode="string" select="."/> + </gmd:edition> + </xsl:for-each> + <xsl:for-each select="int:editionDate"> + <gmd:editionDate> + <xsl:apply-templates mode="date" select="."/> + </gmd:editionDate> + </xsl:for-each> + <xsl:for-each select="int:identifier|int:GM03_2_1Comprehensive.Comprehensive.CI_Citationidentifier/int:identifier"> + <gmd:identifier> + <xsl:apply-templates mode="Identifier"/> + </gmd:identifier> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty"> + <gmd:citedResponsibleParty> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:citedResponsibleParty> + </xsl:for-each> + <xsl:for-each select="int:presentationForm"> + <gmd:presentationForm> + <gmd:CI_PresentationFormCode codeList="./resources/codeList.xml#CI_PresentationFormCode" + codeListValue="{int:GM03_2_1Comprehensive.Comprehensive.CI_PresentationFormCode_/int:value}"/> + </gmd:presentationForm> + </xsl:for-each> + <xsl:for-each select="int:series/int:GM03_2_1Comprehensive.Comprehensive.CI_Series"> + <gmd:series> + <gmd:CI_Series> + <xsl:apply-templates mode="text" select="int:name"/> + <xsl:apply-templates mode="text" select="int:issueIdentification"/> + <xsl:apply-templates mode="text" select="int:page"/> + </gmd:CI_Series> + </gmd:series> + </xsl:for-each> + <xsl:for-each select="int:otherCitationDetails"> + <gmd:otherCitationDetails> + <xsl:apply-templates mode="language"/> + </gmd:otherCitationDetails> + </xsl:for-each> + <xsl:for-each select="int:collectiveTitle"> + <gmd:collectiveTitle> + <xsl:apply-templates mode="language"/> + </gmd:collectiveTitle> + </xsl:for-each> + <xsl:for-each select="int:ISBN"> + <gmd:ISBN> + <xsl:apply-templates mode="string"/> + </gmd:ISBN> + </xsl:for-each> + <xsl:for-each select="int:ISSN"> + <gmd:ISSN> + <xsl:apply-templates mode="string"/> + </gmd:ISSN> + </xsl:for-each> + </gmd:CI_Citation> + </xsl:template> + + <xsl:template mode="Citation" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Citation</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Citation" match="int:GM03_2_1Core.Core.CI_Date"> + <gmd:date> + <xsl:apply-templates select="." mode="CitationDate"/> + </gmd:date> + </xsl:template> + + <xsl:template mode="CitationDate" match="int:GM03_2_1Core.Core.CI_Date"> + <gmd:CI_Date> + <xsl:apply-templates mode="CitationDate"/> + </gmd:CI_Date> + </xsl:template> + + <xsl:template mode="CitationDate" match="int:date"> + <gmd:date> + <xsl:apply-templates mode="date" select="."/> + </gmd:date> + </xsl:template> + + <xsl:template mode="CitationDate" match="int:dateType"> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="./resources/codeList.xml#CI_DateTypeCode" codeListValue="{.}" /> + </gmd:dateType> + </xsl:template> + + <xsl:template mode="CitationDate" match="int:CI_Citation"/> + + <xsl:template mode="CitationDate" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">CitationDate</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Identifier" match="int:GM03_2_1Core.Core.MD_Identifier/int:code/int:GM03_2_1Core.Core.PT_FreeText/int:textGroup"> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString> + <xsl:value-of select="int:GM03_2_1Core.Core.PT_Group/int:plainText[1]"/> + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </xsl:template> + + <xsl:template mode="Identifier" match="int:GM03_2_1Comprehensive.Comprehensive.RS_Identifier"> + <xsl:apply-templates mode="MdIdent" select="." /> + </xsl:template> + + <xsl:template mode="Identifier" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Identifier</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/content.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/content.xsl new file mode 100644 index 00000000000..2112efd965e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/content.xsl @@ -0,0 +1,330 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml"> + + <xsl:template mode="Content" + match="int:GM03_2_1Comprehensive.Comprehensive.MD_CoverageDescription"> + <che:CHE_MD_CoverageDescription> + <xsl:apply-templates mode="Content" select="int:attributeDescription"/> + <xsl:apply-templates mode="Content" select="int:contentType"/> + <xsl:apply-templates mode="Content" select="int:GM03_2_1Comprehensive.Comprehensive.dimensionMD_CoverageDescription"/> + <xsl:apply-templates mode="Content" select="int:filmType"/> + <xsl:apply-templates mode="integerCHE" select="int:focalDistance"/> + </che:CHE_MD_CoverageDescription> + </xsl:template> + + <xsl:template mode="Content" match="int:filmType"> + <che:filmType> + <che:CHE_MD_FilmTypeCode codeList="?" codeListValue="{.}"/> + </che:filmType> + </xsl:template> + + <xsl:template mode="Content" match="int:attributeDescription"> + <gmd:attributeDescription> + <gco:RecordType> + <xsl:value-of select="."/> + </gco:RecordType> + </gmd:attributeDescription> + </xsl:template> + + <xsl:template mode="Content" match="int:contentType"> + <gmd:contentType> + <gmd:MD_CoverageContentTypeCode + codeList="./resources/codeList.xml#MD_CoverageContentTypeCode" + codeListValue="{.}"/> + </gmd:contentType> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.dimensionMD_CoverageDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="int:dimension"> + <gmd:dimension> + <xsl:apply-templates mode="Content"/> + </gmd:dimension> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Band"> + <gmd:MD_Band> + <xsl:apply-templates mode="Content" select="int:sequenceIdentifier"/> + <xsl:apply-templates mode="text" select="int:descriptor"/> + <xsl:apply-templates mode="real" select="int:maxValue"/> + <xsl:apply-templates mode="real" select="int:minValue"/> + <xsl:apply-templates mode="Content" select="int:units"/> + <xsl:apply-templates mode="real" select="int:peakResponse"/> + <xsl:apply-templates mode="integer" select="int:bitsPerValue"/> + <xsl:apply-templates mode="integer" select="int:toneGradation"/> + <xsl:apply-templates mode="real" select="int:scaleFactor"/> + <xsl:apply-templates mode="real" select="int:offset"/> + </gmd:MD_Band> + </xsl:template> + + <xsl:template mode="Content" match="int:sequenceIdentifier"> + <gmd:sequenceIdentifier> + <gco:MemberName> + <!-- TODO: what to put here? --> + <gco:aName> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </gco:MemberName> + </gmd:sequenceIdentifier> + </xsl:template> + + <xsl:template mode="Content" match="int:units"> + <xsl:variable name="unit" select="text()"/> + <gmd:units> + <xsl:copy-of select="document('../units.xml')//(gml:dictionaryEntry|gml320:dictionaryEntry)/*[@gml:id=$unit or @gml320:id=$unit]"/> + </gmd:units> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_ImageDescription"> + <che:CHE_MD_ImageDescription> + <!--<MD_ImageDescription>--> + <xsl:apply-templates mode="Content" select="int:attributeDescription"/> + <xsl:apply-templates mode="Content" select="int:contentType"/> + <xsl:apply-templates mode="Content" select="int:dimension"/> + + <xsl:apply-templates mode="real" select="int:illuminationElevationAngle"/> + <xsl:apply-templates mode="real" select="int:illuminationAzimuthAngle"/> + <xsl:apply-templates mode="Content" select="int:imagingCondition"/> + <xsl:apply-templates mode="Content" select="int:imageQualityCode"/> + <xsl:apply-templates mode="real" select="int:cloudCoverPercentage"/> + <xsl:apply-templates mode="Content" select="int:processingLevelCode"/> + <xsl:apply-templates mode="integer" select="int:compressionGenerationQuantity"/> + <xsl:apply-templates mode="boolean" select="int:triangulationIndicator"/> + <xsl:apply-templates mode="boolean" select="int:radiometricCalibrationDataAvailability"/> + <xsl:apply-templates mode="boolean" select="int:cameraCalibrationInformationAvailability"/> + <xsl:apply-templates mode="boolean" select="int:filmDistortionInformationAvailability"/> + <xsl:apply-templates mode="boolean" select="int:lensDistortionInformationAvailability"/> + + <xsl:apply-templates mode="Content" select="int:filmType"/> + <xsl:apply-templates mode="integerCHE" select="int:focalDistance"/> + <!--</MD_ImageDescription>--> + </che:CHE_MD_ImageDescription> + + </xsl:template> + + <xsl:template mode="Content" match="int:imagingCondition"> + <gmd:imagingCondition> + <gmd:MD_ImagingConditionCode codeList="./resources/codeList.xml#MD_ImagingConditionCode" codeListValue="{./@value|.}" /> + </gmd:imagingCondition> + </xsl:template> + + <xsl:template mode="Content" match="int:imageQualityCode|int:processingLevelCode"> + <xsl:element name="{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="Identifier"/> + </xsl:element> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_RangeDimension"> + <gmd:MD_RangeDimension> + <xsl:apply-templates mode="Content" select="int:sequenceIdentifier"/> + <xsl:apply-templates mode="text" select="int:descriptor"/> + </gmd:MD_RangeDimension> + </xsl:template> + + <!-- ==================================================================================== --> + + <xsl:template mode="Content" + match="int:GM03_2_1Comprehensive.Comprehensive.MD_FeatureCatalogueDescription"> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <xsl:for-each select="int:complianceCode"> + <gmd:complianceCode> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:complianceCode> + </xsl:for-each> + + <xsl:for-each select="int:language"> + <xsl:apply-templates mode="language" select="."/> + </xsl:for-each> + + <xsl:for-each select="int:includedWithDataset"> + <gmd:includedWithDataset> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:includedWithDataset> + </xsl:for-each> + + <xsl:for-each select="int:featureTypes"> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.GenericName_/int:value"> + <gmd:featureTypes> + <gco:LocalName><xsl:value-of select="."/></gco:LocalName> + </gmd:featureTypes> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.CI_Citation"> + <gmd:featureCatalogueCitation> + <xsl:apply-templates mode="Citation" select="."/> + </gmd:featureCatalogueCitation> + </xsl:for-each> + <xsl:if test="not(int:GM03_2_1Comprehensive.Comprehensive.CI_Citation)"> + <gmd:featureCatalogueCitation/> + </xsl:if> + + <xsl:for-each select="int:dataModel"> + <che:dataModel xsi:type="che:PT_FreeURL_PropertyType"> + <xsl:choose> + <xsl:when test="int:GM03_2_1Core.Core.PT_FreeURL"> + <xsl:apply-templates mode="language" select="int:GM03_2_1Core.Core.PT_FreeURL"/> + </xsl:when> + <xsl:otherwise> + <gmd:URL><xsl:value-of select="."/></gmd:URL> + </xsl:otherwise> + </xsl:choose> + </che:dataModel> + </xsl:for-each> + <xsl:apply-templates mode="Content" select="int:GM03_2_1Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription"/> + <xsl:apply-templates mode="Content" select="int:GM03_2_1Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription"/> + <xsl:choose> + <xsl:when test="int:modelType"> + <xsl:apply-templates mode="Content" select="int:modelType"/> + </xsl:when> + <xsl:otherwise> + <che:modelType> + <che:CHE_MD_modelTypeCode codeListValue="FeatureDescription" codeList="#che:CHE_MD_modelTypeCode" /> + </che:modelType> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="Content" select="int:GM03_2_1_2Comprehensive.Comprehensive.CI_Citation"/> + </che:CHE_MD_FeatureCatalogueDescription> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.domainMD_FeatureCatalogueDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="int:domain"> + <che:domain> + <xsl:apply-templates mode="Content"/> + </che:domain> + </xsl:template> + + <xsl:template mode="Content" match="int:modelType"> + <che:modelType> + <che:CHE_MD_modelTypeCode codeListValue="{.}" codeList="#che:CHE_MD_modelTypeCode" /> + </che:modelType> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_CodeDomain"> + <che:CHE_MD_CodeDomain> + <xsl:apply-templates mode="textCHE" select="int:name"/> + <xsl:apply-templates mode="textCHE" select="int:description"/> + <xsl:apply-templates mode="Content" select="int:type"/> + <xsl:apply-templates mode="Content" select="int:subDomain"/> + <xsl:apply-templates mode="Content" select="int:baseDomain"/> + </che:CHE_MD_CodeDomain> + </xsl:template> + + <xsl:template mode="Content" match="int:subDomain|int:baseDomain"> + <xsl:element name="che:{local-name()}"> + <xsl:apply-templates mode="Content"/> + </xsl:element> + </xsl:template> + + <xsl:template mode="Content" match="int:type"> + <che:type> + <xsl:apply-templates mode="Content"/> + </che:type> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Type"> + <!--<che:CHE_MD_Type>--> + <xsl:apply-templates mode="textCHE" select="int:type"/> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.MD_CodeValue"> + <che:value> + <xsl:apply-templates mode="Content" select="."/> + </che:value> + </xsl:for-each> + <!--</che:CHE_MD_Type>--> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_CodeValue"> + <che:CHE_MD_CodeValue> + <xsl:apply-templates mode="textCHE" select="int:name"/> + <xsl:apply-templates mode="textCHE" select="int:code"/> + <xsl:apply-templates mode="textCHE" select="int:description"/> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.MD_CodeValue"> + <che:subValue> + <xsl:apply-templates mode="Content" select="."/> + </che:subValue> + </xsl:for-each> + </che:CHE_MD_CodeValue> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.classMD_FeatureCatalogueDescription"> + <xsl:apply-templates mode="Content"/> + </xsl:template> + + <xsl:template mode="Content" match="int:class"> + <che:class> + <xsl:apply-templates mode="Content"/> + </che:class> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Class"> + <che:CHE_MD_Class> + <xsl:apply-templates mode="textCHE" select="int:name"/> + <che:description> + <xsl:apply-templates mode="language" select="int:description/*"/> + </che:description> + <xsl:apply-templates mode="Content" select="int:GM03_2_1Comprehensive.Comprehensive.MD_Attribute"/> + <xsl:apply-templates mode="Content" select=".//baseClass"/> <!-- TODO --> + <xsl:apply-templates mode="Content" select=".//subClass"/> <!-- TODO --> + </che:CHE_MD_Class> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Attribute"> + <che:attribute> + <xsl:apply-templates mode="textCHE" select="int:name"/> + <xsl:apply-templates mode="textCHE" select="int:description"/> + <che:namedType> + <xsl:apply-templates mode="Content" select="int:GM03_2_1Comprehensive.Comprehensive.MD_AttributenamedType"/> + </che:namedType> + <xsl:apply-templates mode="Content" select="int:anonymousType"/> + </che:attribute> + </xsl:template> + + <xsl:template mode="Content" match="int:GM03_2_1Comprehensive.Comprehensive.MD_AttributenamedType"> + <xsl:apply-templates mode="Content" select="int:namedType/int:GM03_2_1Comprehensive.Comprehensive.MD_CodeDomain"/> + </xsl:template> + + <xsl:template mode="Content" match="int:anonymousType"> + <che:anonymousType> + <che:CHE_MD_Type> + <xsl:apply-templates mode="textCHE" select="int:GM03_2_1Comprehensive.Comprehensive.MD_Type/int:type"/> + <che:value> + <xsl:apply-templates mode="Content" select="int:GM03_2_1Comprehensive.Comprehensive.MD_Type/int:GM03_2_1Comprehensive.Comprehensive.MD_CodeValue"/> + </che:value> + </che:CHE_MD_Type> + </che:anonymousType> + </xsl:template> + + <xsl:template mode="Content" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Content</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/data-quality.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/data-quality.xsl new file mode 100644 index 00000000000..f257bcf4a54 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/data-quality.xsl @@ -0,0 +1,417 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmi="http://www.isotc211.org/2005/gmi" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:java="http://xml.apache.org/xslt/java" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="int java" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + > + + <xsl:template match="int:GM03_2_1Core.Core.DQ_DataQuality" mode="DataQuality"> + <!-- if DataQuality is empty then don't add it as it makes the document invalid --> + <xsl:if test="count(./node())>0"> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2_1Comprehensive.Comprehensive.DQ_Scope|int:GM03_2_1Core.Core.DQ_Scope"/> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2_1Comprehensive.Comprehensive.reportDQ_DataQuality"/> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2_1Core.Core.LI_Lineage"/> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + </xsl:if> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.reportDQ_DataQuality"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:report"> + <xsl:apply-templates mode="DataQuality"/> + </xsl:template> + + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_TemporalValidity"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TemporalValidity</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_TemporalConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TemporalConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_AccuracyOfATimeMeasurement"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_AccuracyOfATimeMeasurement</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_QuantitativeAttributeAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_QuantitativeAttributeAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_NonQuantitativeAttributeAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_NonQuantitativeAttributeAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_ThematicClassificationCorrectness"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_ThematicClassificationCorrectness</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_RelativeInternalPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_RelativeInternalPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_GriddedDataPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_GriddedDataPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_AbsoluteExternalPositionalAccuracy"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_AbsoluteExternalPositionalAccuracy</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_TopologicalConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_TopologicalConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_FormatConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_FormatConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_DomainConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_DomainConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_ConceptualConsistency"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_ConceptualConsistency</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_CompletenessOmission"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_CompletenessOmission</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_CompletenessCommission"> + <xsl:apply-templates mode="DQ_Element" select="."> + <xsl:with-param name="reportName">DQ_CompletenessCommission</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="DQ_Element" match="*"> + <xsl:param name="reportName">unknown</xsl:param> + <gmd:report> + <xsl:element name="gmd:{string($reportName)}" + namespace="http://www.isotc211.org/2005/gmd"> + <xsl:apply-templates mode="text" select="int:nameOfMeasure"/> + <xsl:apply-templates mode="DataQualityReport" select="int:measureIdentification"/> + <xsl:apply-templates mode="text" select="int:measureDescription"/> + <xsl:apply-templates mode="DataQualityReport" select="int:evaluationMethodType"/> + <xsl:apply-templates mode="text" select="int:evaluationMethodDescription"/> + <xsl:apply-templates mode="DataQualityReport" select="int:evaluationProcedure"/> + <xsl:apply-templates mode="DataQualityReport" select="int:dateTime"/> + <xsl:apply-templates mode="DataQualityReport" select="int:GM03_2_1Comprehensive.Comprehensive.DQ_ConformanceResult"/> + <xsl:apply-templates mode="DataQualityReport" select="int:GM03_2_1Comprehensive.Comprehensive.DQ_QuantitativeResult"/> + </xsl:element> + </gmd:report> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:measureIdentification"> + <gmd:measureIdentification> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + <xsl:apply-templates mode="language" select="."/> + </gmd:code> + </gmd:MD_Identifier> + </gmd:measureIdentification> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:dateTime"> + <gmd:dateTime> + <xsl:apply-templates mode="dateTime"/> + </gmd:dateTime> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:evaluationMethodType"> + <gmd:evaluationMethodType> + <gmd:DQ_EvaluationMethodTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DQ_EvaluationMethodTypeCode" codeListValue="{normalize-space(.)}"/> + </gmd:evaluationMethodType> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:evaluationProcedure"> + <gmd:TODO>evaluationProcedure</gmd:TODO> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_ConformanceResult"> + <gmd:result> + <gmd:DQ_ConformanceResult> + <xsl:choose> + <xsl:when test="not(int:GM03_2_1Comprehensive.Comprehensive.CI_Citation)"> + <xsl:call-template name="specificationStub" /> + </xsl:when> + <xsl:otherwise> + <gmd:specification> + <xsl:apply-templates mode="Citation" select="int:GM03_2_1Comprehensive.Comprehensive.CI_Citation" /> + </gmd:specification> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="text" select="int:explanation"/> + <xsl:apply-templates mode="boolean" select="int:pass"/> + </gmd:DQ_ConformanceResult> + </gmd:result> + </xsl:template> + + <xsl:template name="specificationStub"> + <xsl:variable name="date" + select="java:format(java:java.text.SimpleDateFormat.new('yyyy-MM-dd'), + java:java.util.Date.new())"></xsl:variable> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xsi:type="PT_FreeText_PropertyType" gco:nilReason="missing"> + <gco:CharacterString></gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date><xsl:value-of select="$date"/></gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_QuantitativeResult"> + <gmd:result> + <gmd:DQ_QuantitativeResult> + <xsl:apply-templates mode="DataQualityReport" select="int:valueType"/> + <xsl:apply-templates mode="DataQualityReport" select="int:valueUnit"/> + <xsl:apply-templates mode="text" select="int:errorStatistic"/> + <xsl:apply-templates mode="DataQualityReport" select="int:value"/> + </gmd:DQ_QuantitativeResult> + </gmd:result> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:valueType"> + <gmd:valueType> + <gco:RecordType> + <xsl:value-of select="."/> + </gco:RecordType> + </gmd:valueType> + </xsl:template> + + <xsl:template mode="DataQualityReport" match="int:valueUnit"> + <gmd:valueUnit> + <gml:BaseUnit gml:id="m"> + <gml:identifier codeSpace="http://www.bipm.org/en/si/base_units/l">metre</gml:identifier> + <gml:name codeSpace="http://www.bipm.org/en/si/base_units/l">metre</gml:name> + <gml:name>meter</gml:name> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.org/en/si/base_units/">m</gml:catalogSymbol> + <gml:unitsSystem xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.bipm.fr/en/si"/> + </gml:BaseUnit> + </gmd:valueUnit> + </xsl:template> + + + <xsl:template mode="DataQualityReport" match="int:value"> + <gmd:value> + <gco:Record> + <xsl:choose> + <xsl:when test=".//int:XMLBLBOX"> + <xsl:copy-of select=".//int:XMLBLBOX/*"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select=".//int:value"/> + </xsl:otherwise> + </xsl:choose> + </gco:Record> + </gmd:value> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Core.Core.LI_Lineage"> + <gmd:lineage> + <gmd:LI_Lineage> + <xsl:apply-templates mode="DataQuality"/> + </gmd:LI_Lineage> + </gmd:lineage> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.LI_ProcessStep"> + <gmd:processStep> + <xsl:apply-templates mode="ProcessStep" select="." /> + </gmd:processStep> + </xsl:template> + + <xsl:template mode="ProcessStep" match="int:GM03_2_1Comprehensive.Comprehensive.LI_ProcessStep"> + <gmd:LI_ProcessStep> + <xsl:apply-templates mode="text" select="int:description"/> + <xsl:apply-templates mode="text" select="int:rationale"/> + <xsl:if test="normalize-space(int:dateTime) != ''"> + <gmd:dateTime> + <xsl:apply-templates mode="dateTime" select="int:dateTime"/> + </gmd:dateTime> + </xsl:if> + <xsl:apply-templates mode="DataQuality" select="int:processor"/> + </gmd:LI_ProcessStep> </xsl:template> + + <xsl:template mode="DataQuality" match="int:source"> + <gmd:source> + <xsl:apply-templates mode="DataQuality" /> + </gmd:source> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.LI_Source"> + <gmd:LI_Source> + <xsl:apply-templates mode="text" select="int:description"/> + <xsl:apply-templates mode="DataQuality" select="int:scaleDenominator"/> + <xsl:apply-templates mode="DataQuality" select="int:sourceReferenceSystem"/> + <xsl:apply-templates mode="DataQuality" select="int:sourceCitation"/> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2_1Core.Core.EX_Extent"/> + <xsl:apply-templates mode="DataQuality" select="int:sourceStep"/> + </gmd:LI_Source> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:sourceReferenceSystem"> + <gmd:sourceReferenceSystem> + <xsl:apply-templates mode="RefSystem"/> + </gmd:sourceReferenceSystem> + </xsl:template> + <xsl:template mode="DataQuality" match="int:sourceStep"> + <gmd:sourceStep> + <xsl:apply-templates mode="ProcessStep"/> + </gmd:sourceStep> + </xsl:template> + <xsl:template mode="DataQuality" match="int:sourceCitation"> + <gmd:sourceCitation> + <xsl:apply-templates mode="Citation"/> + </gmd:sourceCitation> + </xsl:template> + <xsl:template mode="DataQuality" match="int:GM03_2_1Core.Core.EX_Extent"> + <gmd:sourceExtent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_Extent> + </gmd:sourceExtent> + </xsl:template> + <xsl:template mode="DataQuality" match="int:scaleDenominator"> + <gmd:scaleDenominator> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:scaleDenominator> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Comprehensive.Comprehensive.DQ_Scope|int:GM03_2_1Core.Core.DQ_Scope"> + <gmd:scope> + <gmd:DQ_Scope> + <xsl:apply-templates mode="DataQuality" select="int:level"/> + <xsl:apply-templates mode="DataQuality" select="int:extent"/> + <xsl:if test="normalize-space(int:description) != ''"> + <gmd:levelDescription> + <gmd:MD_ScopeDescription> + <gmd:other> + <xsl:apply-templates mode="text" select="int:description"/> + </gmd:other> + </gmd:MD_ScopeDescription> + </gmd:levelDescription> + </xsl:if> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2_1Comprehensive.Comprehensive.DQ_Scopeextent/*"/> + <xsl:apply-templates mode="DataQuality" select="int:GM03_2_1Core.Core.MD_ScopeDescription|int:GM03_2_1Comprehensive.Comprehensive.MD_ScopeDescription"/> + </gmd:DQ_Scope> + </gmd:scope> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:extent"> + <xsl:apply-templates mode="Extent"/> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:GM03_2_1Core.Core.MD_ScopeDescription|int:GM03_2_1Comprehensive.Comprehensive.MD_ScopeDescription"> + <gmd:levelDescription> + <gmd:MD_ScopeDescription> + <xsl:apply-templates mode="DataQuality" select="int:attributes"/> + <xsl:apply-templates mode="DataQuality" select="int:features"/> + <xsl:apply-templates mode="DataQuality" select="int:featureInstances"/> + <xsl:apply-templates mode="DataQuality" select="int:attributeInstances"/> + <xsl:apply-templates mode="text" select="int:dataset"/> + <xsl:apply-templates mode="text" select="int:other"/> + </gmd:MD_ScopeDescription> + </gmd:levelDescription> + </xsl:template> + + <xsl:template mode="DataQuality" match="int:attributes|int:features|int:featureInstances|int:attributeInstances"> + <!-- TODO: I don't know what to put --> + <!--<xsl:element name="{local-name(.)}">--> + <!--<LocalisedURL>--> + <!--<xsl:value-of select="."/>--> + <!--</LocalisedURL>--> + <!--</xsl:element>--> + </xsl:template> + + <!-- ============================================================================== --> + + <xsl:template match="int:statement" mode="DataQuality"> + <gmd:statement> + <xsl:apply-templates mode="language"/> + </gmd:statement> + </xsl:template> + + <!-- ============================================================================== --> + + <xsl:template match="int:level" mode="DataQuality"> + <gmd:level> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{normalize-space(.)}"/> + </gmd:level> + </xsl:template> + + <xsl:template match="int:DQ_DataQuality" mode="DataQuality"/> + + <!-- ============================================================================== --> + + <xsl:template mode="DataQualityReport" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQuality</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="DQ_Element" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQuality</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="DataQuality" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataQualityReport</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/distribution.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/distribution.xsl new file mode 100644 index 00000000000..393a5a169ee --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/distribution.xsl @@ -0,0 +1,185 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="Distribution" match="int:GM03_2_1Core.Core.MD_Distribution"> + <gmd:MD_Distribution> + <xsl:choose> + <xsl:when test="int:GM03_2_1Core.Core.MD_DistributiondistributionFormat"> + <xsl:for-each select="int:GM03_2_1Core.Core.MD_DistributiondistributionFormat"> + <gmd:distributionFormat> + <xsl:apply-templates mode="ResourceFormat"> + <xsl:with-param name="loop">1</xsl:with-param> + </xsl:apply-templates> + </gmd:distributionFormat> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>N/A</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>N/A</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="int:GM03_2_1Core.Core.MD_Distributiondistributor|int:GM03_2_1Comprehensive.Comprehensive.MD_Distributiondistributor"> + <gmd:distributor> + <xsl:apply-templates select="." mode="Distributor"/> + </gmd:distributor> + </xsl:for-each> + + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.MD_DigitalTransferOptions|int:GM03_2_1Core.Core.MD_DigitalTransferOptions"> + <gmd:transferOptions> + <xsl:apply-templates mode="Distribution" select="." /> + </gmd:transferOptions> + </xsl:for-each> + </gmd:MD_Distribution> + </xsl:template> + + <xsl:template mode="Distribution" match="int:GM03_2_1Comprehensive.Comprehensive.MD_DigitalTransferOptions|int:GM03_2_1Core.Core.MD_DigitalTransferOptions"> + <gmd:MD_DigitalTransferOptions> + <xsl:apply-templates mode="text" select="int:unitsOfDistribution"/> + <xsl:apply-templates mode="real" select="int:transferSize"/> + <xsl:apply-templates mode="Distribution" select="int:GM03_2_1Core.Core.CI_OnlineResource"/> + <xsl:apply-templates mode="Distribution" select="int:offLine"/> + </gmd:MD_DigitalTransferOptions> + </xsl:template> + + <xsl:template mode="Distribution" match="int:GM03_2_1Core.Core.CI_OnlineResource"> + <gmd:onLine> + <xsl:apply-templates select="." mode="OnlineResource"/> + </gmd:onLine> + </xsl:template> + + <xsl:template mode="Distribution" match="int:offLine"> + <gmd:offLine> + <xsl:apply-templates mode="Distribution"/> + </gmd:offLine> + </xsl:template> + + <xsl:template mode="Distribution" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Medium"> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="./resources/codeList.xml#MD_MediumNameCode" codeListValue="{.}"/> + </gmd:name> + <xsl:apply-templates mode="real" select="int:density"/> + <xsl:apply-templates mode="text" select="int:densityUnits"/> + <xsl:apply-templates mode="integer" select="int:volumes"/> + <xsl:apply-templates mode="text" select="int:mediumFormat"/> + </gmd:MD_Medium> + </xsl:template> + + <xsl:template mode="Distribution" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Distribution</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="OnlineResource" match="int:GM03_2_1Core.Core.CI_OnlineResource"> + <gmd:CI_OnlineResource> + <xsl:for-each select="int:linkage"> + <gmd:linkage> + <xsl:apply-templates mode="language"/> + </gmd:linkage> + </xsl:for-each> + + <xsl:for-each select="int:name"> + <gmd:name> + <xsl:apply-templates mode="language"/> + </gmd:name> + </xsl:for-each> + + <xsl:for-each select="int:description"> + <gmd:description> + <xsl:apply-templates mode="language"/> + </gmd:description> + </xsl:for-each> + + <xsl:for-each select="int:function"> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="./resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="{.}"/> + </gmd:function> + </xsl:for-each> + </gmd:CI_OnlineResource> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Format" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Format|int:GM03_2_1Core.Core.MD_Format"> + <xsl:apply-templates mode="ResourceFormat" select="."> + <xsl:with-param name="loop">1</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="Format" match="int:formatDistributor"> + <gmd:formatDistributor> + <xsl:apply-templates mode="Distributor"/> + </gmd:formatDistributor> + </xsl:template> + + <xsl:template mode="Format" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Distributor</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Distributor" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Distributor"> + <gmd:MD_Distributor> + <xsl:for-each select="int:distributorContact"> + <gmd:distributorContact> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:distributorContact> + </xsl:for-each> + + <xsl:apply-templates mode="Distributor" select="int:GM03_2_1Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor"/> + <xsl:apply-templates mode="Distributor" select="int:GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat"/> + <xsl:if test="not(ancestor::int:GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat)"> + <xsl:apply-templates mode="Distributor" select="/int:GM03_2_1Comprehensive.Comprehensive/int:GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat"/> + </xsl:if> + <xsl:apply-templates mode="Distributor" select="int:GM03_2_1Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor"/> + </gmd:MD_Distributor> + </xsl:template> + + <xsl:template mode="Distributor" match="int:GM03_2_1Comprehensive.Comprehensive.distributionOrderProcessMD_Distributor"> + <gmd:distributionOrderProcess> + <xsl:apply-templates mode="Distributor" select="int:distributionOrderProcess/int:GM03_2_1Comprehensive.Comprehensive.MD_StandardOrderProcess"/> + </gmd:distributionOrderProcess> + </xsl:template> + <xsl:template mode="Distributor" match="int:GM03_2_1Comprehensive.Comprehensive.MD_StandardOrderProcess"> + <gmd:MD_StandardOrderProcess> + <xsl:apply-templates mode="text" select="int:fees"/> + <xsl:for-each select="int:plannedAvailableDateTime"> + <gmd:plannedAvailableDateTime> + <xsl:apply-templates mode="dateTime" select="."/> + </gmd:plannedAvailableDateTime> + </xsl:for-each> + <xsl:apply-templates mode="text" select="int:orderingInstructions"/> + <xsl:apply-templates mode="text" select="int:turnaround"/> + </gmd:MD_StandardOrderProcess> + </xsl:template> + <xsl:template mode="Distributor" match="int:GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat"> + <gmd:distributorFormat> + <xsl:apply-templates mode="Format" select="int:distributorFormat/int:GM03_2_1Comprehensive.Comprehensive.MD_Format"/> + </gmd:distributorFormat> + </xsl:template> + <xsl:template mode="Distributor" match="int:GM03_2_1Comprehensive.Comprehensive.distributorTransferOptionsMD_Distributor"> + <gmd:distributorTransferOptions> + <xsl:apply-templates mode="Distribution" select="int:distributorTransferOptions/int:GM03_2_1Comprehensive.Comprehensive.MD_DigitalTransferOptions"/> + </gmd:distributorTransferOptions> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/extent.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/extent.xsl new file mode 100644 index 00000000000..87f35bc617c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/extent.xsl @@ -0,0 +1,405 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:cheutil="java:org.fao.geonet.schema.iso19139che.ISO19139cheUtil" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all" + xmlns:int="http://www.interlis.ch/INTERLIS2.3"> + + <xsl:template mode="Extent" match="int:GM03_2_1Core.Core.EX_Extent"> + <xsl:choose> + <xsl:when test="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[.//int:GM03_2_1Core.Core.EX_BoundingPolygon]"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="int:description"/> + + <xsl:variable name="polygon"> + <xsl:if test="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[.//int:GM03_2_1Core.Core.EX_BoundingPolygon]"> + <xsl:apply-templates mode="Extent" select="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[.//int:GM03_2_1Core.Core.EX_BoundingPolygon]"/> + </xsl:if> + </xsl:variable> + <xsl:if test="normalize-space($polygon) != ''"> + <gmd:geographicElement> + <xsl:copy-of select="cheutil:multipolygon(string(int:description), $polygon)"/> + </gmd:geographicElement> + <xsl:if test="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[.//int:GM03_2_1Core.Core.EX_GeographicBoundingBox]"> + <gmd:geographicElement> + <xsl:copy-of select="cheutil:bbox(string(int:description), $polygon)"/> + </gmd:geographicElement> + </xsl:if> + </xsl:if> + <xsl:apply-templates mode="Extent" select="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2_1Core.Core.EX_BoundingPolygon or .//int:GM03_2_1Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:when> + <xsl:when test="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[.//int:GM03_2_1Core.Core.EX_GeographicBoundingBox]"> + <xsl:for-each select="int:GM03_2_1Core.Core.EX_ExtentgeographicElement//int:GM03_2_1Core.Core.EX_GeographicBoundingBox"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="ancestor::int:GM03_2_1Core.Core.EX_Extent/int:description"/> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="."/> + </gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2_1Core.Core.EX_BoundingPolygon or .//int:GM03_2_1Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="int:description"/> + <xsl:apply-templates mode="Extent" select="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2_1Core.Core.EX_BoundingPolygon or .//int:GM03_2_1Core.Core.EX_GeographicBoundingBox)]"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select=".//int:GM03_2_1Core.Core.EX_ExtenttemporalElement[not(temporalElement/int:GM03_2_1Core.Core.EX_SpatialTemporalExtent)]"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Temporal"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + <xsl:if test=".//int:GM03_2_1Core.Core.EX_ExtenttemporalElement[temporalElement/int:GM03_2_1Core.Core.EX_SpatialTemporalExtent]"> + <xsl:comment>TODO int:GM03_2_1Core.Core.EX_ExtenttemporalElement without TM_Primitive</xsl:comment> + <!-- Remove the not(temporalElement/int:GM03_2_1Core.Core.EX_SpatialTemporalExtent) from previous for-each and fix the spatial temporal. + It seems to be that XslUtil mutlipolygon and bbox expect the normal extent and cannot handle spatialExtent --> + </xsl:if> + <xsl:for-each select=".//int:GM03_2_1Core.Core.EX_VerticalExtent"> + <gmd:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_Extent> + </gmd:extent> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Extent" match="int:description"> + <gmd:description> + <xsl:apply-templates mode="language"/> + </gmd:description> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Extent" match="int:geographicElement[not(int:GM03_2_1Core.Core.EX_GeographicBoundingBox|int:GM03_2_1Core.Core.EX_BoundingPolygon)]"> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent"/> + </gmd:geographicElement> + </xsl:template> + + <xsl:template mode="Extent" match="int:geographicElement[int:GM03_2_1Core.Core.EX_BoundingPolygon]"> + <xsl:for-each select="int:GM03_2_1Core.Core.EX_BoundingPolygon"> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="."/> + </gmd:geographicElement> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Extent" match="int:geographicElement[int:GM03_2_1Core.Core.EX_GeographicBoundingBox]"> + <xsl:choose> + <xsl:when test="ancestor::int:GM03_2_1Core.Core.EX_Extent//int:GM03_2_1Core.Core.EX_BoundingPolygon"> + <xsl:comment> + GeographicBBox elements an associated Polygon are ignored + </xsl:comment> + </xsl:when> + <xsl:otherwise> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="int:GM03_2_1Core.Core.EX_GeographicBoundingBox"/> + </gmd:geographicElement> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="Extent" match="int:GM03_2_1Core.Core.EX_GeographicDescription"> + <gmd:EX_GeographicDescription> + <xsl:apply-templates mode="Extent"/> + </gmd:EX_GeographicDescription> + </xsl:template> + + <xsl:template mode="Extent" match="int:extentTypeCode"> + <gmd:extentTypeCode> + <gco:Boolean> + <xsl:value-of select="."/> + </gco:Boolean> + </gmd:extentTypeCode> + </xsl:template> + + <xsl:template mode="Extent" match="int:geographicIdentifier"> + <gmd:geographicIdentifier> + <xsl:apply-templates mode="Identifier"/> + </gmd:geographicIdentifier> + </xsl:template> + + <xsl:template mode="Extent" match="int:GM03_2_1Core.Core.EX_BoundingPolygon"> + <gmd:EX_BoundingPolygon> + <xsl:apply-templates mode="BoundingPoly"/> + </gmd:EX_BoundingPolygon> + </xsl:template> + + <xsl:template mode="Extent" match="int:GM03_2_1Core.Core.EX_GeographicBoundingBox[not(ancestor::int:GM03_2_1Core.Core.EX_Extent//int:GM03_2_1Core.Core.EX_BoundingPolygon)]"> + <gmd:EX_GeographicBoundingBox> + <xsl:apply-templates mode="BoundingPoly" select="int:extentTypeCode"/> + <gmd:westBoundLongitude><xsl:apply-templates mode="ExtentCoord" select="int:westBoundLongitude"/></gmd:westBoundLongitude> + <gmd:eastBoundLongitude><xsl:apply-templates mode="ExtentCoord" select="int:eastBoundLongitude"/></gmd:eastBoundLongitude> + <gmd:southBoundLatitude><xsl:apply-templates mode="ExtentCoord" select="int:southBoundLatitude"/></gmd:southBoundLatitude> + <gmd:northBoundLatitude><xsl:apply-templates mode="ExtentCoord" select="int:northBoundLatitude"/></gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </xsl:template> + + <xsl:template mode="ExtentCoord" match="text()"> + <gco:Decimal><xsl:value-of select="."/></gco:Decimal> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Temporal" match="int:GM03_2_1Core.Core.EX_ExtenttemporalElement/int:temporalElement"> + <gmd:temporalElement> + <xsl:apply-templates mode="Temporal"/> + </gmd:temporalElement> + </xsl:template> + + <xsl:template mode="Temporal" match="int:GM03_2_1Core.Core.EX_TemporalExtent"> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{util:randomId()}"> + <xsl:apply-templates mode="TimePeriod"/> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </xsl:template> + + <xsl:template mode="Temporal" match="int:GM03_2_1Core.Core.EX_SpatialTemporalExtent"> + <xsl:comment>Need to implement spatialExtent import</xsl:comment> + <!-- <gmd:EX_SpatialTemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{util:randomId()}"> + <xsl:apply-templates mode="TimePeriod" select="int:extent"/> + </gml:TimePeriod> + </gmd:extent> + <xsl:apply-templates mode="Temporal" select="int:GM03_2_1Core.Core.spatialExtentEX_SpatialTemporalExtent"/> + </gmd:EX_SpatialTemporalExtent> --> + </xsl:template> + + <xsl:template mode="TemporalExtent" + match="int:GM03_2_1Core.Core.spatialExtentEX_SpatialTemporalExtent"> + <xsl:comment>Need to implement spatialExtent import</xsl:comment> + <xsl:choose> + <xsl:when test="int:spatialExtent[.//int:GM03_2_1Core.Core.EX_BoundingPolygon]"> + <gmd:spatialExtent> + <xsl:comment> + spatialExtent[.//int:GM03_2_1Core.Core.EX_BoundingPolygon] + </xsl:comment> + <xsl:apply-templates mode="Extent" select="int:description" /> + + <xsl:variable name="polygon"> + <xsl:if test="int:spatialExtent[.//int:GM03_2_1Core.Core.EX_BoundingPolygon]"> + <xsl:apply-templates mode="Extent" + select="int:spatialExtent[.//int:GM03_2_1Core.Core.EX_BoundingPolygon]" /> + </xsl:if> + </xsl:variable> + <xsl:if test="normalize-space($polygon) != ''"> + <xsl:copy-of select="cheutil:multipolygon(string(int:description), $polygon)" /> + <xsl:if test="int:spatialExtent[.//int:GM03_2_1Core.Core.EX_GeographicBoundingBox]"> + <xsl:copy-of select="cheutil:bbox(string(int:description), $polygon)" /> + </xsl:if> + </xsl:if> + <xsl:apply-templates mode="Extent" + select="int:spatialExtent[not(.//int:GM03_2_1Core.Core.EX_BoundingPolygon or .//int:GM03_2_1Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:when> + <xsl:when test="int:spatialExtent[.//int:GM03_2_1Core.Core.EX_GeographicBoundingBox]"> + <xsl:for-each + select="int:spatialExtent//int:GM03_2_1Core.Core.EX_GeographicBoundingBox"> + <gmd:spatialExtent> + <xsl:comment> + spatialExtent//int:GM03_2_1Core.Core.EX_GeographicBoundingBox + </xsl:comment> + <xsl:apply-templates mode="Extent" + select="ancestor::int:GM03_2_1Core.Core.EX_Extent/int:description" /> + <gmd:geographicElement> + <xsl:apply-templates mode="Extent" select="." /> + </gmd:geographicElement> + <xsl:apply-templates mode="Extent" + select="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2_1Core.Core.EX_BoundingPolygon or .//int:GM03_2_1Core.Core.EX_GeographicBoundingBox)]|spatialExtent[not(.//int:GM03_2_1Core.Core.EX_BoundingPolygon or .//int:GM03_2_1Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <gmd:spatialExtent> + <xsl:comment> + otherwise + </xsl:comment> + <xsl:apply-templates mode="Extent" select="int:description" /> + <xsl:apply-templates mode="Extent" + select="int:GM03_2_1Core.Core.EX_ExtentgeographicElement[not(.//int:GM03_2_1Core.Core.EX_BoundingPolygon or .//int:GM03_2_1Core.Core.EX_GeographicBoundingBox)]|spatialExtent[not(.//int:GM03_2_1Core.Core.EX_BoundingPolygon or .//int:GM03_2_1Core.Core.EX_GeographicBoundingBox)]" /> + </gmd:spatialExtent> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select=".//int:GM03_2_1Core.Core.EX_ExtenttemporalElement"> + <gmd:spatialExtent> + <xsl:comment> + .//int:GM03_2_1Core.Core.EX_ExtenttemporalElement + </xsl:comment> + <xsl:apply-templates mode="Temporal" /> + </gmd:spatialExtent> + </xsl:for-each> + <xsl:for-each select=".//int:GM03_2_1Core.Core.EX_VerticalExtent"> + <gmd:spatialExtent> + <xsl:comment> + .//int:GM03_2_1Core.Core.EX_VerticalExtent + </xsl:comment> + <xsl:apply-templates mode="Extent" /> + </gmd:spatialExtent> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="Temporal" match="int:GM03_2_1Core.Core.spatialExtentEX_SpatialTemporalExtent"> + <xsl:apply-templates mode="TemporalExtent" select="."/> + </xsl:template> + + <xsl:template mode="Temporal" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Temporal</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="TimePeriod" match="int:begin"> + <gml:begin> + <xsl:apply-templates mode="TimeInstant" select="."/> + </gml:begin> + </xsl:template> + <xsl:template mode="TimePeriod" match="int:end"> + <gml:end> + <xsl:apply-templates mode="TimeInstant" select="."/> + </gml:end> + </xsl:template> + + <xsl:template mode="TimeInstant" match="*"> + <xsl:variable name="time"> + <xsl:apply-templates mode="dateTime"/> + </xsl:variable> + <gml:TimeInstant gml:id="{util:randomId()}"> + <gml:timePosition> + <xsl:value-of select="normalize-space($time//text())"/> + </gml:timePosition> + </gml:TimeInstant> + </xsl:template> + <!-- ================================================================================= --> + + <xsl:template mode="BoundingPoly" match="int:extentTypeCode"> + <gmd:extentTypeCode> + <gco:Boolean> + <xsl:value-of select="."/> + </gco:Boolean> + </gmd:extentTypeCode> + </xsl:template> + + <xsl:template mode="BoundingPoly" match="int:polygon"> + <gmd:polygon> + <xsl:apply-templates mode="GM_Object" select="."/> + </gmd:polygon> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="GM_Object" match="int:polygon"> + <gml:Polygon gml:id="{generate-id(.)}"> + <xsl:apply-templates mode="GM_Object"/> + </gml:Polygon> + </xsl:template> + + <xsl:template mode="GM_Object" match="int:SURFACE"> + <xsl:for-each select="int:BOUNDARY"> + <xsl:choose> + <xsl:when test="position() = 1"> + <gml:exterior> + <xsl:apply-templates mode="GM_Object" select="."/> + </gml:exterior> + </xsl:when> + <xsl:otherwise> + <gml:interior> + <xsl:apply-templates mode="GM_Object" select="."/> + </gml:interior> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="GM_Object" match="int:BOUNDARY"> + <gml:LinearRing> + <xsl:apply-templates mode="GM_Object" select="int:POLYLINE"/> + </gml:LinearRing> + </xsl:template> + + <xsl:template mode="GM_Object" match="int:POLYLINE"> + <gml:posList ><xsl:apply-templates mode="GM_Object"/></gml:posList> + </xsl:template> + + <xsl:template match="int:GM03_2_1Core.Core.GM_Point_" mode="GM_Object"> + <gml:Point gml:id="{util:randomId()}"> + <gml:coordinates> + <xsl:apply-templates mode="GM_Object" select="int:value"/> + </gml:coordinates> + </gml:Point> + </xsl:template> + + <xsl:template mode="GM_Object" match="int:COORD"><xsl:value-of select="int:C1"/><xsl:text> </xsl:text><xsl:value-of select="int:C2"/><xsl:text> </xsl:text></xsl:template> + + <!-- ================================================================================= --> + <xsl:template mode="BboxToPolygon" match="int:GM03_2_1Core.Core.EX_GeographicBoundingBox"> + + <xsl:variable name="north" select="int:northBoundLatitude"/> + <xsl:variable name="east" select="int:eastBoundLongitude"/> + <xsl:variable name="south" select="int:southBoundLatitude"/> + <xsl:variable name="west" select="int:westBoundLongitude"/> + + <xsl:variable name="ul"> + <xsl:value-of select="$west"/><xsl:text> </xsl:text><xsl:value-of select="$north"/> + </xsl:variable> + <xsl:variable name="ur"> + <xsl:value-of select="$east"/><xsl:text> </xsl:text><xsl:value-of select="$north"/> + </xsl:variable> + <xsl:variable name="lr"> + <xsl:value-of select="$east"/><xsl:text> </xsl:text><xsl:value-of select="$south"/> + </xsl:variable> + <xsl:variable name="ll"> + <xsl:value-of select="$west"/><xsl:text> </xsl:text><xsl:value-of select="$south"/> + </xsl:variable> + + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean><xsl:value-of select="int:extentTypeCode"/></gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="NN29"> + <gml:surfaceMember> + <gml:Polygon gml:id="NN30"> + <gml:exterior> + <gml:LinearRing> + <gml:posList><xsl:value-of select="$ul"/><xsl:text> </xsl:text><xsl:value-of select="$ur"/><xsl:text> </xsl:text><xsl:value-of select="$lr"/><xsl:text> </xsl:text><xsl:value-of select="$ll"/><xsl:text> </xsl:text><xsl:value-of select="$ul"/></gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="Extent" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Extent</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/identification.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/identification.xsl new file mode 100644 index 00000000000..3e457e6eaf2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/identification.xsl @@ -0,0 +1,533 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:util="java:org.fao.geonet.util.XslUtil" + exclude-result-prefixes="int util" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + > + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.MD_DataIdentification|int:GM03_2_1Core.Core.MD_DataIdentification"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <xsl:call-template name="dataIdentification"/> + </che:CHE_MD_DataIdentification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.SV_ServiceIdentification"> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <xsl:call-template name="dataIdentification"> + <xsl:with-param name="srv" select="true()"/> + </xsl:call-template> + <xsl:apply-templates mode="DataIdentification" select="int:serviceType"/> + <xsl:apply-templates mode="DataIdentification" select="int:serviceTypeVersion"/> + <xsl:apply-templates mode="DataIdentification" select="int:restrictions"/> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2_1Core.Core.descriptiveKeywordsMD_Identification"/> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2_1Comprehensive.Comprehensive.extentSV_ServiceIdentification"/> + <xsl:apply-templates mode="DataIdentification" select="int:coupledResource/int:GM03_2_1Comprehensive.Comprehensive.SV_CoupledResource"/> + <xsl:apply-templates mode="DataIdentification" select="int:couplingType"/> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2_1Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification"/> + <xsl:apply-templates mode="DataIdentification" select="int:operatesOn"/> + </che:CHE_SV_ServiceIdentification> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:serviceType"> + <srv:serviceType> + <gco:LocalName><xsl:value-of select="int:GM03_2_1Comprehensive.Comprehensive.gml_CodeType/int:code"/></gco:LocalName> + <xsl:if test="int:GM03_2_1Comprehensive.Comprehensive.gml_CodeType/int:codeSpace"> + <gml:codeSpace><xsl:value-of select="int:GM03_2_1Comprehensive.Comprehensive.gml_CodeType/int:codeSpace"/></gml:codeSpace> + </xsl:if> + </srv:serviceType> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.extentSV_ServiceIdentification"> + <srv:extent> + <gmd:EX_Extent> + <xsl:apply-templates mode="Extent" select="int:extent/int:GM03_2_1Core.Core.EX_Extent/*"/> + </gmd:EX_Extent> + </srv:extent> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.SV_CoupledResource"> + <srv:coupledResource> + <srv:SV_CoupledResource> + <xsl:apply-templates mode="text" select="int:operationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="int:identifier"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="int:ScopedName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + </srv:SV_CoupledResource> + </srv:coupledResource> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:couplingType"> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="{text()}"/> + </srv:couplingType> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:operatesOn"> + <srv:operatesOn xmlns:date="http://exslt.org/dates-and-times" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gts="http://www.isotc211.org/2005/gts" + uuidref="{.//value/text()}"/> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:serviceTypeVersion"> + <srv:serviceTypeVersion> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </srv:serviceTypeVersion> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:containsOperations"> + <srv:containsOperations> + <xsl:apply-templates mode="DataIdentification"/> + </srv:containsOperations> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:DCP"> + <xsl:for-each select=".//int:value"> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="{text()}"/> + </srv:DCP> + </xsl:for-each> + + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.SV_OperationMetadata"> + <srv:SV_OperationMetadata> + <xsl:apply-templates mode="text" select="int:operationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="int:DCP"/> + <xsl:apply-templates mode="text" select="int:operationDescription"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="text" select="int:invocationName"><xsl:with-param name="prefix">srv</xsl:with-param></xsl:apply-templates> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2_1Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint"/> + </srv:SV_OperationMetadata> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.containsOperationsSV_ServiceIdentification"> + <xsl:apply-templates mode="DataIdentification"/> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.SV_OperationMetadataconnectPoint"> + <xsl:apply-templates mode="DataIdentification"/> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:connectPoint"> + <srv:connectPoint> + <xsl:apply-templates mode="OnlineResource"/> + </srv:connectPoint> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Core.Core.EX_Extent"> + <xsl:apply-templates mode="Extent" select="."/> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.resourceConstraintsMD_Identification"> + <gmd:resourceConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:resourceConstraints> + </xsl:template> + <xsl:template mode="DataIdentification" match="int:GM03_2_1Core.Core.descriptiveKeywordsMD_Identification"> + <gmd:descriptiveKeywords> + <xsl:apply-templates mode="DescriptiveKeyword"/> + </gmd:descriptiveKeywords> + </xsl:template> + + <xsl:template name="dataIdentification"> + <xsl:param name="srv" select="false()"/> + + <xsl:for-each select="int:citation"> + <gmd:citation> + <xsl:apply-templates mode="Citation"/> + </gmd:citation> + </xsl:for-each> + <xsl:apply-templates mode="text" select="int:abstract"/> + <xsl:apply-templates mode="text" select="int:purpose"/> + <xsl:apply-templates mode="text" select="int:credit"/> + <xsl:for-each select="int:status"> + <gmd:status> + <gmd:MD_ProgressCode codeList="./resources/codeList.xml#MD_ProgressCode" codeListValue="{int:GM03_2_1Core.Core.MD_ProgressCode_/int:value}"/> + </gmd:status> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Core.Core.MD_IdentificationpointOfContact"> + <gmd:pointOfContact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:pointOfContact> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:resourceMaintenance> + <xsl:apply-templates select="." mode="MaintenanceInfo"/> + </gmd:resourceMaintenance> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.MD_BrowseGraphic"> + <gmd:graphicOverview> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:graphicOverview> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.resourceFormatMD_Identification"> + <gmd:resourceFormat> + <xsl:apply-templates mode="ResourceFormat"/> + </gmd:resourceFormat> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Core.Core.descriptiveKeywordsMD_Identification[$srv=false()]"> + <gmd:descriptiveKeywords> + <xsl:apply-templates mode="DescriptiveKeyword"/> + </gmd:descriptiveKeywords> + </xsl:for-each> + + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.MD_Usage"> + <xsl:apply-templates mode="DataIdentification" select="."/> + </xsl:for-each> + + + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.resourceConstraintsMD_Identification[$srv=false()]"> + <gmd:resourceConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:resourceConstraints> + </xsl:for-each> + + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2_1Comprehensive.Comprehensive.aggregationInfo_MD_Identification"/> + + <xsl:for-each select="int:spatialRepresentationType"> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="./resources/codeList.xml#MD_SpatialRepresentationTypeCode" + codeListValue="{int:GM03_2_1Core.Core.MD_SpatialRepresentationTypeCode_/int:value}"/> + </gmd:spatialRepresentationType> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Core.Core.MD_Resolution/int:distance"> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Core.Core.MD_Resolution/int:equivalentScale"> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <xsl:apply-templates mode="DataIdentification" select="."/> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </xsl:for-each> + <xsl:apply-templates select="int:language" mode="language"/> + <xsl:for-each select="int:characterSet"> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="./resources/codeList.xml#MD_CharacterSetCode" codeListValue="{int:GM03_2_1Core.Core.MD_CharacterSetCode_/int:value}"/> + </gmd:characterSet> + </xsl:for-each> + <xsl:for-each select="int:topicCategory/int:GM03_2_1Core.Core.MD_TopicCategoryCode_"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode> + <xsl:variable name="cat" select="int:value"/> + <xsl:choose> + <xsl:when test="contains($cat, '.')"> + <xsl:value-of select="substring-after($cat, '.')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$cat"/> + </xsl:otherwise> + </xsl:choose> + </gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + </xsl:for-each> + <xsl:apply-templates mode="text" select="int:environmentDescription"/> + <xsl:for-each select="int:GM03_2_1Core.Core.EX_Extent[$srv=false()]"> + <xsl:apply-templates mode="Extent" select="."/> + </xsl:for-each> + <xsl:apply-templates mode="text" select="int:supplementalInformation"/> + <xsl:apply-templates select="int:ProjectType" mode="DataIdentification"/> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.revisionMD_Identification/int:revision"> + <che:revision> + <xsl:apply-templates mode="Revision"/> + </che:revision> + </xsl:for-each> + + <xsl:if test="not($srv) and int:basicGeodataID"> + <che:basicGeodataID> + <xsl:apply-templates mode="string" select="int:basicGeodataID/text()"/> + </che:basicGeodataID> + <xsl:apply-templates select="int:basicGeodataIDType" mode="DataIdentification"/> + </xsl:if> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.aggregationInfo_MD_Identification"> + <xsl:apply-templates mode="DataIdentification" /> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:aggregationInfo"> + <gmd:aggregationInfo> + <xsl:apply-templates mode="DataIdentification" /> + </gmd:aggregationInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.MD_AggregateInformation"> + <gmd:MD_AggregateInformation> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2_1Comprehensive.Comprehensive.CI_Citation"/> + <xsl:apply-templates mode="DataIdentification" select="int:aggregateDataSetIdentifier"/> + <xsl:apply-templates mode="DataIdentification" select="int:associationType"/> + <xsl:apply-templates mode="DataIdentification" select="int:initiativeType"/> + </gmd:MD_AggregateInformation> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:associationType"> + <gmd:associationType> + <gmd:DS_AssociationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DS_AssociationTypeCode" codeListValue="{text()}"/> + </gmd:associationType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:initiativeType"> + <gmd:initiativeType> + <gmd:DS_InitiativeTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#DS_InitiativeTypeCode" codeListValue="{text()}"/> + </gmd:initiativeType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:aggregateDataSetIdentifier"> + <gmd:aggregateDataSetIdentifier> + <xsl:apply-templates mode="Identifier" select="int:GM03_2_1Core.Core.MD_Identifier"/> + </gmd:aggregateDataSetIdentifier> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.CI_Citation"> + <gmd:aggregateDataSetName> + <xsl:apply-templates mode="Citation" select="."/> + </gmd:aggregateDataSetName> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Usage"> + <gmd:resourceSpecificUsage> + <gmd:MD_Usage> + <xsl:apply-templates mode="text" select="int:specificUsage"/> + <xsl:if test="int:usageDateTime"> + <gmd:usageDateTime> + <xsl:apply-templates mode="dateTime" select="int:usageDateTime"/> + </gmd:usageDateTime> + </xsl:if> + <xsl:apply-templates mode="text" select="int:userDeterminedLimitations"/> + <xsl:apply-templates mode="DataIdentification" select="int:GM03_2_1Comprehensive.Comprehensive.MD_UsageuserContactInfo"/> + </gmd:MD_Usage> + </gmd:resourceSpecificUsage> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <gmd:userContactInfo> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:userContactInfo> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.MD_BrowseGraphic"> + <gmd:MD_BrowseGraphic> + <xsl:apply-templates mode="text" select="int:fileName"/> + <xsl:apply-templates mode="text" select="int:fileDescription"/> + <xsl:apply-templates mode="text" select="int:fileType"/> + </gmd:MD_BrowseGraphic> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:ProjectType"> + <che:projectType> + <che:CHE_CI_projectTypeCode codeListValue="{.}" codeList="./resources/codeList.xml#CHE_CI_projectTypeCode"/> + </che:projectType> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:basicGeodataIDType"> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="{.}" codeList="./resources/codeList.xml#basicGeodataIDTypeCode"/> + </che:basicGeodataIDType> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="DataIdentification" match="int:distance"> + <gmd:distance> + <gco:Distance uom="m"><xsl:value-of select="util:expandScientific(string(.))"/></gco:Distance> + </gmd:distance> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:equivalentScale"> + <gmd:equivalentScale> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:equivalentScale> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Core.Core.MD_RepresentativeFraction"> + <gmd:MD_RepresentativeFraction> + <xsl:apply-templates mode="DataIdentification"/> + </gmd:MD_RepresentativeFraction> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:denominator"> + <gmd:denominator> + <gco:Integer><xsl:value-of select="."/></gco:Integer> + </gmd:denominator> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:resourceMaintenance> + <xsl:apply-templates select="." mode="MaintenanceInfo"/> + </gmd:resourceMaintenance> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Core.Core.MD_IdentificationpointOfContact"> + <gmd:pointOfContact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:pointOfContact> + </xsl:template> + + <xsl:template mode="DataIdentification" match="int:GM03_2_1Comprehensive.Comprehensive.resourceFormatMD_Identification"> + <gmd:resourceFormat> + <xsl:apply-templates mode="ResourceFormat"/> + </gmd:resourceFormat> + </xsl:template> + + <xsl:template mode="Revision" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Revision"> + <che:CHE_MD_Revision gco:isoType="gmd:MD_Revision"> + <xsl:for-each select="int:revisionScope"> + <che:revisionScope> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2_1Core.Core.MD_ScopeCode_"/> + </che:revisionScope> + </xsl:for-each> + <xsl:for-each select="int:dateOfLastUpdate"> + <che:dateOfLastUpdate> + <xsl:apply-templates mode="date" select="."/> + </che:dateOfLastUpdate> + </xsl:for-each> + <xsl:for-each select="int:revisionNote"> + <che:revisionNote> + <xsl:apply-templates mode="string" select="."/> + </che:revisionNote> + </xsl:for-each> + <xsl:for-each select="int:revisionScopeDescription"> + <che:revisionScopeDescription> + <xsl:apply-templates mode="string" select="."/> + </che:revisionScopeDescription> + </xsl:for-each> + <xsl:for-each select="int:revisionExtent"> + <che:revisionExtent> + <xsl:apply-templates mode="Extent" select="int:GM03_2_1Core.Core.EX_Extent"/> + </che:revisionExtent> + </xsl:for-each> + <xsl:for-each select="int:revisionContact"> + <che:revisionContact> + <xsl:apply-templates mode="RespParty" select="."/> + </che:revisionContact> + </xsl:for-each> + </che:CHE_MD_Revision> + </xsl:template> + + <xsl:template mode="DataIdentification" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DataIdentification</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="DescriptiveKeyword" match="int:GM03_2_1Core.Core.MD_Keywords"> + <gmd:MD_Keywords> + <xsl:for-each select="int:keyword"> + <xsl:for-each select="int:GM03_2_1Core.Core.PT_FreeText"> + <gmd:keyword> + <xsl:apply-templates mode="language" select="."/> + </gmd:keyword> + </xsl:for-each> + </xsl:for-each> + <xsl:for-each select="int:type"> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="./resources/codeList.xml#MD_KeywordTypeCode" codeListValue="{.}" /> + </gmd:type> + </xsl:for-each> + <xsl:for-each select="int:thesaurus"> + <gmd:thesaurusName> + <xsl:for-each select="int:GM03_2_1Core.Core.MD_Thesaurus"> + <xsl:for-each select="int:citation"> + <xsl:apply-templates mode="Citation" select="int:GM03_2_1Comprehensive.Comprehensive.CI_Citation"/> + </xsl:for-each> + </xsl:for-each> + </gmd:thesaurusName> + </xsl:for-each> + </gmd:MD_Keywords> + </xsl:template> + + <xsl:template mode="DescriptiveKeyword" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">DescriptiveKeyword</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="ConstsTypes" match="int:GM03_2_1Comprehensive.Comprehensive.MD_LegalConstraints"> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <xsl:apply-templates mode="text" select="int:useLimitation"/> + <xsl:apply-templates mode="ConstsTypes" select="int:accessConstraints"/> + <xsl:apply-templates mode="ConstsTypes" select="int:useConstraints"/> + <xsl:apply-templates mode="text" select="int:otherConstraints"/> + </che:CHE_MD_LegalConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:useConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="./resources/codeList.xml#MD_RestrictionCode" codeListValue="{int:GM03_2_1Comprehensive.Comprehensive.MD_RestrictionCode_/int:value}" /> + </gmd:useConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:accessConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="./resources/codeList.xml#MD_RestrictionCode" codeListValue="{int:GM03_2_1Comprehensive.Comprehensive.MD_RestrictionCode_/int:value}" /> + </gmd:accessConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:GM03_2_1Comprehensive.Comprehensive.MD_SecurityConstraints"> + <gmd:MD_SecurityConstraints> + <xsl:apply-templates mode="text" select="int:useLimitation"/> + <xsl:apply-templates mode="ConstsTypes" select="int:classification"/> + <xsl:apply-templates mode="text" select="int:userNote"/> + <xsl:apply-templates mode="text" select="int:classificationSystem"/> + <xsl:apply-templates mode="text" select="int:handlingDescription"/> + </gmd:MD_SecurityConstraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:classification"> + <gmd:classification> + <gmd:MD_ClassificationCode codeListValue="{.}" codeList="./resources/codeList.xml#MD_ClassificationCode"/> + </gmd:classification> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Constraints"> + + <gmd:MD_Constraints > + <xsl:apply-templates mode="text" select="int:useLimitation"/> + </gmd:MD_Constraints> + </xsl:template> + + <xsl:template mode="ConstsTypes" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">ConstsTypes</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="ResourceFormat" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Format|int:GM03_2_1Core.Core.MD_Format"> + <xsl:param name="loop">0</xsl:param> + <xsl:variable name="myTID" select="@TID"/> + <gmd:MD_Format> + <xsl:apply-templates mode="text" select="int:name"/> + <xsl:apply-templates mode="text" select="int:version"/> + <xsl:apply-templates mode="text" select="int:amendmentNumber"/> + <xsl:apply-templates mode="text" select="int:specification"/> + <xsl:apply-templates mode="text" select="int:fileDecompressionTechnique"/> + + <xsl:if test="$loop!='0'"> + <!-- fetch manually the N-N link with the MD_Distributor entries --> + <xsl:for-each select="/int:GM03_2_1Comprehensive.Comprehensive/int:GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat[int:distributorFormat/@REF=$myTID]"> + <xsl:apply-templates mode="ResourceFormat" select="int:formatDistributor"/> + </xsl:for-each> + </xsl:if> + </gmd:MD_Format> + </xsl:template> + + <xsl:template mode="ResourceFormat" match="int:formatDistributor"> + <gmd:formatDistributor> + <xsl:apply-templates mode="Distributor"/> + </gmd:formatDistributor> + </xsl:template> + + <xsl:template mode="ResourceFormat" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">ResourceFormat</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/legislation.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/legislation.xsl new file mode 100644 index 00000000000..e9002d451ca --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/legislation.xsl @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="LegislationInfo" match="int:legislationInformation"> + <che:legislationInformation> + <xsl:apply-templates mode="LegislationInfo"/> + </che:legislationInformation> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:GM03_2_1Comprehensive.Comprehensive.MD_Legislation"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <xsl:apply-templates mode="LegislationInfo"/> + </che:CHE_MD_Legislation> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:country"> + <xsl:apply-templates mode="Country"/> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:legislationType"> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="./resources/codeList.xml#LegislationCode" codeListValue="{.}"/> + </che:legislationType> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:internalReference"> + <che:internalReference> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> + </che:internalReference> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:language/int:CodeISO.LanguageCodeISO_|int:language/int:CodeISO.LanguageCode_"> + <che:language> + <gmd:LanguageCode codeList="./resources/codeList.xml#LanguageCodeISO"> + <xsl:attribute name="codeListValue"> + <xsl:apply-templates mode="languageToIso3" select="int:value"/> + </xsl:attribute> + </gmd:LanguageCode> + </che:language> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="int:title"> + <che:title> + <xsl:apply-templates mode="Citation"/> + </che:title> + </xsl:template> + + <xsl:template mode="LegislationInfo" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">LegislationInfo</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ========================================================================== --> + + <xsl:template mode="Country" match="int:CodeISO.CountryCodeISO_|int:CodeISO.Country_"> + <che:country> + <gmd:Country codeList="./resources/codeList.xml#CountryCodeISO" codeListValue="{int:value}"/> + </che:country> + </xsl:template> + + <xsl:template mode="Country" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">Country</xsl:with-param> + </xsl:call-template> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/maintenance-info.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/maintenance-info.xsl new file mode 100644 index 00000000000..59da74f011e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/maintenance-info.xsl @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:template mode="MaintenanceInfo" match="int:metadataMaintenance|int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <xsl:apply-templates mode="MaintenanceInfo" select="int:maintenanceAndUpdateFrequency"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:dateOfNextUpdate"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:userDefinedMaintenanceFrequency"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:updateScope"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2_1Comprehensive.Comprehensive.MD_ScopeDescription"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:maintenanceNote"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:dateOfMonitoringState"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2_1Comprehensive.Comprehensive.MD_HistoryConcept"/> + <xsl:apply-templates mode="MaintenanceInfo" select="int:GM03_2_1Comprehensive.Comprehensive.MD_ArchiveConcept"/> + </che:CHE_MD_MaintenanceInformation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact"> + <gmd:contact> + <xsl:apply-templates mode="RespParty" select="."/> + </gmd:contact> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:GM03_2_1Comprehensive.Comprehensive.MD_ScopeDescription"> + <gmd:updateScopeDescription> + <gmd:MD_ScopeDescription> + <xsl:choose> + <xsl:when test="int:attributes"> + <xsl:apply-templates mode="objectRef" select="int:attributes"/> + </xsl:when> + <xsl:when test="int:features"> + <xsl:apply-templates mode="objectRef" select="int:features"/> + </xsl:when> + <xsl:when test="int:featureInstances"> + <xsl:apply-templates mode="objectRef" select="int:featureInstances"/> + </xsl:when> + <xsl:when test="int:attributeInstances"> + <xsl:apply-templates mode="objectRef" select="int:attributeInstances"/> + </xsl:when> + <xsl:when test="int:dataset"> + <xsl:apply-templates mode="text" select="int:dataset"/> + </xsl:when> + <xsl:when test="int:other"> + <xsl:apply-templates mode="text" select="int:other"/> + </xsl:when> + </xsl:choose> + </gmd:MD_ScopeDescription> + </gmd:updateScopeDescription> + </xsl:template> + <xsl:template mode="objectRef" match="*"> + <xsl:element name="{local-name(.)}" + namespace="http://www.isotc211.org/2005/gmd"> + <gco:CharacterString><xsl:value-of select="."/></gco:CharacterString> +<!-- <xsl:attribute name="uuidref"><xsl:value-of select="."/></xsl:attribute>--> + </xsl:element> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:maintenanceAndUpdateFrequency"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="./resources/codeList.xml#MD_MaintenanceFrequencyCode" + codeListValue="{.}"/> + </gmd:maintenanceAndUpdateFrequency> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:userDefinedMaintenanceFrequency"> + <gmd:userDefinedMaintenanceFrequency> + <gts:TM_PeriodDuration> + <xsl:value-of select="concat('P', substring-before(.,':'), 'Y', substring-before(substring-after(., ':'), ':'), 'M', substring-before(substring-after(substring-after(., ':'), ':'), ':'), 'DT', substring-before(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), 'H', substring-before(substring-after(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), ':'), 'M', substring-after(substring-after(substring-after(substring-after(substring-after(., ':'), ':'), ':'), ':'), ':'), 'S')"/> + </gts:TM_PeriodDuration> + </gmd:userDefinedMaintenanceFrequency> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:dateOfNextUpdate"> + <gmd:dateOfNextUpdate> + <xsl:apply-templates mode="date" select="."/> + </gmd:dateOfNextUpdate> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:dateOfMonitoringState"> + <che:dateOfMonitoringState> + <xsl:apply-templates mode="date" select="."/> + </che:dateOfMonitoringState> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:updateScope"> + <gmd:updateScope> + <xsl:apply-templates mode="MaintenanceInfo"/> + </gmd:updateScope> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:GM03_2_1Core.Core.MD_ScopeCode_"> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{.}" /> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:maintenanceNote"> + <xsl:for-each select="int:GM03_2_1Core.Core.PT_FreeText"> + <gmd:maintenanceNote> + <xsl:apply-templates mode="language" select="."/> + </gmd:maintenanceNote> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:GM03_2_1Comprehensive.Comprehensive.MD_ArchiveConcept"> + <che:archiveConcept> + <che:CHE_MD_ArchiveConcept> + <xsl:apply-templates select="int:GM03_2_1Comprehensive.Comprehensive.MD_ArchiveConceptarchiveConceptCitation" mode="MaintenanceInfo"/> + <xsl:apply-templates select="int:archiveConceptURL" mode="MaintenanceInfo"/> + </che:CHE_MD_ArchiveConcept> + </che:archiveConcept> + </xsl:template> + <xsl:template mode="MaintenanceInfo" match="int:GM03_2_1Comprehensive.Comprehensive.MD_ArchiveConceptarchiveConceptCitation"> + <xsl:apply-templates mode="MaintenanceInfo" select="int:archiveConceptCitation"/> + </xsl:template> + <xsl:template mode="MaintenanceInfo" match="int:archiveConceptCitation"> + <che:archiveConceptCitation> + <xsl:apply-templates mode="Citation" select="int:GM03_2_1Comprehensive.Comprehensive.CI_Citation"/> + </che:archiveConceptCitation> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="int:archiveConceptURL"> + <che:archiveConceptURL> + <xsl:apply-templates select="." mode="language"/> + </che:archiveConceptURL> + </xsl:template> + + <xsl:template mode="MaintenanceInfo" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MaintenanceInfo</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/metadata.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/metadata.xsl new file mode 100644 index 00000000000..1ed9f55d1af --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/metadata.xsl @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="MetaData" match="int:GM03_2_1Core.Core.MD_Metadata"> + <xsl:choose> + <xsl:when test="string-length($uuid) > 0"> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="$uuid"/> + </gco:CharacterString> + </gmd:fileIdentifier> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="MetaData" select="int:fileIdentifier"/> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="not(int:language) or normalize-space(int:language)=''"> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="MetaData" select="int:language"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="MetaData" select="int:characterSet"/> + <xsl:apply-templates mode="MetaData" select="int:parentIdentifier"/> + <xsl:apply-templates mode="MetaData" select="int:hierarchyLevel"/> + <xsl:apply-templates mode="MetaData" select="int:hierarchyLevelName"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Core.Core.MD_Metadatacontact"/> + <xsl:apply-templates mode="MetaData" select="int:dateStamp"/> + <xsl:apply-templates mode="text" select="int:metadataStandardName"/> + <xsl:apply-templates mode="text" select="int:metadataStandardVersion"/> + <xsl:apply-templates mode="MetaData" select="int:dataSetURI"/> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger">German</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre">French</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita">Italian</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng">English</gmd:LanguageCode></gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeListValue="roh" codeList="#LanguageCode">Rumantsch</gmd:LanguageCode> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Comprehensive.Comprehensive.MD_GridSpatialRepresentation| + int:GM03_2_1Comprehensive.Comprehensive.MD_VectorSpatialRepresentation| + int:GM03_2_1Comprehensive.Comprehensive.MD_Georeferenceable| + int:GM03_2_1Comprehensive.Comprehensive.MD_Georectified"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Core.Core.referenceSystemInfoMD_Metadata"/> + <xsl:apply-templates mode="MetaData" select="int:metadataExtensionInfo"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Comprehensive.Comprehensive.MD_DataIdentification|int:GM03_2_1Core.Core.MD_DataIdentification|int:GM03_2_1Comprehensive.Comprehensive.SV_ServiceIdentification"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Comprehensive.Comprehensive.MD_CoverageDescription|int:GM03_2_1Comprehensive.Comprehensive.MD_FeatureCatalogueDescription|int:GM03_2_1Comprehensive.Comprehensive.MD_RangeDimension|int:GM03_2_1Comprehensive.Comprehensive.MD_Band|int:GM03_2_1Comprehensive.Comprehensive.MD_ImageDescription"/> + <xsl:apply-templates mode="MetaData" select="int:distributionInfo"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Core.Core.DQ_DataQuality"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Comprehensive.Comprehensive.portrayalCatalogueInfoMD_Metadata/int:portrayalCatalogueInfo"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Comprehensive.Comprehensive.MD_MetadatametadataConstraints/metadataConstraints"/> + <xsl:apply-templates mode="MetaData" select="int:applicationSchemaInfo"/> + <xsl:apply-templates mode="MetaData" select="int:metadataMaintenance"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformation"/> + <xsl:apply-templates mode="MetaData" select="int:series"/> + <xsl:apply-templates mode="MetaData" select="int:describes"/> + <xsl:apply-templates mode="MetaData" select="int:propertyType"/> + <xsl:apply-templates mode="MetaData" select="int:featureType"/> + <xsl:apply-templates mode="MetaData" select="int:featureAttribute"/> + <xsl:apply-templates mode="MetaData" select="int:GM03_2_1Comprehensive.Comprehensive.MD_MetadatalegislationInformation"/> + </xsl:template> + + <xsl:template mode="MetaData" match="int:metadataConstraints"> + <gmd:metadataConstraints> + <xsl:apply-templates mode="ConstsTypes"/> + </gmd:metadataConstraints> + </xsl:template> + + <xsl:template mode="MetaData" match="int:portrayalCatalogueInfo"> + <gmd:portrayalCatalogueInfo> + <xsl:apply-templates mode="MetaData"/> + </gmd:portrayalCatalogueInfo> + </xsl:template> + + <xsl:template mode="MetaData" match="int:GM03_2_1Comprehensive.Comprehensive.MD_PortrayalCatalogueReference"> + <che:CHE_MD_PortrayalCatalogueReference> + <xsl:for-each select="int:GM03_2_1Comprehensive.Comprehensive.CI_Citation"> + <gmd:portrayalCatalogueCitation> + <xsl:apply-templates select="." mode="Citation"/> + </gmd:portrayalCatalogueCitation> + </xsl:for-each> + </che:CHE_MD_PortrayalCatalogueReference> + </xsl:template> + + <xsl:template mode="MetaData" match="int:fileIdentifier"> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:fileIdentifier> + </xsl:template> + + <xsl:template mode="MetaData" match="int:language"> + <gmd:language> + <gco:CharacterString> + <xsl:apply-templates mode="languageToIso3" select="."/> + </gco:CharacterString> + </gmd:language> + </xsl:template> + + <xsl:template mode="MetaData" match="int:characterSet"> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="./resources/codeList.xml#MD_CharacterSetCode" codeListValue="{.}"/> + </gmd:characterSet> + </xsl:template> + + <xsl:template mode="MetaData" match="int:parentIdentifier"> + <gmd:parentIdentifier> + <gco:CharacterString> + <xsl:value-of select="int:GM03_2_1Core.Core.MD_Metadata/fileIdentifier"/> + </gco:CharacterString> + </gmd:parentIdentifier> + </xsl:template> + + <xsl:template mode="MetaData" match="int:hierarchyLevel"> + <xsl:for-each select="int:GM03_2_1Core.Core.MD_ScopeCode_"> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode" codeListValue="{int:value}"/> + </gmd:hierarchyLevel> + </xsl:for-each> + </xsl:template> + + <xsl:template mode="MetaData" match="int:hierarchyLevelName"> + <xsl:for-each select="int:GM03_2_1Core.Core.CharacterString_"> + <gmd:hierarchyLevelName> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:hierarchyLevelName> + </xsl:for-each> + </xsl:template> + + + <xsl:template mode="MetaData" match="int:GM03_2_1Core.Core.MD_Metadatacontact"> + <gmd:contact> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:contact> + </xsl:template> + + <xsl:template mode="MetaData" match="int:dateStamp"> + <gmd:dateStamp> + <xsl:apply-templates mode="dateTime" select="."/> + </gmd:dateStamp> + </xsl:template> + + <xsl:template mode="MetaData" match="int:dataSetURI"> + <gmd:dataSetURI> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:dataSetURI> + </xsl:template> + + <xsl:template mode="MetaData" match="int:metadataMaintenance"> + <gmd:metadataMaintenance> + <xsl:apply-templates mode="MaintenanceInfo"/> + </gmd:metadataMaintenance> + </xsl:template> + + <xsl:template mode="MetaData" match="int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformation"> + <gmd:metadataMaintenance> + <xsl:apply-templates mode="MaintenanceInfo" select="."/> + </gmd:metadataMaintenance> + </xsl:template> + + <xsl:template mode="MetaData" match="int:distributionInfo"> + <gmd:distributionInfo> + <xsl:apply-templates mode="Distribution"/> + </gmd:distributionInfo> + </xsl:template> + + <xsl:template mode="MetaData" + match="int:GM03_2_1Comprehensive.Comprehensive.MD_GridSpatialRepresentation| + int:GM03_2_1Comprehensive.Comprehensive.MD_VectorSpatialRepresentation| + int:GM03_2_1Comprehensive.Comprehensive.MD_Georeferenceable| + int:GM03_2_1Comprehensive.Comprehensive.MD_Georectified"> + <gmd:spatialRepresentationInfo> + <xsl:apply-templates select="." mode="SpatialRepr"/> + </gmd:spatialRepresentationInfo> + </xsl:template> + + <xsl:template mode="MetaData" + match="int:GM03_2_1Comprehensive.Comprehensive.MD_CoverageDescription|int:GM03_2_1Comprehensive.Comprehensive.MD_FeatureCatalogueDescription|int:GM03_2_1Comprehensive.Comprehensive.MD_RangeDimension|int:GM03_2_1Comprehensive.Comprehensive.MD_Band|int:GM03_2_1Comprehensive.Comprehensive.MD_ImageDescription"> + <gmd:contentInfo> + <xsl:apply-templates select="." mode="Content"/> + </gmd:contentInfo> + </xsl:template> + + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_DataIdentification|int:GM03_2_1Core.Core.MD_DataIdentification|int:GM03_2_1Comprehensive.Comprehensive.SV_ServiceIdentification" mode="MetaData"> + <gmd:identificationInfo> + <xsl:apply-templates select="." mode="DataIdentification"/> + </gmd:identificationInfo> + </xsl:template> + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_MetadatalegislationInformation" mode="MetaData"> + <xsl:apply-templates mode="LegislationInfo"/> + </xsl:template> + + <xsl:template match="int:GM03_2_1Core.Core.DQ_DataQuality" mode="MetaData"> + <xsl:apply-templates select="." mode="DataQuality"/> + </xsl:template> + + <xsl:template match="int:GM03_2_1Core.Core.referenceSystemInfoMD_Metadata" mode="MetaData"> + <gmd:referenceSystemInfo> + <xsl:apply-templates mode="RefSystem"/> + </gmd:referenceSystemInfo> + </xsl:template> + + <xsl:template match="*" mode="MetaData"> + <ERROR mode="MetaData" tag="{name(..)}/{name(.)}"/> + </xsl:template> + + <xsl:template mode="MetaData" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MetaData</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/ref-system.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/ref-system.xsl new file mode 100644 index 00000000000..62b1473c3b3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/ref-system.xsl @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template mode="RefSystem" match="int:GM03_2_1Core.Core.MD_ReferenceSystem"> + <gmd:MD_ReferenceSystem> + <xsl:apply-templates mode="RefSystem"/> + </gmd:MD_ReferenceSystem> + </xsl:template> + + <xsl:template mode="RefSystem" match="int:referenceSystemIdentifier"> + <gmd:referenceSystemIdentifier> + <xsl:apply-templates mode="MdIdent"/> + </gmd:referenceSystemIdentifier> + </xsl:template> + + <xsl:template mode="RefSystem" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">RefSystem</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ======================================================================== --> + + <xsl:template mode="MdIdent" match="int:GM03_2_1Comprehensive.Comprehensive.RS_Identifier|int:GM03_2_1Core.Core.RS_Identifier"> + <gmd:RS_Identifier> + <xsl:apply-templates mode="MdIdent"/> + </gmd:RS_Identifier> + </xsl:template> + + <xsl:template mode="MdIdent" match="int:code"> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <xsl:attribute name="xsi:type">gmd:PT_FreeText_PropertyType</xsl:attribute> + <xsl:apply-templates mode="language"/> + </gmd:code> + </xsl:template> + + <xsl:template mode="MdIdent" match="int:codeSpace"> + <gmd:codeSpace> + <xsl:apply-templates mode="string"/> + </gmd:codeSpace> + </xsl:template> + + <xsl:template mode="MdIdent" match="int:version"> + <gmd:version> + <xsl:apply-templates mode="string"/> + </gmd:version> + </xsl:template> + + <xsl:template mode="MdIdent" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">MdIdent</xsl:with-param> + </xsl:call-template> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/resolve-refs.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/resolve-refs.xsl new file mode 100644 index 00000000000..5bcad691487 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/resolve-refs.xsl @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="int" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <!-- Only one element have to be kept from the root element --> + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive|int:GM03_2_1Core.Core" mode="ResolveRefs"> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:choose> + <xsl:when test="int:GM03_2_1Core.Core.MD_Metadata/parentIdentifier"> + <xsl:apply-templates select="int:GM03_2_1Core.Core.MD_Metadata[parentIdentifier]" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(.)"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="int:GM03_2_1Core.Core.MD_Metadata[1]" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(.)"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + + <!-- we add a few N-N links that would introduce a dead loop --> + <xsl:apply-templates select="int:GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat" + mode="ResolveRefsCopy"/> + </xsl:element> + </xsl:template> + + + <!-- back references are dropped --> + <xsl:template match="*[@REF and (starts-with(name(.), 'CI_') or starts-with(name(.), 'DQ_') or starts-with(name(.), 'EX_') or starts-with(name(.), 'LI_') or starts-with(name(.), 'MD_') or starts-with(name(.), 'SV_'))]" mode="ResolveRefs"/> + + <!-- this one does a huge loop in the model, it will be managed manually --> + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.formatDistributordistributorFormat" mode="ResolveRefs"> + </xsl:template> + + <!-- Elements that may contain others --> + <xsl:template match="*" mode="ResolveRefs"> + <xsl:param name="parent"/> + <xsl:variable name="selfName" select="name(.)"/> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:apply-templates select="@*" mode="ResolveRefs"/> + <xsl:apply-templates mode="ResolveRefs"> + <xsl:with-param name="parent" select="$selfName"/> + </xsl:apply-templates> + + <xsl:if test="@TID"> + <xsl:variable name="myTID" select="@TID"/> + <xsl:for-each select="/int:TRANSFER/int:DATASECTION/int:GM03_2_1Comprehensive.Comprehensive/*|/int:TRANSFER/int:DATASECTION/int:GM03_2_1Core.Core/*"> + <xsl:for-each select="*[@REF=$myTID]"> + <xsl:if test="$parent!=name(..) and (starts-with(name(.), 'CI_') or starts-with(name(.), 'DQ_') or starts-with(name(.), 'EX_') or starts-with(name(.), 'LI_') or starts-with(name(.), 'MD_') or starts-with(name(.), 'SV_'))"> + <xsl:apply-templates select=".." mode="ResolveRefs"> + <xsl:with-param name="parent" select="$selfName"/> + </xsl:apply-templates> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <xsl:if test="ends-with($selfName, 'Comprehensive.Comprehensive.LI_Source')"> + <xsl:apply-templates mode="ResolveRefs" select="/int:TRANSFER/int:DATASECTION/int:GM03_2_1Comprehensive.Comprehensive/ + int:GM03_2_1Comprehensive.Comprehensive.sourceStepsource[int:source/@REF = $myTID]/int:sourceStep" /> + </xsl:if> + </xsl:if> + </xsl:element> + </xsl:template> + + <!-- manage direct references --> + <xsl:key name="index" match="/int:TRANSFER/int:DATASECTION/int:GM03_2_1Comprehensive.Comprehensive//*|/int:TRANSFER/int:DATASECTION/int:GM03_2_1Core.Core//*" use="@TID"/> + <xsl:template match="@REF" mode="ResolveRefs"> + <xsl:attribute name="REF"> + <xsl:value-of select="."/> + </xsl:attribute> + <xsl:variable name="real" select="key('index', .)"/> + <xsl:apply-templates select="$real" mode="ResolveRefs"> + <xsl:with-param name="parent" select="name(../..)"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="@*" mode="ResolveRefs"> + <xsl:attribute name="{name(.)}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:template> + + <xsl:template match="text()" mode="ResolveRefs"> + <xsl:value-of select="normalize-space(.)"/> + </xsl:template> + + <xsl:template match="*" mode="ResolveRefsCopy"> + <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}"> + <xsl:apply-templates select="@*" mode="ResolveRefsCopy"/> + <xsl:apply-templates mode="ResolveRefsCopy"/> + </xsl:element> + </xsl:template> + + <xsl:template match="int:formatDistributor/@REF" mode="ResolveRefsCopy"> + <xsl:apply-templates mode="ResolveRefs" select="."/> + </xsl:template> + + <xsl:template match="int:distributorFormat/@REF" mode="ResolveRefsCopy"> + <xsl:apply-templates mode="ResolveRefs" select="."/> + </xsl:template> + + <xsl:template match="@*" mode="ResolveRefsCopy"> + <xsl:attribute name="{name(.)}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/resp-party.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/resp-party.xsl new file mode 100644 index 00000000000..b50176feff4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/resp-party.xsl @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + exclude-result-prefixes="#all"> + <xsl:template mode="RespParty" + match="int:GM03_2_1Core.Core.MD_IdentificationpointOfContact | + int:GM03_2_1Core.Core.MD_Metadatacontact | + int:GM03_2_1Comprehensive.Comprehensive.MD_DistributordistributorContact | + int:distributorContact | + int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact | + int:GM03_2_1Core.Core.CI_ResponsiblePartyparentinfo | + int:GM03_2_1Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty | + int:GM03_2_1Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <xsl:variable name="resp-party" select="."/> + <!-- I don't like this variable. I think a choice with each + when being one of the elements in the template match would be better + and the otherwise should be role + --> + <xsl:variable name="roles" select="int:role | + int:GM03_2_1Comprehensive.Comprehensive.MD_DistributordistributorContact/int:role | + int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact/int:role | + ../../../int:role | + ../../int:GM03_2_1Comprehensive.Comprehensive.MD_DistributordistributorContact/int:role | + ../int:role | + ../../int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact/int:role"/> + + <xsl:for-each select="$roles/int:GM03_2_1Core.Core.CI_RoleCode_[1]"> + <xsl:apply-templates mode="InnerRespParty" select="$resp-party"> + <xsl:with-param name="role" select="."/> + </xsl:apply-templates> + </xsl:for-each> + + <xsl:if test="count($roles) > 1"> + <xsl:for-each select="$roles/int:GM03_2_1Core.Core.CI_RoleCode_[ pos != 1]"> + <xsl:element name="{name(..)}"> + <xsl:apply-templates mode="InnerRespParty" select="$resp-party"> + <xsl:with-param name="role" select="."/> + </xsl:apply-templates> + </xsl:element> + </xsl:for-each> + </xsl:if> + </xsl:template> + + <!-- This template does the actual work of copying the responsible party. + The other template with the same match (but mode="RespParty") calls this + based with each role + --> + <xsl:template mode="InnerRespParty" + match="int:GM03_2_1Core.Core.MD_IdentificationpointOfContact| + int:GM03_2_1Core.Core.MD_Metadatacontact| + int:GM03_2_1Comprehensive.Comprehensive.MD_DistributordistributorContact| + int:distributorContact | + int:GM03_2_1Comprehensive.Comprehensive.MD_MaintenanceInformationcontact| + int:GM03_2_1Core.Core.CI_ResponsiblePartyparentinfo| + int:GM03_2_1Comprehensive.Comprehensive.CI_CitationcitedResponsibleParty| + int:GM03_2_1Comprehensive.Comprehensive.MD_UsageuserContactInfo"> + <xsl:param name="role"/> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <xsl:for-each select="*/int:GM03_2_1Core.Core.CI_ResponsibleParty | int:GM03_2_1Core.Core.CI_ResponsibleParty"> + <xsl:apply-templates mode="text" select="int:organisationName"/> + <xsl:for-each select="int:positionName"> + <gmd:positionName> + <xsl:apply-templates mode="language"/> + </gmd:positionName> + </xsl:for-each> + <gmd:contactInfo> + <xsl:apply-templates select="." mode="RespParty"/> + </gmd:contactInfo> + </xsl:for-each> + <xsl:for-each select="$role"> + <gmd:role> + <gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode" + codeListValue="{int:value}"/> + </gmd:role> + </xsl:for-each> + <xsl:for-each select="*/int:GM03_2_1Core.Core.CI_ResponsibleParty | int:GM03_2_1Core.Core.CI_ResponsibleParty"> + <xsl:for-each select="int:individualFirstName"> + <che:individualFirstName> + <xsl:apply-templates mode="string" select="."/> + </che:individualFirstName> + </xsl:for-each> + <xsl:for-each select="int:individualLastName"> + <che:individualLastName> + <xsl:apply-templates mode="string" select="."/> + </che:individualLastName> + </xsl:for-each> + <xsl:for-each select="int:organisationAcronym"> + <che:organisationAcronym> + <xsl:apply-templates mode="language" select="."/> + </che:organisationAcronym> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Core.Core.CI_ResponsiblePartyparentinfo"> + <che:parentResponsibleParty> + <xsl:apply-templates mode="RespParty" select="."/> + </che:parentResponsibleParty> + </xsl:for-each> + </xsl:for-each> + </che:CHE_CI_ResponsibleParty> + </xsl:template> + + <xsl:template mode="RespParty" match="int:GM03_2_1Core.Core.CI_ResponsibleParty"> + <gmd:CI_Contact> + <xsl:apply-templates mode="phone" select="."/> + + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <xsl:apply-templates mode="address" select="."/> + </che:CHE_CI_Address> + </gmd:address> + + <xsl:if test="int:linkage"> + <gmd:onlineResource> + <xsl:for-each select="int:linkage"> + <gmd:CI_OnlineResource> + <gmd:linkage> + <xsl:apply-templates mode="language"/> + </gmd:linkage> + </gmd:CI_OnlineResource> + </xsl:for-each> + </gmd:onlineResource> + </xsl:if> + + <xsl:for-each select="int:hoursOfService|int:contactInfo/int:GM03_2_1Core.Core.CI_Contact/int:hoursOfService"> + <gmd:hoursOfService> + <xsl:apply-templates mode="string" select="."/> + </gmd:hoursOfService> + </xsl:for-each> + + <xsl:for-each select="int:contactInstructions|int:contactInfo/int:GM03_2_1Core.Core.CI_Contact/int:contactInstructions"> + <gmd:contactInstructions> + <xsl:apply-templates mode="language"/> + </gmd:contactInstructions> + </xsl:for-each> + </gmd:CI_Contact> + </xsl:template> + + <xsl:template mode="phone" match="*"> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <xsl:for-each select="int:GM03_2_1Core.Core.CI_Telephone[int:numberType='mainNumber']"> + <gmd:voice> + <xsl:apply-templates mode="string" select="int:number"/> + </gmd:voice> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Core.Core.CI_Telephone[int:numberType='facsimile']"> + <gmd:facsimile> + <xsl:apply-templates mode="string" select="int:number"/> + </gmd:facsimile> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Core.Core.CI_Telephone[int:numberType='directNumber']"> + <che:directNumber> + <xsl:apply-templates mode="string" select="int:number"/> + </che:directNumber> + </xsl:for-each> + <xsl:for-each select="int:GM03_2_1Core.Core.CI_Telephone[int:numberType='mobile']"> + <che:mobile> + <xsl:apply-templates mode="string" select="int:number"/> + </che:mobile> + </xsl:for-each> + </che:CHE_CI_Telephone> + </gmd:phone> + </xsl:template> + + <xsl:template mode="RespParty" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">RespParty</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ====================================================================================== --> + + <xsl:template mode="address" match="*"> + <xsl:for-each select="int:address/int:GM03_2_1Core.Core.CI_Address/int:city"> + <gmd:city> + <xsl:apply-templates mode="string" select="."/> + </gmd:city> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2_1Core.Core.CI_Address/int:administrativeArea"> + <gmd:administrativeArea> + <xsl:apply-templates mode="string" select="."/> + </gmd:administrativeArea> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2_1Core.Core.CI_Address/int:postalCode"> + <gmd:postalCode> + <xsl:apply-templates mode="string" select="."/> + </gmd:postalCode> + </xsl:for-each> + <xsl:for-each select="int:country|address/int:GM03_2_1Core.Core.CI_Address/int:country"> + <gmd:country> + <gco:CharacterString> + <xsl:value-of select="."></xsl:value-of> + </gco:CharacterString> + </gmd:country> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2_1Core.Core.CI_Address/int:electronicMailAddress|int:electronicalMailAddress"> + <xsl:for-each select="int:GM03_2_1Core.Core.URL_/int:value"> + <gmd:electronicMailAddress> + <xsl:apply-templates mode="string" select="."/> + </gmd:electronicMailAddress> + </xsl:for-each> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2_1Core.Core.CI_Address/int:streetName"> + <che:streetName> + <xsl:apply-templates mode="string" select="."/> + </che:streetName> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2_1Core.Core.CI_Address/int:streetNumber"> + <che:streetNumber> + <xsl:apply-templates mode="string" select="."/> + </che:streetNumber> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2_1Core.Core.CI_Address/int:addressLine"> + <che:addressLine> + <xsl:apply-templates mode="string" select="."/> + </che:addressLine> + </xsl:for-each> + <xsl:for-each select="int:address/int:GM03_2_1Core.Core.CI_Address/int:postBox"> + <che:postBox> + <xsl:apply-templates mode="string" select="."/> + </che:postBox> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/spatial-repr.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/spatial-repr.xsl new file mode 100644 index 00000000000..a2d730ed700 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/GM03to19139CHE/version2_1/spatial-repr.xsl @@ -0,0 +1,184 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="int util" + xmlns:int="http://www.interlis.ch/INTERLIS2.3" + > + + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_VectorSpatialRepresentation" mode="SpatialRepr"> + <gmd:MD_VectorSpatialRepresentation> + <xsl:apply-templates mode="SpatialRepr"/> + </gmd:MD_VectorSpatialRepresentation> + </xsl:template> + + <xsl:template match="int:topologyLevel" mode="SpatialRepr"> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="./resources/codeList.xml#MD_TopologyLevelCode" codeListValue="{.}"/> + </gmd:topologyLevel> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_GridSpatialRepresentation" mode="SpatialRepr"> + <gmd:MD_GridSpatialRepresentation> + <xsl:apply-templates mode="SpatialRepr" select="int:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="int:GM03_2_1Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="int:cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="int:transformationParameterAvailability"/> + </gmd:MD_GridSpatialRepresentation> + </xsl:template> + + <xsl:template match="int:numberOfDimensions" mode="SpatialRepr"> + <gmd:numberOfDimensions> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:numberOfDimensions> + </xsl:template> + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_Dimension" mode="SpatialRepr"> + <gmd:axisDimensionProperties> + <xsl:apply-templates select="." mode="Dimension"/> + </gmd:axisDimensionProperties> + </xsl:template> + <xsl:template match="int:cellGeometry" mode="SpatialRepr"> + <gmd:cellGeometry> + <gmd:MD_CellGeometryCode codeList="./resources/codeList.xml#MD_CellGeometryCode" + codeListValue="{.}"/> + </gmd:cellGeometry> + </xsl:template> + <xsl:template match="int:transformationParameterAvailability" mode="SpatialRepr"> + <gmd:transformationParameterAvailability> + <xsl:apply-templates mode="boolean" select="text()"/> + </gmd:transformationParameterAvailability> + </xsl:template> + + <!-- ================================================================================= --> + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_Georeferenceable" mode="SpatialRepr"> + <gmd:MD_Georeferenceable> + <!-- gridSpatial properties --> + <xsl:apply-templates mode="SpatialRepr" select="int:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="int:GM03_2_1Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="int:cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="int:transformationParameterAvailability"/> + + <!-- specific to MD_Georeferenceable --> + <xsl:apply-templates mode="boolean" select="int:controlPointAvailability"/> + <xsl:apply-templates mode="boolean" select="int:orientationParameterAvailability"/> + <xsl:apply-templates mode="text" select="int:orientationParameterDescription"/> + <xsl:apply-templates mode="SpatialRepr" select="int:georeferencedParameters"/> + <xsl:apply-templates mode="Citation" select="int:parameterCitation"/> + </gmd:MD_Georeferenceable> + </xsl:template> + + <xsl:template match="int:georeferencedParameters" mode="SpatialRepr"> + <gmd:georeferencedParameters> + <gco:Record><xsl:value-of select="."/></gco:Record> + </gmd:georeferencedParameters> + </xsl:template> + <!-- ================================================================================= --> + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_Georectified" mode="SpatialRepr"> + <gmd:MD_Georectified> + <!-- gridSpatial properties --> + <xsl:apply-templates mode="SpatialRepr" select="int:numberOfDimensions"/> + <xsl:apply-templates mode="SpatialRepr" select="int:GM03_2_1Comprehensive.Comprehensive.MD_Dimension"/> + <xsl:apply-templates mode="SpatialRepr" select="int:cellGeometry"/> + <xsl:apply-templates mode="SpatialRepr" select="int:transformationParameterAvailability"/> + + <!-- specific to MD_Georectified --> + <xsl:apply-templates mode="boolean" select="int:checkPointAvailability"/> + <xsl:apply-templates mode="text" select="int:checkPointDescription"/> + <xsl:apply-templates mode="SpatialRepr" select="int:cornerPoints"/> + <xsl:apply-templates mode="SpatialRepr" select="int:centerPoint"/> + <xsl:apply-templates mode="SpatialRepr" select="int:pointInPixel"/> + <xsl:apply-templates mode="text" select="int:transformationDimensionDescription"/> + <xsl:apply-templates mode="text" select="int:transformationDimensionMapping"/> + </gmd:MD_Georectified> + </xsl:template> + + <xsl:template match="int:cornerPoints" mode="SpatialRepr"> + <xsl:for-each select="int:GM03_2_1Core.Core.GM_Point_"> + <gmd:cornerPoints> + <xsl:apply-templates mode="GM_Object" select="."/> + </gmd:cornerPoints> + </xsl:for-each> + </xsl:template> + + <xsl:template match="int:centerPoint" mode="SpatialRepr"> + <gmd:centerPoint> + <gml:Point gml:id="{util:randomId()}"> + <gml:coordinates><xsl:apply-templates mode="GM_Object" select="."/></gml:coordinates> + </gml:Point> + </gmd:centerPoint> + </xsl:template> + + <xsl:template match="int:pointInPixel" mode="SpatialRepr"> + <gmd:pointInPixel> + <gmd:MD_PixelOrientationCode><xsl:value-of select="."/></gmd:MD_PixelOrientationCode> + </gmd:pointInPixel> + </xsl:template> + <!-- ================================================================================= --> + + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_Dimension" mode="Dimension"> + <gmd:MD_Dimension> + <xsl:for-each select="int:dimensionName"> + <gmd:dimensionName> + <gmd:MD_DimensionNameTypeCode codeList="./resources/codeList.xml#MD_DimensionNameTypeCode" codeListValue="{.}"/> + </gmd:dimensionName> + </xsl:for-each> + + <xsl:for-each select="int:dimensionSize"> + <gmd:dimensionSize> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:dimensionSize> + </xsl:for-each> + + <xsl:for-each select="int:resolution"> + <gmd:resolution> + <gco:Measure uom="m"><xsl:value-of select="."/></gco:Measure> + </gmd:resolution> + </xsl:for-each> + </gmd:MD_Dimension> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template match="int:GM03_2_1Comprehensive.Comprehensive.MD_GeometricObjects" mode="SpatialRepr"> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <xsl:apply-templates mode="SpatialRepr"/> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </xsl:template> + + <xsl:template match="int:geometricObjectType" mode="SpatialRepr"> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="./resources/codeList.xml#MD_GeometricObjectTypeCode" + codeListValue="{.}"/> + </gmd:geometricObjectType> + </xsl:template> + + <xsl:template match="int:geometricObjectCount" mode="SpatialRepr"> + <gmd:geometricObjectCount> + <gco:Integer> + <xsl:value-of select="."/> + </gco:Integer> + </gmd:geometricObjectCount> + </xsl:template> + + <!-- ================================================================================= --> + + <xsl:template mode="SpatialRepr" match="text()"> + <xsl:call-template name="UnMatchedText"> + <xsl:with-param name="mode">SpatialRepr</xsl:with-param> + </xsl:call-template> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139-to-ISO19139CHE.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139-to-ISO19139CHE.xsl new file mode 100644 index 00000000000..22113ff137b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139-to-ISO19139CHE.xsl @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all" + version="2.0" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:srv="http://www.isotc211.org/2005/srv" +> + + <xsl:template match="/"> + <xsl:apply-templates select="*"/> + </xsl:template> + + <!-- Remove them --> + <xsl:template match="gmd:individualName|gmd:deliveryPoint" priority="2"/> + + <!-- Map all dateTime to date type --> + <xsl:template match="gco:DateTime[name(..)!='dateStamp']"> + <gco:Date> + <xsl:value-of select="substring-before(., 'T')"/> + </gco:Date> + </xsl:template> + + <xsl:template match="gmd:CI_ResponsibleParty"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <xsl:apply-templates select="*"/> + <che:individualFirstName/> + <che:individualLastName> + <gco:CharacterString> + <xsl:value-of select="gmd:individualName"/> + </gco:CharacterString> + </che:individualLastName> + </che:CHE_CI_ResponsibleParty> + </xsl:template> + + <xsl:template match="gmd:CI_Address"> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <xsl:apply-templates select="*"/> + <che:streetName> + <gco:CharacterString> + <xsl:value-of select="gmd:deliveryPoint"/> + </gco:CharacterString> + </che:streetName> + <che:streetNumber/> + </che:CHE_CI_Address> + </xsl:template> + + <xsl:template match="gmd:CI_Telephone"> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <xsl:apply-templates select="*"/> + <che:directNumber/> + <che:mobile/> + </che:CHE_CI_Telephone> + </xsl:template> + + <xsl:template match="gmd:MD_Legislation"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <xsl:apply-templates select="*"/> + </che:CHE_MD_Legislation> + </xsl:template> + + <xsl:template match="gmd:MD_LegalConstraints"> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <xsl:apply-templates select="*"/> + </che:CHE_MD_LegalConstraints> + </xsl:template> + + <xsl:template match="gmd:MD_MaintenanceInformation"> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <xsl:apply-templates select="*"/> + </che:CHE_MD_MaintenanceInformation> + </xsl:template> + + <xsl:template match="gmd:MD_PortrayalCatalogueReference"> + <che:CHE_MD_PortrayalCatalogueReference> + <xsl:apply-templates select="*"/> + </che:CHE_MD_PortrayalCatalogueReference> + </xsl:template> + + <xsl:template match="gmd:MD_FeatureCatalogueDescription"> + <che:CHE_MD_FeatureCatalogueDescription> + <xsl:apply-templates select="*"/> + </che:CHE_MD_FeatureCatalogueDescription> + </xsl:template> + + <xsl:template match="gmd:MD_CoverageDescription"> + <che:CHE_MD_CoverageDescription> + <xsl:apply-templates select="*"/> + </che:CHE_MD_CoverageDescription> + </xsl:template> + + <xsl:template match="gmd:MD_ImageDescription"> + <che:CHE_MD_ImageDescription> + <xsl:apply-templates select="*"/> + </che:CHE_MD_ImageDescription> + </xsl:template> + + <xsl:template match="srv:SV_ServiceIdentification"> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <xsl:apply-templates select="*"/> + </che:CHE_SV_ServiceIdentification> + </xsl:template> + + <xsl:template match="gmd:MD_DataIdentification"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <xsl:apply-templates select="*"/> + </che:CHE_MD_DataIdentification> + </xsl:template> + + <xsl:template match="gmd:MD_Metadata"> + <che:CHE_MD_Metadata gco:isoType="gmd:MD_Metadata"> + <xsl:apply-templates select="*"/> + </che:CHE_MD_Metadata> + </xsl:template> + + <xsl:template match="node()|@*"> + <xsl:copy> + <xsl:apply-templates select="node()|@*"/> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139CHE-to-GM03.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139CHE-to-GM03.xsl new file mode 100644 index 00000000000..41cbb9da557 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139CHE-to-GM03.xsl @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all"> + <xsl:output method="xml" + version="1.0" + exclude-result-prefixes="#all" + encoding="UTF-8" + indent="yes"/> + + <xsl:include href="19139CHEtoGM03/19139CHE-to-GM03.xsl"/> + + <xsl:strip-space elements="*"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139CHE-to-GM03small.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139CHE-to-GM03small.xsl new file mode 100644 index 00000000000..3a76fc2b1f8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/ISO19139CHE-to-GM03small.xsl @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="2.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all"> + <xsl:output method="xml" + version="1.0" + encoding="UTF-8" + indent="yes"/> + + <xsl:include href="19139CHEtoGM03small/19139CHE-to-GM03small.xsl"/> + + <xsl:strip-space elements="*"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCCSWGetCapabilities-to-ISO19119_ISO19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCCSWGetCapabilities-to-ISO19119_ISO19139.xsl new file mode 100644 index 00000000000..945e68febb2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCCSWGetCapabilities-to-ISO19119_ISO19139.xsl @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:include href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCCSWGetCapabilities-to-19119.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCSOSGetCapabilities-to-ISO19119_ISO19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCSOSGetCapabilities-to-ISO19119_ISO19139.xsl new file mode 100644 index 00000000000..3b6e4711a78 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCSOSGetCapabilities-to-ISO19119_ISO19139.xsl @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + <xsl:include href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCSOSGetCapabilities-to-19119.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCSOSGetCapabilitiesLayer-to-19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCSOSGetCapabilitiesLayer-to-19139.xsl new file mode 100644 index 00000000000..329d4630d83 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCSOSGetCapabilitiesLayer-to-19139.xsl @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + <xsl:include + href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCSOSGetCapabilitiesLayer-to-19139.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWCSGetCapabilities-to-ISO19119_ISO19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWCSGetCapabilities-to-ISO19119_ISO19139.xsl new file mode 100644 index 00000000000..edd60aae5fb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWCSGetCapabilities-to-ISO19119_ISO19139.xsl @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:include href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCWxSGetCapabilities-to-19119.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWCSGetCapabilitiesLayer-to-19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWCSGetCapabilitiesLayer-to-19139.xsl new file mode 100644 index 00000000000..5aac9442b9e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWCSGetCapabilitiesLayer-to-19139.xsl @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + <xsl:include + href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCWxSGetCapabilitiesLayer-to-19139.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWFSGetCapabilities-to-ISO19119_ISO19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWFSGetCapabilities-to-ISO19119_ISO19139.xsl new file mode 100644 index 00000000000..edd60aae5fb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWFSGetCapabilities-to-ISO19119_ISO19139.xsl @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:include href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCWxSGetCapabilities-to-19119.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWFSGetCapabilitiesLayer-to-19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWFSGetCapabilitiesLayer-to-19139.xsl new file mode 100644 index 00000000000..5aac9442b9e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWFSGetCapabilitiesLayer-to-19139.xsl @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + <xsl:include + href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCWxSGetCapabilitiesLayer-to-19139.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWMSGetCapabilities-to-ISO19119_ISO19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWMSGetCapabilities-to-ISO19119_ISO19139.xsl new file mode 100644 index 00000000000..edd60aae5fb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWMSGetCapabilities-to-ISO19119_ISO19139.xsl @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:include href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCWxSGetCapabilities-to-19119.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWMSGetCapabilitiesLayer-to-19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWMSGetCapabilitiesLayer-to-19139.xsl new file mode 100644 index 00000000000..5aac9442b9e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWMSGetCapabilitiesLayer-to-19139.xsl @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + <xsl:include + href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCWxSGetCapabilitiesLayer-to-19139.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWPSGetCapabilities-to-ISO19119_ISO19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWPSGetCapabilities-to-ISO19119_ISO19139.xsl new file mode 100644 index 00000000000..edd60aae5fb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/OGCWxSGetCapabilitiesto19119/OGCWPSGetCapabilities-to-ISO19119_ISO19139.xsl @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:include href="../../../../../xsl/conversion/OGCWxSGetCapabilitiesto19119/OGCWxSGetCapabilities-to-19119.xsl"/> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <xsl:apply-templates/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/netcdf-attributes.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/netcdf-attributes.xsl new file mode 100644 index 00000000000..530ba127bb4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/netcdf-attributes.xsl @@ -0,0 +1,808 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:tds="http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0" + xmlns:nc="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:util="java:java.util.UUID" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" + exclude-result-prefixes="util xsi tds nc"> + + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + + <xsl:include href="thredds/utils.xsl"/> + + <!-- + This xslt transforms netcdf metadata to ISO19139 metadata that can be used by the thredds harvester to generate iso metadata from thredds catalogs. + + Transformation based on: + + thredds.catalog.dl.DIFWriter in the netcdf4.0 java library + http://www.unidata.ucar.edu/projects/THREDDS/tech/catalog/InvCatalogSpec.html + http://www.unidata.ucar.edu/software/netcdf-java/formats/DataDiscoveryAttConvention.html + https://www.nosc.noaa.gov/dmc/swg/wiki/index.php?title=NetCDF_Attribute_Convention_for_Dataset_Discovery + + Requires netcdf java library on class path (e.g. netcdf4.0.jar) for netcdf date transformation routines + + --> + + <!-- === Default rule - do nothing/match children === --> + + <xsl:template match="@*|node()"> + <xsl:apply-templates/> + </xsl:template> + + <!-- === Get file name from location (bit after final '/') === --> + + <xsl:variable name="name" select="replace(/root/nc:netcdf/@location,'^.*/','')"/> + + <!-- === Add fragments === --> + + <xsl:template match="/root"> + <records> + <xsl:for-each select="nc:netcdf[1]"> + <xsl:variable name="authority" select="nc:attribute[@name='authority']/@value"/> + <xsl:variable name="id" select="nc:attribute[@name='id']/@value"/> + <xsl:variable name="uuid"> + <xsl:if test="$authority and $id"> + <xsl:value-of select="concat($authority,':')"/> + </xsl:if> + <xsl:value-of select="$id"/> + </xsl:variable> + + <record uuid="{$uuid}"> + + <!-- Metadata creation date [Mandatory] --> + + <fragment id="thredds.metadata.creation" uuid="{util:toString(util:randomUUID())}" + title="{concat($name,'_metadata_creation')}"> + <gmd:dateStamp> + <gco:DateTime> + <xsl:variable name="creationDate" select="nc:attribute[@name='date_created']/@value"/> + + <xsl:choose> + <xsl:when test="$creationDate!=''"> + <!-- Use resource creation date if available --> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$creationDate"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <!-- Otherwise use curent date --> + <xsl:call-template name="getUtcDateTime"> + <xsl:with-param name="dateTime" select="current-dateTime()"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </gco:DateTime> + </gmd:dateStamp> + </fragment> + + <!-- Metadata title [Mandatory] --> + + <fragment id="thredds.title" uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_title')}"> + <gmd:title> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="nc:attribute[@name='title']/@value != ''"> + <xsl:value-of select="nc:attribute[@name='title']/@value"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@title"/> + </xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </gmd:title> + </fragment> + + <!-- Resource dates [0..3] --> + + <replacementGroup id="thredds.resource.dates"> + + <!-- creation date --> + + <xsl:variable name="creationDate" select="nc:attribute[@name='date_created']/@value"/> + + <xsl:if test="$creationDate!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_resource_creation')}"> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$creationDate"/> + </xsl:call-template> + </gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="creation"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </fragment> + </xsl:if> + + <!-- Revision date [0..1] --> + + <xsl:variable name="modifiedDate" select="nc:attribute[@name='date_modified']/@value"/> + + <xsl:if test="$modifiedDate!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_resource_revision')}"> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$modifiedDate"/> + </xsl:call-template> + </gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </fragment> + </xsl:if> + + <!-- Publication date [0..1] --> + + <xsl:variable name="issuedDate" select="nc:attribute[@name='date_issued']/@value"/> + + <xsl:if test="$issuedDate!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_resource_published')}"> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$issuedDate"/> + </xsl:call-template> + </gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </fragment> + </xsl:if> + </replacementGroup> + + <!-- Responsible Parties [0..N] --> + + <replacementGroup id="thredds.responsible.parties"> + + <!-- Publishers [0..N] --> + + <xsl:variable name="publisher_name" select="nc:attribute[@name='publisher_name']/@value"/> + <xsl:variable name="publisher_url" select="nc:attribute[@name='publisher_url']/@value"/> + <xsl:variable name="publisher_email" select="nc:attribute[@name='publisher_email']/@value"/> + + <xsl:if test="$publisher_name!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_publisher')}"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="$publisher_name"/> + </gco:CharacterString> + </gmd:individualName> + <xsl:if test="$publisher_url!='' or $publisher_email!=''"> + <gmd:contactInfo> + <gmd:CI_Contact> + <xsl:if test="$publisher_email!=''"> + <gmd:address> + <gmd:CI_Address> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="$publisher_email"/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + <xsl:if test="$publisher_url!=''"> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="$publisher_url"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </xsl:if> + </gmd:CI_Contact> + </gmd:contactInfo> + </xsl:if> + <gmd:role> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="publisher"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </fragment> + </xsl:if> + + <!-- Originators [0..N] --> + + <xsl:variable name="creator_name" select="nc:attribute[@name='creator_name']/@value"/> + <xsl:variable name="creator_url" select="nc:attribute[@name='creator_url']/@value"/> + <xsl:variable name="creator_email" select="nc:attribute[@name='creator_email']/@value"/> + <xsl:variable name="institution" select="nc:attribute[@name='institution']/@value"/> + + <xsl:if test="$creator_name!='' or $institution!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_originator')}"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <xsl:if test="$creator_name!=''"> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="$creator_name"/> + </gco:CharacterString> + </gmd:individualName> + </xsl:if> + <xsl:if test="$institution!=''"> + <gmd:organisationName> + <gco:CharacterString> + <xsl:value-of select="$institution"/> + </gco:CharacterString> + </gmd:organisationName> + </xsl:if> + <xsl:if test="$creator_url!='' or $creator_email!=''"> + <gmd:contactInfo> + <gmd:CI_Contact> + <xsl:if test="$creator_email!=''"> + <gmd:address> + <gmd:CI_Address> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="$creator_email"/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + <xsl:if test="$creator_url!=''"> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="$creator_url"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </xsl:if> + </gmd:CI_Contact> + </gmd:contactInfo> + </xsl:if> + <gmd:role> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="originator"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </fragment> + </xsl:if> + + <!-- contributors [0..1] --> + + <xsl:variable name="contributor_name" select="nc:attribute[@name='contributor_name']/@value"/> + <xsl:variable name="contributor_role" select="nc:attribute[@name='contributor_role']/@value"/> + + <xsl:if test="$contributor_name!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_author')}"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="$contributor_name"/> + </gco:CharacterString> + </gmd:individualName> + <gmd:role> + <xsl:choose> + <xsl:when test="$contributor_role='PI'"> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="principalInvestigator"/> + </xsl:when> + <xsl:otherwise> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="author"/> + </xsl:otherwise> + </xsl:choose> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </fragment> + </xsl:if> + </replacementGroup> + + <!-- Abstract [1]--> + + <xsl:variable name="summary" select="nc:attribute[@name='summary']/@value"/> + + <fragment id="thredds.abstract" uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_abstract')}"> + <gmd:abstract> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="$summary!=''"> + <xsl:value-of select="$summary"/> + </xsl:when> + <xsl:otherwise>NetCDF dataset</xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </gmd:abstract> + </fragment> + + <!-- Credit [0..1] --> + + <xsl:variable name="acknowledgment" select="nc:attribute[@name='acknowledgment']/@value"/> + + <replacementGroup id="thredds.credit"> + <xsl:if test="$acknowledgment!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_credit')}"> + <gmd:credit> + <gco:CharacterString> + <xsl:value-of select="$acknowledgment"/> + </gco:CharacterString> + </gmd:credit> + </fragment> + </xsl:if> + </replacementGroup> + + <!-- Keywords [0..N] --> + + <xsl:variable name="keywords" select="nc:attribute[@name='keywords']/@value"/> + <xsl:variable name="keywords_vocabulary" select="nc:attribute[@name='keywords_vocabulary']/@value"/> + + <!-- Keywords [0..N] --> + + <replacementGroup id="thredds.keywords"> + <xsl:if test="$keywords!=''"> + <xsl:call-template name="descriptive-keywords"> + <xsl:with-param name="vocabulary" select="$keywords_vocabulary"/> + <xsl:with-param name="keywords" select="tokenize($keywords,',')"/> + </xsl:call-template> + </xsl:if> + </replacementGroup> + + <!-- Use constraints [0..1] --> + + <xsl:variable name="license" select="nc:attribute[@name='license']/@value"/> + + <replacementGroup id="thredds.use.constraints"> + <xsl:if test="$license!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_use_constraints')}"> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + <gmd:otherConstraints> + <gco:CharacterString> + <xsl:value-of select="$license"/> + </gco:CharacterString> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </fragment> + </xsl:if> + </replacementGroup> + + <!-- Aggregation info (Project) [0-1] --> + + <xsl:variable name="project" select="nc:attribute[@name='project']/@value"/> + + <replacementGroup id="thredds.project"> + <xsl:if test="$project!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_project')}"> + <gmd:aggregationInfo> + <gmd:MD_AggregateInformation> + <gmd:aggregateDataSetName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString> + <xsl:value-of select="$project"/> + </gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue=""/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:aggregateDataSetName> + <gmd:associationType> + <gmd:DS_AssociationTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#DS_AssociationTypeCode" + codeListValue="largerWorkCitation">largerWorkCitation + </gmd:DS_AssociationTypeCode> + </gmd:associationType> + <gmd:initiativeType> + <gmd:DS_InitiativeTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#DS_InitiativeTypeCode" + codeListValue="project">project + </gmd:DS_InitiativeTypeCode> + </gmd:initiativeType> + </gmd:MD_AggregateInformation> + </gmd:aggregationInfo> + </fragment> + </xsl:if> + </replacementGroup> + + <!-- Extent [Mandatory for dataset] --> + + <fragment id="thredds.extent" uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_extent')}"> + <gmd:extent> + <gmd:EX_Extent> + + <!-- geographic extent [0..1] --> + + <xsl:variable name="geospatial_lat_min" select="nc:attribute[@name='geospatial_lat_min']/@value"/> + <xsl:variable name="geospatial_lat_max" select="nc:attribute[@name='geospatial_lat_max']/@value"/> + <xsl:variable name="geospatial_lon_min" select="nc:attribute[@name='geospatial_lon_min']/@value"/> + <xsl:variable name="geospatial_lon_max" select="nc:attribute[@name='geospatial_lon_max']/@value"/> + + <xsl:if + test="$geospatial_lat_min!='' or $geospatial_lat_max!='' or $geospatial_lon_min!='' or $geospatial_lon_max!=''"> + <!-- TODO: check lat/lon units --> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal> + <xsl:value-of select="$geospatial_lon_min"/> + </gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal> + <xsl:value-of select="$geospatial_lon_max"/> + </gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal> + <xsl:value-of select="$geospatial_lat_min"/> + </gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal> + <xsl:value-of select="$geospatial_lat_max"/> + </gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </xsl:if> + + <!-- temporal extent [0..1] --> + + <xsl:variable name="time_coverage_start" select="nc:attribute[@name='time_coverage_start']/@value"/> + <xsl:variable name="time_coverage_end" select="nc:attribute[@name='time_coverage_end']/@value"/> + <xsl:variable name="time_coverage_duration" + select="nc:attribute[@name='time_coverage_duration']/@value"/> + <xsl:variable name="time_coverage_resolution" + select="nc:attribute[@name='time_coverage_resolution']/@value"/> + + <xsl:if test="$time_coverage_start!='' or $time_coverage_end!=''"> + <xsl:variable name="dateRange"> + <xsl:call-template name="resolveThreddsDateRange"> + <xsl:with-param name="start" select="$time_coverage_start"/> + <xsl:with-param name="end" select="$time_coverage_end"/> + <xsl:with-param name="duration" select="$time_coverage_duration"/> + </xsl:call-template> + </xsl:variable> + + <gmd:temporalElement> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{generate-id(.)}"> + <gml:beginPosition> + <xsl:value-of select="$dateRange/startDate"/> + </gml:beginPosition> + <gml:endPosition> + <xsl:value-of select="$dateRange/endDate"/> + </gml:endPosition> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </gmd:temporalElement> + </xsl:if> + + <!-- vertical extent [0-1] --> + + <xsl:variable name="geospatial_vertical_min" + select="nc:attribute[@name='geospatial_vertical_min']/@value"/> + <xsl:variable name="geospatial_vertical_max" + select="nc:attribute[@name='geospatial_vertical_max']/@value"/> + + <xsl:if test="$geospatial_vertical_min!='' or $geospatial_vertical_max!=''"> + <gmd:verticalElement> + <gmd:EX_VerticalExtent> + <gmd:minimumValue> + <gco:Real> + <xsl:value-of select="$geospatial_vertical_min"/> + </gco:Real> + </gmd:minimumValue> + <gmd:maximumValue> + <gco:Real> + <xsl:value-of select="$geospatial_vertical_max"/> + </gco:Real> + </gmd:maximumValue> + </gmd:EX_VerticalExtent> + </gmd:verticalElement> + </xsl:if> + + </gmd:EX_Extent> + </gmd:extent> + </fragment> + + <!-- Supplemental information [0..1] --> + + <xsl:variable name="comment" select="nc:attribute[@name='comment']/@value"/> + + <replacementGroup id="thredds.supplemental"> + <xsl:if test="$comment!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_supplemental')}"> + <gmd:supplementalInformation> + <gco:CharacterString> + <xsl:value-of select="$comment"/> + </gco:CharacterString> + </gmd:supplementalInformation> + </fragment> + </xsl:if> + </replacementGroup> + + <!-- Online resources [2..N] --> + + <replacementGroup id="thredds.online.resources"> + <xsl:variable name="catalogUrl" select="replace(/root/catalogUri,'.xml','.html')"/> + + <!-- Links to services --> + + <xsl:for-each select="//tds:serviceName|//@serviceName"> + <xsl:variable name="serviceName" select="string(.)"/> + <xsl:apply-templates select="/root/tds:catalog//tds:service[@name=$serviceName]" mode="transfer-options"/> + </xsl:for-each> + + <!-- Link to thredds catalog for dataset --> + + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_dataset_link')}"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="concat($catalogUrl,'?dataset=',/root/tds:catalog/tds:dataset/@ID)"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--downloaddata</gco:CharacterString> + </gmd:protocol> + <gmd:description> + <gco:CharacterString>THREDDS Metadata</gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </fragment> + + <!-- Link to thredds catalog containing dataset --> + + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_dataset_link')}"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="$catalogUrl"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--downloaddata</gco:CharacterString> + </gmd:protocol> + <gmd:description> + <gco:CharacterString>THREDDS CATALOG</gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </fragment> + + </replacementGroup> + + <!-- Lineage --> + + <xsl:variable name="history" select="nc:attribute[@name='history']/@value"/> + + <replacementGroup id="thredds.data.quality"> + <xsl:if test="$history!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_history')}"> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset">dataset + </gmd:MD_ScopeCode> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement> + <gco:CharacterString> + <xsl:value-of select="$history"/> + </gco:CharacterString> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + </fragment> + </xsl:if> + + <xsl:variable name="processing_level" select="nc:attribute[@name='processing_level']/@value"/> + + <xsl:if test="$processing_level!=''"> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset">dataset + </gmd:MD_ScopeCode> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement> + <gco:CharacterString> + <xsl:value-of select="$processing_level"/> + </gco:CharacterString> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + </xsl:if> + </replacementGroup> + + </record> + </xsl:for-each> + </records> + </xsl:template> + + <!-- === Descriptive Keywords === --> + + <xsl:template name="descriptive-keywords"> + <xsl:param name="vocabulary"/> + <xsl:param name="keywords"/> + + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_keywords')}"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="$keywords"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <xsl:if test="$vocabulary!=''"> + <xsl:call-template name="thesaurus"> + <xsl:with-param name="name" select="$vocabulary"/> + </xsl:call-template> + </xsl:if> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </fragment> + </xsl:template> + + <!-- === Thesaurus === --> + + <xsl:template name="thesaurus"> + <xsl:param name="name"/> + + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString> + <xsl:value-of select="$name"/> + </gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date></gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue=""/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:thesaurusName> + </xsl:template> + + <!-- === Online resources for Transfer options === --> + + <xsl:template match="tds:service" mode="transfer-options"> + <xsl:choose> + <xsl:when test="@serviceType='Compound'"> + <xsl:apply-templates mode="transfer-options"/> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="catalogPath" select="replace(/root/catalogUri,'^http://[^/]*','')"/> + <xsl:variable name="catalogHost" select="substring-before(/root/catalogUri,$catalogPath)"/> + <xsl:variable name="baseUrl" select="@base"/> + <xsl:variable name="urlPath" select="/root/tds:catalog/tds:dataset/@urlPath"/> + + <xsl:variable name="service-suffix"> + <xsl:if test="@serviceType='OPENDAP'">.html</xsl:if> + </xsl:variable> + + <xsl:variable name="protocol"> + <xsl:choose> + <xsl:when test="@serviceType='WMS'">OGC:WMS</xsl:when> + <xsl:when test="@serviceType='WCS'">OGC:WCS</xsl:when> + <xsl:otherwise>WWW:LINK-1.0-http--downloaddata</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($name,'_service_url')}"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="concat($catalogHost,$baseUrl,$urlPath,$service-suffix)"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString> + <xsl:value-of select="$protocol"/> + </gco:CharacterString> + </gmd:protocol> + <gmd:name gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:name> + <gmd:description> + <gco:CharacterString>Data available via + <xsl:value-of select="@serviceType"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </fragment> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/thredds-metadata.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/thredds-metadata.xsl new file mode 100644 index 00000000000..505d9ab61a4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/thredds-metadata.xsl @@ -0,0 +1,782 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:tds="http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0" + xmlns:nc="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:util="java:java.util.UUID" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" + exclude-result-prefixes="util xs xsi tds nc"> + + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + + <xsl:include href="thredds/utils.xsl"/> + + <!-- + This xslt transforms thredds/ncml metadata to ISO19139 metadata that can be used by the thredds harvester to generate iso metadata from thredds catalogs. + + Transformation based on: + + thredds.catalog.dl.DIFWriter in the netcdf4.0 java library + http://www.unidata.ucar.edu/projects/THREDDS/tech/catalog/InvCatalogSpec.html + http://www.unidata.ucar.edu/software/netcdf-java/formats/DataDiscoveryAttConvention.html + https://www.nosc.noaa.gov/dmc/swg/wiki/index.php?title=NetCDF_Attribute_Convention_for_Dataset_Discovery + + Requires netcdf java library on class path (e.g. netcdf4.0.jar) for netcdf date transformation routines + + --> + + <!-- === Default rule - do nothing/match children === --> + + <xsl:template match="@*|node()"> + <xsl:apply-templates/> + </xsl:template> + + <!-- === Add fragments === --> + + <xsl:variable name="datasetName" select="/root/tds:catalog/tds:dataset/@name"/> + + <xsl:template match="/root"> + <records> + <xsl:for-each select="tds:catalog/tds:dataset[1 and $datasetName!='latest.xml']"> + <xsl:variable name="authority" select="tds:authority|tds:metadata//tds:authority|@authority"/> + <xsl:variable name="id" select="@ID"/> + <xsl:variable name="uuid"> + <xsl:if test="$authority[1] and $id"> + <xsl:value-of select="concat($authority[1],':')"/> + </xsl:if> + <xsl:value-of select="$id"/> + </xsl:variable> + + <record uuid="{$uuid}"> + + <!-- Metadata creation date [Mandatory] --> + + <fragment id="thredds.metadata.creation" uuid="{util:toString(util:randomUUID())}" + title="{concat($datasetName,'_metadata_creation')}"> + <gmd:dateStamp> + <gco:DateTime> + <xsl:variable name="creationDate" + select="tds:date[@type='created']|tds:metadata//tds:date[@type='created']"/> + + <xsl:choose> + <xsl:when test="$creationDate[1]!=''"> + <!-- Use resource creation date if available --> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$creationDate[1]"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <!-- Otherwise use curent date --> + <xsl:call-template name="getUtcDateTime"> + <xsl:with-param name="dateTime" select="current-dateTime()"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </gco:DateTime> + </gmd:dateStamp> + </fragment> + + <!-- Metadata title [Mandatory] --> + + <fragment id="thredds.title" uuid="{util:toString(util:randomUUID())}" + title="{concat($datasetName,'_title')}"> + <gmd:title> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="normalize-space(@urlPath)!=''"> + <xsl:value-of select="@urlPath"/> + </xsl:when> + <xsl:when test="normalize-space(@ID)!=''"> + <xsl:value-of select="@ID"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </gmd:title> + </fragment> + + + <!-- Resource dates [0..3] --> + + <replacementGroup id="thredds.resource.dates"> + + <!-- creation date --> + + <xsl:variable name="creationDate" + select="tds:date[@type='created']|tds:metadata//tds:date[@type='created']"/> + + <xsl:if test="$creationDate[1]!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_resource_creation')}"> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$creationDate[1]"/> + </xsl:call-template> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="creation"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </fragment> + </xsl:if> + + <!-- Revision date [0..1] --> + + <xsl:variable name="modifiedDate" + select="tds:date[@type='modified']|tds:metadata//tds:date[@type='modified']"/> + + <xsl:if test="$modifiedDate[1]!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_resource_revision')}"> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$modifiedDate[1]"/> + </xsl:call-template> + </gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </fragment> + </xsl:if> + + <!-- published date --> + + <xsl:variable name="issuedDate" select="tds:date[@type='issued']|tds:metadata//tds:date[@type='issued']"/> + + <xsl:if test="$issuedDate[1]!=''"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_resource_published')}"> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$issuedDate[1]"/> + </xsl:call-template> + </gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </fragment> + </xsl:if> + </replacementGroup> + + <!-- Responsible Parties [0..N] --> + + <replacementGroup id="thredds.responsible.parties"> + + <!-- Publishers [0..N] --> + + <xsl:for-each select="tds:publisher|tds:metadata//tds:publisher"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_publisher')}"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="tds:name"/> + </gco:CharacterString> + </gmd:individualName> + <xsl:if test="tds:contact/@name!='' or tds:contact/@url!=''"> + <gmd:contactInfo> + <gmd:CI_Contact> + <xsl:if test="tds:contact/@name!=''"> + <gmd:address> + <gmd:CI_Address> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="tds:contact/@email"/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + <xsl:if test="tds:contact/@url!=''"> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="tds:contact/@url"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </xsl:if> + </gmd:CI_Contact> + </gmd:contactInfo> + </xsl:if> + <gmd:role> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="publisher"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </fragment> + </xsl:for-each> + + <!-- Originators [0..N] --> + + <xsl:for-each select="tds:creator|tds:metadata//tds:creator"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_originator')}"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="tds:name"/> + </gco:CharacterString> + </gmd:individualName> + <xsl:if test="tds:contact/@name!='' or tds:contact/@url!=''"> + <gmd:contactInfo> + <gmd:CI_Contact> + <xsl:if test="tds:contact/@name!=''"> + <gmd:address> + <gmd:CI_Address> + <gmd:electronicMailAddress> + <gco:CharacterString> + <xsl:value-of select="tds:contact/@email"/> + </gco:CharacterString> + </gmd:electronicMailAddress> + </gmd:CI_Address> + </gmd:address> + </xsl:if> + <xsl:if test="tds:contact/@url!=''"> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="tds:contact/@url"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </xsl:if> + </gmd:CI_Contact> + </gmd:contactInfo> + </xsl:if> + <gmd:role> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="originator"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </fragment> + </xsl:for-each> + + <!-- contributors [0..N] --> + + <xsl:for-each select="tds:contributor|tds:metadata//tds:contributor"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_author')}"> + <gmd:citedResponsibleParty> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:individualName> + <gmd:role> + <xsl:choose> + <xsl:when test="@role='PI'"> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="principalInvestigator"/> + </xsl:when> + <xsl:otherwise> + <gmd:CI_RoleCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" + codeListValue="author"/> + </xsl:otherwise> + </xsl:choose> + </gmd:role> + </gmd:CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </fragment> + </xsl:for-each> + </replacementGroup> + + <!-- Abstract [Mandatory]]--> + + <fragment id="thredds.abstract" uuid="{util:toString(util:randomUUID())}" + title="{concat($datasetName,'_abstract')}"> + <gmd:abstract> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="tds:documentation[@type='summary']|tds:metadata//tds:documentation[@type='summary']"> + <xsl:for-each + select="tds:documentation[@type='summary']|tds:metadata//tds:documentation[@type='summary']"> + <xsl:value-of select="."/> + </xsl:for-each> + </xsl:when> + <xsl:otherwise>Thredds dataset</xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </gmd:abstract> + </fragment> + + <!-- Credit [0..N]--> + + <replacementGroup id="thredds.credit"> + <xsl:for-each select="tds:documentation[@type='funding']|tds:metadata//tds:documentation[@type='funding']"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_credit')}"> + <gmd:credit> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:credit> + </fragment> + </xsl:for-each> + </replacementGroup> + + <!-- Keywords [0..N] --> + + <replacementGroup id="thredds.keywords"> + <!-- Add keywords with no vocabulary specified --> + <xsl:if test="tds:keyword[not(@vocabulary)]|tds:metadata//tds:keyword[not(@vocabulary)]"> + <xsl:call-template name="descriptive-keywords"> + <xsl:with-param name="keywords" + select="tds:keyword[not(@vocabulary)]|tds:metadata//tds:keyword[not(@vocabulary)]"/> + </xsl:call-template> + </xsl:if> + + <!-- Add keywords belonging to a vocabulary --> + <xsl:for-each-group select="tds:keyword|tds:metadata//tds:keyword" group-by="@vocabulary"> + <xsl:call-template name="descriptive-keywords"> + <xsl:with-param name="vocabulary" select="current-grouping-key()"/> + <xsl:with-param name="keywords" select="current-group()"/> + </xsl:call-template> + </xsl:for-each-group> + </replacementGroup> + + <!-- Use constraints [0..1] --> + + <replacementGroup id="thredds.use.constraints"> + <xsl:for-each select="tds:documentation[@type='rights']|tds:metadata//tds:documentation[@type='rights']"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_use_constraints')}"> + <gmd:MD_LegalConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode + codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + <gmd:otherConstraints> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </fragment> + </xsl:for-each> + </replacementGroup> + + <!-- Aggregation info (Project) [0-N] --> + + <replacementGroup id="thredds.project"> + <xsl:for-each select="tds:project|tds:metadata//tds:project"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_project')}"> + <gmd:aggregationInfo> + <gmd:MD_AggregateInformation> + <gmd:aggregateDataSetName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue=""/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:aggregateDataSetName> + <gmd:associationType> + <gmd:DS_AssociationTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#DS_AssociationTypeCode" + codeListValue="largerWorkCitation">largerWorkCitation + </gmd:DS_AssociationTypeCode> + </gmd:associationType> + <gmd:initiativeType> + <gmd:DS_InitiativeTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#DS_InitiativeTypeCode" + codeListValue="project">project + </gmd:DS_InitiativeTypeCode> + </gmd:initiativeType> + </gmd:MD_AggregateInformation> + </gmd:aggregationInfo> + </fragment> + </xsl:for-each> + </replacementGroup> + + <!-- Extent [Mandatory for dataset] --> + + <fragment id="thredds.extent" uuid="{util:toString(util:randomUUID())}" + title="{concat($datasetName,'_extent')}"> + <gmd:extent> + <gmd:EX_Extent> + + <!-- geographic extent [0..1] --> + + <xsl:for-each select="tds:geospatialCoverage|tds:metadata//tds:geospatialCoverage"> + <!-- TODO: support lat/long in units other than deegrees --> + <xsl:if test="tds:northsouth/tds:units='degrees_north' and tds:eastwest/tds:units='degrees_east'"> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal> + <xsl:value-of select="tds:eastwest/tds:start"/> + </gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal> + <xsl:value-of select="tds:eastwest/tds:start + tds:eastwest/tds:size"/> + </gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal> + <xsl:value-of select="tds:northsouth/tds:start"/> + </gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal> + <xsl:value-of select="tds:northsouth/tds:start + tds:northsouth/tds:size"/> + </gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </xsl:if> + </xsl:for-each> + + <!-- temporal extent [0..1] --> + + <xsl:for-each select="tds:timeCoverage|tds:metadata//tds:timeCoverage"> + <xsl:variable name="dateRange"> + <xsl:call-template name="resolveThreddsDateRange"> + <xsl:with-param name="start" select="tds:start"/> + <xsl:with-param name="end" select="tds:end"/> + <xsl:with-param name="duration" select="tds:duration"/> + </xsl:call-template> + </xsl:variable> + + <gmd:temporalElement> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{generate-id(.)}"> + <gml:beginPosition> + <xsl:value-of select="$dateRange/startDate"/> + </gml:beginPosition> + <gml:endPosition> + <xsl:value-of select="$dateRange/endDate"/> + </gml:endPosition> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </gmd:temporalElement> + </xsl:for-each> + + <!-- vertical extent [0-1] --> + + <xsl:for-each + select="tds:geospatialCoverage/tds:updown|tds:metadata//tds:geospatialCoverage/tds:updown"> + <gmd:verticalElement> + <gmd:EX_VerticalExtent> + <gmd:minimumValue> + <gco:Real> + <xsl:value-of select="tds:start"/> + </gco:Real> + </gmd:minimumValue> + <gmd:maximumValue> + <gco:Real> + <xsl:value-of select="tds:start+tds:size"/> + </gco:Real> + </gmd:maximumValue> + </gmd:EX_VerticalExtent> + </gmd:verticalElement> + </xsl:for-each> + + </gmd:EX_Extent> + </gmd:extent> + </fragment> + + <!-- Supplemental information [0..1] --> + + <replacementGroup id="thredds.supplemental"> + <xsl:if test="tds:documentation[not(@type)]|tds:metadata//tds:documentation[not(@type)]"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_supplemental')}"> + <gmd:supplementalInformation> + <gco:CharacterString> + <xsl:for-each select="tds:documentation[not(@type)]|tds:metadata//tds:documentation[not(@type)]"> + <xsl:value-of select="."/> + </xsl:for-each> + </gco:CharacterString> + </gmd:supplementalInformation> + </fragment> + </xsl:if> + </replacementGroup> + + <!-- Online resources [2..N] --> + + <replacementGroup id="thredds.online.resources"> + <xsl:variable name="catalogUrl" select="replace(/root/catalogUri,'.xml','.html')"/> + + <!-- Links to services if an atomic dataset --> + + <xsl:if test="not(tds:dataset)"> + <xsl:for-each select="tds:serviceName|tds:metadata//tds:serviceName|@serviceName"> + <xsl:variable name="serviceName" select="string(.)"/> + <xsl:apply-templates select="/root/tds:catalog//tds:service[@name=$serviceName]" + mode="transfer-options"/> + </xsl:for-each> + </xsl:if> + + <!-- Link to thredds catalog for dataset --> + + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_dataset_link')}"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="concat($catalogUrl,'?dataset=',@ID)"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--downloaddata</gco:CharacterString> + </gmd:protocol> + <gmd:description> + <gco:CharacterString>THREDDS Metadata</gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </fragment> + + <!-- Link to thredds catalog containing dataset --> + + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_catalog_link')}"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="$catalogUrl"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--downloaddata</gco:CharacterString> + </gmd:protocol> + <gmd:description> + <gco:CharacterString>THREDDS Catalog</gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </fragment> + + </replacementGroup> + + <!-- Lineage [0..N] --> + + <replacementGroup id="thredds.data.quality"> + <xsl:for-each select="tds:documentation[@type='history']|tds:metadata//tds:documentation[@type='history']"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_history')}"> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset">dataset + </gmd:MD_ScopeCode> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + </fragment> + </xsl:for-each> + + <xsl:for-each + select="tds:documentation[@type='processing_level']|tds:metadata//tds:documentation[@type='processing_level']"> + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_processing_level')}"> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset">dataset + </gmd:MD_ScopeCode> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + </fragment> + </xsl:for-each> + </replacementGroup> + + </record> + </xsl:for-each> + </records> + </xsl:template> + + <!-- === Descriptive Keywords === --> + + <xsl:template name="descriptive-keywords"> + <xsl:param name="vocabulary"/> + <xsl:param name="keywords"/> + + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_keywords')}"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:apply-templates mode="keywords" select="$keywords"/> + <xsl:if test="$vocabulary"> + <xsl:call-template name="thesaurus"> + <xsl:with-param name="name" select="$vocabulary"/> + </xsl:call-template> + </xsl:if> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </fragment> + </xsl:template> + + <!-- === Keyword === --> + + <xsl:template match="tds:keyword" mode="keywords"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:keyword> + </xsl:template> + + <!-- === Thesaurus === --> + + <xsl:template name="thesaurus"> + <xsl:param name="name"/> + + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString> + <xsl:value-of select="$name"/> + </gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date></gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue=""/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:thesaurusName> + </xsl:template> + + <!-- === Online resources for Transfer options === --> + + <xsl:template match="tds:service" mode="transfer-options"> + <xsl:choose> + <xsl:when test="@serviceType='Compound'"> + <xsl:apply-templates mode="transfer-options"/> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="catalogPath" select="replace(/root/catalogUri,'^http://[^/]*','')"/> + <xsl:variable name="catalogHost" select="substring-before(/root/catalogUri,$catalogPath)"/> + <xsl:variable name="baseUrl" select="@base"/> + <xsl:variable name="urlPath" select="/root/tds:catalog/tds:dataset/@urlPath"/> + + <xsl:variable name="service-suffix"> + <xsl:if test="@serviceType='OPENDAP'">.html</xsl:if> + </xsl:variable> + + <xsl:variable name="protocol"> + <xsl:choose> + <xsl:when test="@serviceType='WMS'">OGC:WMS</xsl:when> + <xsl:when test="@serviceType='WCS'">OGC:WCS</xsl:when> + <xsl:otherwise>WWW:LINK-1.0-http--downloaddata</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <fragment uuid="{util:toString(util:randomUUID())}" title="{concat($datasetName,'_service_url')}"> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="concat($catalogHost,$baseUrl,$urlPath,$service-suffix)"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString> + <xsl:value-of select="$protocol"/> + </gco:CharacterString> + </gmd:protocol> + <gmd:name gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:name> + <gmd:description> + <gco:CharacterString>Data available via + <xsl:value-of select="@serviceType"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </fragment> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/thredds/utils.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/thredds/utils.xsl new file mode 100644 index 00000000000..3616421f635 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/ThreddsToFragments/thredds/utils.xsl @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:tds-range="java:ucar.nc2.units.DateRange" + xmlns:tds-date="java:ucar.nc2.units.DateType" + xmlns:tds-duration="java:ucar.nc2.units.TimeDuration" + xmlns:tds-dateunit="java:ucar.nc2.units.DateUnit" + xmlns:tds-dateformatter="java:ucar.nc2.units.DateFormatter" + xmlns:sdf="java:java.text.SimpleDateFormat" + version="2.0" + exclude-result-prefixes="xs tds-range tds-date tds-duration tds-dateunit tds-dateformatter sdf"> + + <!-- === Convert NetCDF date to ISO Date - refer ucar.nc2.units.DateType constructor === --> + <!-- === can't use here due to issues passing nulls to extension functions === --> + + <xsl:template name="getThreddsDateAsUTC"> + <xsl:param name="sourceDate"/> + + <xsl:choose> + <xsl:when test="normalize-space($sourceDate)=''"/> + <xsl:when test="lower-case($sourceDate) = 'present'"> + <xsl:call-template name="getUtcDateTime"> + <xsl:with-param name="dateTime" select="current-dateTime()"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$sourceDate/@format"> + <xsl:call-template name="getUtcDateTime"> + <xsl:with-param name="dateTime" select="sdf:parse(sdf:new($sourceDate/@format),$sourceDate)"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="contains(lower-case($sourceDate),'since')"> + <xsl:call-template name="getUtcDateTime"> + <xsl:with-param name="dateTime" select="tds-dateunit:getStandardDate($sourceDate)"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="getUtcDateTime"> + <xsl:with-param name="dateTime" select="tds-dateformatter:getISODate(tds-dateformatter:new(),$sourceDate)"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Convert NetCDF date range into a simple start/end date range --> + + <xsl:template name="resolveThreddsDateRange"> + <xsl:param name="start"/> + <xsl:param name="end"/> + <xsl:param name="duration"/> + + <!-- get start date as DateType --> + + <xsl:variable name="startDate"> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$start"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="sdfStartDate"> + <xsl:if test="normalize-space($startDate)!=''"> + <xsl:value-of select="format-dateTime($startDate,'[Y0001]-[M01]-[D01] [H01]:[m01]:[s01] [z]')"/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="tdsStartDate" select="tds-date:new($sdfStartDate, 'yyyy-MM-dd HH:mm:ss z', '')"/> + + <!-- get end date as DateType --> + + <xsl:variable name="endDate"> + <xsl:call-template name="getThreddsDateAsUTC"> + <xsl:with-param name="sourceDate" select="$end"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="sdfEndDate"> + <xsl:if test="normalize-space($endDate)!=''"> + <xsl:value-of select="format-dateTime($endDate,'[Y0001]-[M01]-[D01] [H01]:[m01]:[s01] [z]')"/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="tdsEndDate" select="tds-date:new($sdfEndDate, 'yyyy-MM-dd HH:mm:ss z', '')"/> + + <!-- get DateRange --> + + <xsl:variable name="tdsDuration" select="tds-duration:new(string($duration))"/> + <xsl:variable name="tdsResolution" select="tds-duration:new('')"/> + <xsl:variable name="dateRange" select="tds-range:new($tdsStartDate,$tdsEndDate,$tdsDuration,$tdsResolution)"/> + + <!-- return as fragment --> + + <startDate> + <xsl:value-of select="tds-date:toDateTimeStringISO(tds-range:getStart($dateRange))"/> + </startDate> + <endDate> + <xsl:value-of select="tds-date:toDateTimeStringISO(tds-range:getEnd($dateRange))"/> + </endDate> + + </xsl:template> + + + <!-- === Function to return dateTime in UTC time zone === --> + + <xsl:template name="getUtcDateTime"> + <xsl:param name="dateTime"/> + <xsl:value-of select="adjust-dateTime-to-timezone($dateTime,xs:dayTimeDuration('-PT0H'))"/> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/WFSToFragments/deegree22_philosopher_fragments.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/WFSToFragments/deegree22_philosopher_fragments.xsl new file mode 100644 index 00000000000..e1c145a9948 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/WFSToFragments/deegree22_philosopher_fragments.xsl @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:app="http://www.deegree.org/app" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:wfs="http://www.opengis.net/wfs" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + + <!-- + This xslt should transform output from the WFS philosophers database + that you should install with deegree into fragments that can be linked + into the template 'deegree fragments test template' by the WFS fragment + harvester in GeoNetwork. + --> + + <xsl:template match="wfs:FeatureCollection"> + <records> + <xsl:if test="boolean( ./@timeStamp )"> + <xsl:attribute name="timeStamp"> + <xsl:value-of select="./@timeStamp"></xsl:value-of> + </xsl:attribute> + </xsl:if> + <xsl:if test="boolean( ./@lockId )"> + <xsl:attribute name="lockId"> + <xsl:value-of select="./@lockId"></xsl:value-of> + </xsl:attribute> + </xsl:if> + + <xsl:apply-templates select="gml:featureMember"/> + </records> + </xsl:template> + + <xsl:template match="*[@xlink:href]" priority="20"> + <xsl:variable name="linkid" select="substring-after(@xlink:href,'#')"/> + <xsl:apply-templates select="//*[@gml:id=$linkid]"/> + </xsl:template> + + <xsl:template match="gml:featureMember"> + <xsl:apply-templates select="app:Philosopher"/> + </xsl:template> + + <xsl:template match="app:Philosopher"> + <record> + + <!-- boundingBox --> + + <fragment id="boundingbox" uuid="{@gml:id}_boundingbox" title="{concat(app:name,':',app:id)}"> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal> + <xsl:value-of select="substring-before(gml:boundedBy/gml:Envelope/gml:pos[1],' ')"/> + </gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal> + <xsl:value-of select="substring-after(gml:boundedBy/gml:Envelope/gml:pos[1],' ')"/> + </gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal> + <xsl:value-of select="substring-before(gml:boundedBy/gml:Envelope/gml:pos[2],' ')"/> + </gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal> + <xsl:value-of select="substring-after(gml:boundedBy/gml:Envelope/gml:pos[2],' ')"/> + </gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </fragment> + + <!-- pointOfContact --> + + <fragment id="contactinfo" uuid="{@gml:id}_contactinfo" title="{concat(app:name,':',app:id,':contactinfo')}"> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString>Dr Charlie Brown</gco:CharacterString> + </gmd:individualName> + <gmd:organisationName> + <gco:CharacterString>Silicon Graphics R4400 64bit Systems and Philosophy Management Section + </gco:CharacterString> + </gmd:organisationName> + <gmd:positionName> + <gco:CharacterString>Part-time Chief Philosopher</gco:CharacterString> + </gmd:positionName> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" + codeListValue="pointOfContact"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </fragment> + + <!-- keywords --> + + <fragment id="keywords" uuid="{@gml:id}_keywords" title="{concat(app:name,':',app:id,':keywords')}"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:for-each select="app:subject"> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each> + <gmd:keyword> + <gco:CharacterString>Philosophy</gco:CharacterString> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </fragment> + + <!-- citation --> + + <fragment id="citation" uuid="{@gml:id}_citation" title="{concat(app:name,':',app:id,':citation')}"> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>Information about the Philosopher + <xsl:value-of select="app:name"/> + </gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date> + <xsl:choose> + <xsl:when test="boolean(//wfs:FeatureCollection/@timeStamp)"> + <xsl:value-of select="//wfs:FeatureCollection/@timeStamp"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>2009-05-24</xsl:text> + </xsl:otherwise> + </xsl:choose> + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <!-- xlink to contactinfo fragment defined above --> + <gmd:citedResponsibleParty xlink:href="#{@gml:id}_contactinfo"/> + </gmd:CI_Citation> + </fragment> + + <!-- abstract --> + + <fragment id="abstract" uuid="{@gml:id}_abstract" title="{concat(app:name,':',app:id,':abstract')}"> + <gmd:abstract> + <gco:CharacterString> + Metadata about the Philosopher + <xsl:value-of select="app:name"/> + &#160; + Sex: + <xsl:value-of select="app:sex"/> + &#160; + <xsl:for-each select="app:isAuthorOf"> + Is the author of: + <xsl:value-of select="app:Book/app:title"/> + &#160; + </xsl:for-each> + </gco:CharacterString> + </gmd:abstract> + </fragment> + + <!-- temporal extent = lifespan --> + + <fragment id="tempextent" uuid="{@gml:id}_tempextent" title="{concat(app:name,':',app:id,':tempextent')}"> + <gmd:temporalElement> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id=""> + <gml:beginPosition> + <xsl:value-of select="app:dateOfBirth"/> + </gml:beginPosition> + <gml:endPosition> + <xsl:value-of select="app:dateOfDeath"/> + </gml:endPosition> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </gmd:temporalElement> + </fragment> + + </record> + </xsl:template> + + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/WFSToFragments/geoserver_boundary_fragments.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/WFSToFragments/geoserver_boundary_fragments.xsl new file mode 100644 index 00000000000..00134342cf1 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/WFSToFragments/geoserver_boundary_fragments.xsl @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:gn="http://geonetwork-opensource.org" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:wfs="http://www.opengis.net/wfs" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + + <!-- + This xslt should transform output from the gboundaries WFS service + available in the geoserver instance installed with geonetwork into fragments + that can be inserted into the template 'gboundaries fragments test template' + by the WFS fragment harvester in GeoNetwork to create metadata records + for each country. + + Note: The WFS server in geoserver must be enabled before this service can be + accessed. + --> + + <xsl:template match="wfs:FeatureCollection"> + <records> + <xsl:if test="boolean( ./@timeStamp )"> + <xsl:attribute name="timeStamp"> + <xsl:value-of select="./@timeStamp"></xsl:value-of> + </xsl:attribute> + </xsl:if> + <xsl:if test="boolean( ./@lockId )"> + <xsl:attribute name="lockId"> + <xsl:value-of select="./@lockId"></xsl:value-of> + </xsl:attribute> + </xsl:if> + + <xsl:apply-templates select="gml:featureMembers"/> + </records> + </xsl:template> + + <xsl:template match="gml:featureMembers"> + <xsl:apply-templates select="gn:gboundaries"/> + </xsl:template> + + <xsl:template match="gn:gboundaries"> + <record> + + <!-- boundingPolygon + <fragment id="geoservertest.boundingpolygon" uuid="{@gml:id}_boundingpolygon" title="{concat(gn:ADM0NAME,':',gn:ADM0_CODE,':boundingpoly')}"> + <gmd:EX_BoundingPolygon> + <gmd:polygon> + <xsl:copy-of select="gn:the_geom/*"/> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </fragment>--> + + <!-- extent --> + <fragment id="geoservertest.boundingpolygon" uuid="{@gml:id}_boundingpolygon" + title="{concat(gn:ADM0NAME,':',gn:ADM0_CODE,':boundingpoly')}"> + <gmd:EX_Extent> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="gn:ADM0NAME"/> + </gco:CharacterString> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:polygon> + <xsl:copy-of select="gn:the_geom/*"/> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </gmd:EX_Extent> + </fragment> + + <!-- pointOfContact + <fragment id="geoservertest.contactinfo" uuid="{@gml:id}_contactinfo" title="{concat(gn:ADM0NAME,':',gn:ADM0_CODE,':contactinfo')}"> + <gmd:CI_ResponsibleParty> + <gmd:individualName> + <gco:CharacterString>Dr Charlie Brown</gco:CharacterString> + </gmd:individualName> + <gmd:organisationName> + <gco:CharacterString>Silicon Graphics R4400 64bit Systems and Mapping Section</gco:CharacterString> + </gmd:organisationName> + <gmd:positionName> + <gco:CharacterString>Part-time Chief Cartographer</gco:CharacterString> + </gmd:positionName> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact"/> + </gmd:role> + </gmd:CI_ResponsibleParty> + </fragment> + --> + + <!-- keywords --> + <fragment id="geoservertest.keywords" uuid="{@gml:id}_keywords" + title="{concat(gn:ADM0NAME,':',gn:ADM0_CODE,':keywords')}"> + <gmd:MD_Keywords> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="gn:CONTINENT_"/> + </gco:CharacterString> + </gmd:keyword> + <gmd:keyword> + <gco:CharacterString> + <xsl:value-of select="gn:REGION_"/> + </gco:CharacterString> + </gmd:keyword> + <gmd:keyword> + <gco:CharacterString>Country</gco:CharacterString> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + </gmd:MD_Keywords> + </fragment> + + <!-- citation + <fragment id="geoservertest.citation" uuid="{@gml:id}_citation" title="{concat(gn:ADM0NAME,':',gn:ADM0_CODE,':citation')}"> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>Information about the geographic boundary for <xsl:value-of select="gn:ADM0NAME"/></gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date> + <xsl:value-of select="gn:LAST_UPD"/> + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:citedResponsibleParty xlink:href="#{@fid}_contactinfo"/> + </gmd:CI_Citation> + </fragment> + --> + + <!-- abstract + + <fragment id="geoservertest.abstract" uuid="{@gml:id}_abstract" title="{concat(gn:ADM0NAME,':',gn:ADM0_CODE,':abstract')}"> + <gmd:abstract> + <gco:CharacterString> + Metadata about the geographic boundary for <xsl:value-of select="gn:ADM0NAME"/> + &#160; + Continent: <xsl:value-of select="gn:CONTINENT_"/> + &#160; + Region: <xsl:value-of select="gn:REGION_"/> + </gco:CharacterString> + </gmd:abstract> + </fragment> + --> + <!-- temporal extent = validity --> + + <fragment id="geoservertest.tempextent" uuid="{@gml:id}_tempextent" + title="{concat(gn:ADM0NAME,':',gn:ADM0_CODE,':tempextent')}"> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id="{@gml:id}_timeperiod"> + <gml:beginPosition indeterminatePosition="unknown">unknown</gml:beginPosition> + <gml:endPosition> + <xsl:value-of select="gn:LAST_UPD"/> + </gml:endPosition> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </fragment> + + </record> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/functions.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/functions.xsl new file mode 100644 index 00000000000..ea1b73f3f6e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/functions.xsl @@ -0,0 +1,90 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:date="http://exslt.org/dates-and-times" + xmlns:joda="java:org.fao.geonet.domain.ISODate" + xmlns:mime="java:org.fao.geonet.util.MimeTypeFinder" + version="2.0"> + + <!-- ================================================================== --> + + <xsl:template name="fixSingle"> + <xsl:param name="value"/> + + <xsl:choose> + <xsl:when test="string-length(string($value))=1"> + <xsl:value-of select="concat('0',$value)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$value"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ================================================================== --> + + <xsl:template name="getMimeTypeFile"> + <xsl:param name="datadir"/> + <xsl:param name="fname"/> + <xsl:value-of select="mime:detectMimeTypeFile($datadir,$fname)"/> + </xsl:template> + + <!-- ==================================================================== --> + + <xsl:template name="getMimeTypeUrl"> + <xsl:param name="linkage"/> + <xsl:value-of select="mime:detectMimeTypeUrl($linkage)"/> + </xsl:template> + + <!-- ==================================================================== --> + <xsl:template name="fixNonIso"> + <xsl:param name="value"/> + + <xsl:variable name="now" select="date:date-time()"/> + <xsl:choose> + <xsl:when + test="$value='' or lower-case($value)='unknown' or lower-case($value)='current' or lower-case($value)='now'"> + <xsl:variable name="miy" select="date:month-in-year($now)"/> + <xsl:variable name="month"> + <xsl:call-template name="fixSingle"> + <xsl:with-param name="value" select="$miy"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="dim" select="date:day-in-month($now)"/> + <xsl:variable name="day"> + <xsl:call-template name="fixSingle"> + <xsl:with-param name="value" select="$dim"/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="concat(date:year($now),'-',$month,'-',$day,'T23:59:59')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$value"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ==================================================================== --> + + <xsl:template name="newGmlTime"> + <xsl:param name="begin"/> + <xsl:param name="end"/> + + + <xsl:variable name="value1"> + <xsl:call-template name="fixNonIso"> + <xsl:with-param name="value" select="normalize-space($begin)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="value2"> + <xsl:call-template name="fixNonIso"> + <xsl:with-param name="value" select="normalize-space($end)"/> + </xsl:call-template> + </xsl:variable> + + <!-- must be a full ISODateTimeFormat - so parse it and make sure it is + returned as a long format using the joda Java Time library --> + <xsl:variable name="output" select="joda:parseISODateTimes($value1,$value2)"/> + <xsl:value-of select="$output"/> + + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/oai-dc.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/oai-dc.xsl new file mode 100644 index 00000000000..91263003d9d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/oai-dc.xsl @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="1.0"> + + <!-- ============================================================================================ --> + + <xsl:output indent="yes"/> + + <!-- ============================================================================================ --> + + <xsl:template match="gmd:MD_Metadata"> + <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> + + <xsl:for-each select="gmd:fileIdentifier"> + <dc:identifier> + <xsl:value-of select="gco:CharacterString"/> + </dc:identifier> + </xsl:for-each> + + <dc:date> + <xsl:value-of select="/root/env/changeDate"/> + </dc:date> + + <!-- DataIdentification - - - - - - - - - - - - - - - - - - - - - --> + + <xsl:for-each select="gmd:identificationInfo/gmd:MD_DataIdentification"> + + <xsl:for-each select="gmd:citation/gmd:CI_Citation"> + <xsl:for-each select="gmd:title/gco:CharacterString"> + <dc:title> + <xsl:value-of select="."/> + </dc:title> + </xsl:for-each> + + <xsl:for-each + select="gmd:citedResponsibleParty/gmd:CI_ResponsibleParty[gmd:role/gmd:CI_RoleCode/@codeListValue='originator']/gmd:organisationName/gco:CharacterString"> + <dc:creator> + <xsl:value-of select="."/> + </dc:creator> + </xsl:for-each> + + <xsl:for-each + select="gmd:citedResponsibleParty/gmd:CI_ResponsibleParty[gmd:role/gmd:CI_RoleCode/@codeListValue='publisher']/gmd:organisationName/gco:CharacterString"> + <dc:publisher> + <xsl:value-of select="."/> + </dc:publisher> + </xsl:for-each> + + <xsl:for-each + select="gmd:citedResponsibleParty/gmd:CI_ResponsibleParty[gmd:role/gmd:CI_RoleCode/@codeListValue='author']/gmd:organisationName/gco:CharacterString"> + <dc:contributor> + <xsl:value-of select="."/> + </dc:contributor> + </xsl:for-each> + </xsl:for-each> + + <!-- subject --> + + <xsl:for-each select="gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString"> + <dc:subject> + <xsl:value-of select="."/> + </dc:subject> + </xsl:for-each> + + <!-- description --> + + <xsl:for-each select="gmd:abstract/gco:CharacterString"> + <dc:description> + <xsl:value-of select="."/> + </dc:description> + </xsl:for-each> + + <!-- rights --> + + <xsl:for-each select="gmd:resourceConstraints/gmd:MD_LegalConstraints"> + <xsl:for-each select="*/gmd:MD_RestrictionCode/@codeListValue"> + <dc:rights> + <xsl:value-of select="."/> + </dc:rights> + </xsl:for-each> + + <xsl:for-each select="gmd:otherConstraints/gco:CharacterString"> + <dc:rights> + <xsl:value-of select="."/> + </dc:rights> + </xsl:for-each> + </xsl:for-each> + + <!-- language --> + + <xsl:for-each select="gmd:language/gco:CharacterString"> + <dc:language> + <xsl:value-of select="."/> + </dc:language> + </xsl:for-each> + + <!-- bounding box --> + + <xsl:for-each select="gmd:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox"> + <dc:coverage> + <xsl:value-of select="concat('North ', gmd:northBoundLatitude/gco:Decimal, ', ')"/> + <xsl:value-of select="concat('South ', gmd:southBoundLatitude/gco:Decimal, ', ')"/> + <xsl:value-of select="concat('East ' , gmd:eastBoundLongitude/gco:Decimal, ', ')"/> + <xsl:value-of select="concat('West ' , gmd:westBoundLongitude/gco:Decimal, '.')"/> + </dc:coverage> + </xsl:for-each> + </xsl:for-each> + + <!-- Type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + <xsl:for-each select="gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue"> + <dc:type> + <xsl:value-of select="."/> + </dc:type> + </xsl:for-each> + + <!-- Distribution - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + <xsl:for-each select="gmd:distributionInfo/gmd:MD_Distribution"> + <xsl:for-each select="gmd:distributionFormat/gmd:MD_Format/gmd:name/gco:CharacterString"> + <dc:format> + <xsl:value-of select="."/> + </dc:format> + </xsl:for-each> + </xsl:for-each> + + </oai_dc:dc> + </xsl:template> + + <!-- ============================================================================================ --> + + <xsl:template match="*"> + <xsl:apply-templates select="*"/> + </xsl:template> + + <!-- ============================================================================================ --> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/convert/to19139.xsl b/iso19139.che/src/main/plugin/iso19139.che/convert/to19139.xsl new file mode 100644 index 00000000000..04ae03229a9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/convert/to19139.xsl @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:che="http://www.geocat.ch/2008/che" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + version="1.0" + exclude-result-prefixes="#all"> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> + + <xsl:variable name="langId" + select="/che:CHE_MD_Metadata/gmd:language/*/@codeListValue"/> + + + <!-- Some default values --> + <xsl:template match="gmd:metadataStandardName"> + <gmd:metadataStandardName> + <gco:CharacterString>ISO 19115/19119</gco:CharacterString> + </gmd:metadataStandardName> + </xsl:template> + + <xsl:template match="gmd:metadataStandardVersion"> + <gmd:metadataStandardVersion> + <gco:CharacterString/> + </gmd:metadataStandardVersion> + </xsl:template> + + <xsl:template match="che:*[not(@gco:isoType)]" priority="100"/> + + <xsl:template match="@xsi:type[.='che:PT_FreeURL_PropertyType']" priority="2"> + <xsl:apply-templates mode="url" select=".."/> + </xsl:template> + + <xsl:template match="gmd:linkage"> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="(che:LocalisedURL + |*/che:URLGroup/che:LocalisedURL[@locale = $langId] + |gmd:URL + |*/che:URLGroup/che:LocalisedURL[. != ''])[1]"/> + </gmd:URL> + </gmd:linkage> + </xsl:template> + + <!-- Remove all non ISO19139 enumeration value. --> + <xsl:template match="gmd:topicCategory[contains(*, '_')]" priority="2"/> + + <!-- All profil specific elements should be bypassed --> + <xsl:template match="che:*[not(@gco:isoType)]" priority="2"/> + + <!-- All gco:isoType should be mapped to iso19139 elements --> + <xsl:template match="*[@gco:isoType]"> + <xsl:element name="{@gco:isoType}"> + <xsl:apply-templates select="@*|node()"/> + </xsl:element> + </xsl:template> + + <!--Copy --> + <xsl:template match="*|@*"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove isoType and xsi:type attribute in iso19139 --> + <xsl:template match="@gco:isoType|@xsi:type[.='che:PT_FreeURL_PropertyType']" + priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-atom-feed.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-atom-feed.xsl new file mode 100644 index 00000000000..f7aba161fdc --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-atom-feed.xsl @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + version="2.0" +> + + <xsl:param name="atomProtocol"/> + + <xsl:template match="che:CHE_MD_Metadata"> + <!--<feeds> + <xsl:for-each select="gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint[ends-with(gmd:CI_OnlineResource/gmd:linkage/gmd:URL, 'xml')]"> + <atomfeed><xsl:value-of select="gmd:CI_OnlineResource/gmd:linkage/gmd:URL"/></atomfeed> + </xsl:for-each> + </feeds>--> + + <!-- Get first element --> + <atomfeed> + <xsl:value-of + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource[lower-case(gmd:protocol/gco:CharacterString) = lower-case($atomProtocol)]/gmd:linkage/gmd:URL"/> + </atomfeed> + + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-datasetid.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-datasetid.xsl new file mode 100644 index 00000000000..601300b6755 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-datasetid.xsl @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="1.0"> + + <xsl:template match="che:CHE_MD_Metadata"> + <identifier> + <xsl:value-of + select="gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:code/gco:CharacterString"/> + </identifier> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-datasetinfo-from-service-feed.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-datasetinfo-from-service-feed.xsl new file mode 100644 index 00000000000..d90c02aec74 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-datasetinfo-from-service-feed.xsl @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:inspire_dls="http://inspire.ec.europa.eu/schemas/inspire_dls/1.0" + version="2.0" +> + <xsl:template match="atom:feed"> + <datasets> + <xsl:for-each select="atom:entry[inspire_dls:spatial_dataset_identifier_code]"> + <dataset> + <identifier> + <xsl:value-of select="inspire_dls:spatial_dataset_identifier_code"/> + </identifier> + <namespace> + <xsl:value-of select="inspire_dls:spatial_dataset_identifier_namespace"/> + </namespace> + </dataset> + </xsl:for-each> + </datasets> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-datasets.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-datasets.xsl new file mode 100644 index 00000000000..ba28029286b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-datasets.xsl @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + version="2.0" +> + <xsl:template match="che:CHE_MD_Metadata"> + <datasets> + <xsl:for-each select="gmd:identificationInfo/srv:SV_ServiceIdentification/srv:operatesOn"> + <dataset> + <xsl:value-of select="@uuidref"/> + </dataset> + </xsl:for-each> + </datasets> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-date-modified.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-date-modified.xsl new file mode 100644 index 00000000000..1eda60497f7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-date-modified.xsl @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="1.0"> + + <xsl:template match="che:CHE_MD_Metadata"> + <dateStamp> + <xsl:value-of select="gmd:dateStamp/*"/> + </dateStamp> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-gml.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-gml.xsl new file mode 100644 index 00000000000..974c450795f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-gml.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../iso19139/extract-gml.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-relations.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-relations.xsl new file mode 100644 index 00000000000..1dc8ad3806b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-relations.xsl @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Create a simple XML tree for relation description. + <relations> + <relation type="related|services|children"> + + super-brief representation. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:gn-fn-rel="http://geonetwork-opensource.org/xsl/functions/relations" + version="2.0" + exclude-result-prefixes="#all"> + + <!-- Convert an element gco:CharacterString + to the GN localized string structure --> + <xsl:template mode="get-iso19139-localized-url" match="*"> + + <xsl:variable name="metadata" + select="ancestor::metadata/*[@gco:isoType='gmd:MD_Metadata' or name()='gmd:MD_Metadata']"/> + <xsl:variable name="mainLanguage" + select="string($metadata/gmd:language/gco:CharacterString| + $metadata/gmd:language/gmd:LanguageCode/@codeListValue)"/> + <xsl:variable name="otherLanguage"> + <xsl:copy-of select="concat('#', upper-case(util:twoCharLangCode($mainLanguage, '')))"/> + <xsl:for-each select="$metadata/gmd:locale/gmd:PT_Locale/@id"> + <xsl:copy-of select="concat('#', .)"/> + </xsl:for-each> + </xsl:variable> + <xsl:for-each select="gmd:URL|che:PT_FreeURL/*/che:LocalisedURL"> + <!-- GEOCAT, as when url not defined for ui language, the first one returned by getRelated is used, + sort getrelated ouput by other languages, adding main language at first index if exist --> + <xsl:sort select="string((string-length(substring-before($otherLanguage, @locale)) - 1) div 4)"/> + <xsl:variable name="localeId" select="substring-after(@locale, '#')"/> + <value lang="{if (@locale) + then $metadata/gmd:locale/*[@id = $localeId]/gmd:languageCode/*/@codeListValue + else if ($mainLanguage) then $mainLanguage else $lang}"> + <xsl:value-of select="string(.)"/> + </value> + </xsl:for-each> + </xsl:template> + + + <!-- Relation contained in the metadata record has to be returned + It could be document or thumbnails + --> + <xsl:template mode="relation" + match="metadata[gmd:MD_Metadata or *[contains(@gco:isoType, 'MD_Metadata')]]" + priority="299"> + + <xsl:if test="count(*/descendant::*[name(.) = 'gmd:graphicOverview']/*) > 0"> + <thumbnails> + <xsl:for-each select="*/descendant::*[name(.) = 'gmd:graphicOverview']/*"> + <item> + <id> + <xsl:value-of select="gmd:fileName/gco:CharacterString"/> + </id> + <url> + <xsl:apply-templates mode="get-iso19139-localized-string" + select="gmd:fileName"/> + </url> + <title> + <xsl:apply-templates mode="get-iso19139-localized-string" + select="gmd:fileDescription"/> + </title> + <type>thumbnail</type> + </item> + </xsl:for-each> + </thumbnails> + </xsl:if> + + <xsl:variable name="links" select="*/descendant::*[name(.) = 'gmd:onLine']/*[ + gmd:linkage/gmd:URL!='' or + gmd:linkage/che:PT_FreeURL//che:LocalisedURL[text() != ''] or + gmd:linkage/che:LocalisedURL!='']"/> + + <xsl:if test="count($links) > 0"> + <onlines> + <xsl:for-each select="$links"> + + <item> + <xsl:variable name="langCode"> + <xsl:value-of select="concat('#', upper-case(util:twoCharLangCode($lang, 'EN')))"/> + </xsl:variable> + <xsl:variable name="url" select="gmd:linkage/gmd:URL"/> + <id> + <xsl:value-of select="$url"/> + </id> + <title> + <xsl:apply-templates mode="get-iso19139-localized-string" + select="gmd:name"/> + </title> + <url> + <xsl:apply-templates mode="get-iso19139-localized-url" + select="gmd:linkage"/> + </url> + <function> + <xsl:value-of select="gmd:function/*/@codeListValue"/> + </function> + <applicationProfile> + <xsl:value-of select="gmd:applicationProfile/gco:CharacterString"/> + </applicationProfile> + <description> + <xsl:apply-templates mode="get-iso19139-localized-string" + select="gmd:description"/> + </description> + <protocol> + <xsl:value-of select="gn-fn-rel:translate(gmd:protocol, $langCode)"/> + </protocol> + <type>onlinesrc</type> + </item> + </xsl:for-each> + </onlines> + </xsl:if> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-serviceInfo.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-serviceInfo.xsl new file mode 100644 index 00000000000..04ab408b7a0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-serviceInfo.xsl @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:che="http://www.geocat.ch/2008/che" + version="1.0" + exclude-result-prefixes="gco gmd srv"> + + <xsl:template match="che:CHE_MD_Metadata"> + <serviceInfo> + + <!-- Get Service URL from GetCapabilities Operation, if null from distribution information --> + <xsl:variable name="url"> + <xsl:value-of select="gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata[srv:operationName/gco:CharacterString='GetCapabilities']/srv:connectPoint/gmd:CI_OnlineResource/gmd:linkage/gmd:URL| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:containsOperations/srv:SV_OperationMetadata[srv:operationName/gco:CharacterString='GetCapabilities']/srv:connectPoint/gmd:CI_OnlineResource/gmd:linkage/gmd:URL"/> + </xsl:variable> + <xsl:variable name="protocol"> + <xsl:value-of select="gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata[srv:operationName/gco:CharacterString='GetCapabilities']/srv:connectPoint/gmd:CI_OnlineResource/gmd:protocol| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']//srv:containsOperations/srv:SV_OperationMetadata[srv:operationName/gco:CharacterString='GetCapabilities']/srv:connectPoint/gmd:CI_OnlineResource/gmd:protocol"/> + </xsl:variable> + + <url> + <xsl:choose> + <xsl:when test="$url=''"> + <xsl:value-of + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage/gmd:URL"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$url"/> + </xsl:otherwise> + </xsl:choose> + </url> + + <!-- Get service protocol --> + <protocol> + <xsl:value-of select="$protocol"/> + </protocol> + + <!-- Get service descritpion --> + <desc> + <xsl:value-of select="normalize-space(gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString)"/> + </desc> + </serviceInfo> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-type.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-type.xsl new file mode 100644 index 00000000000..c8a0a412853 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-type.xsl @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="1.0"> + + <xsl:template match="gmd:MD_Metadata"> + <type> + <xsl:value-of select="gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue"/> + </type> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/extract-uuid.xsl b/iso19139.che/src/main/plugin/iso19139.che/extract-uuid.xsl new file mode 100644 index 00000000000..5b585bffd2c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/extract-uuid.xsl @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + version="1.0" +> + + <xsl:template match="che:CHE_MD_Metadata|gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata']"> + <uuid> + <xsl:value-of select="gmd:fileIdentifier/gco:CharacterString"/> + </uuid> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/config.properties b/iso19139.che/src/main/plugin/iso19139.che/formatter/config.properties new file mode 100644 index 00000000000..e8d395cd7d2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/config.properties @@ -0,0 +1 @@ +dependsOn=iso19139 diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/full_view/view.groovy b/iso19139.che/src/main/plugin/iso19139.che/formatter/full_view/view.groovy new file mode 100644 index 00000000000..6ea78a86fc2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/full_view/view.groovy @@ -0,0 +1,20 @@ +import iso19139.SummaryFactory + +def isoHandlers = new iso19139che.Handlers(handlers, f, env) +SummaryFactory.summaryHandler({ it.parent() is it.parent() }, isoHandlers) + +isoHandlers.addDefaultHandlers() + +handlers.add name: 'gmd:topicCategory', select: 'gmd:topicCategory', group: true, priority: 5, { elems -> + def listItems = elems + .findAll { !it.text().isEmpty()} + .collectMany{[it.text(), it.text().split("_")[0]]} + .unique() + .sort{f.codelistValueLabel("MD_TopicCategoryCode", it)} + .collect {f.codelistValueLabel("MD_TopicCategoryCode", it)}; + handlers.fileResult("html/list-entry.html", [label: f.nodeLabel(elems[0]), listItems: listItems]) +} + +handlers.skip name: 'skip che:CHE_MD_Appraisal_AAP', select: { it -> it.name() == 'che:CHE_MD_Appraisal_AAP' }, { + it.children() +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Functions.groovy b/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Functions.groovy new file mode 100644 index 00000000000..ac607599579 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Functions.groovy @@ -0,0 +1,26 @@ +package iso19139che + +/** + * @author Jesse on 12/22/2014. + */ +class Functions extends iso19139.Functions { + Functions() { + isoUrlText = localizedUrlText; + } + + def localizedUrlText = { el -> + def uiCode = '#' + env.lang2.toUpperCase() + def locStrings = el.'**'.findAll { + it.name() == 'che:LocalisedURL' && !it.text().isEmpty() && !(it.text().length() == 1 && (it.text() =~ CHAR_PATTERN).matches()) + } + def ptEl = locStrings.find { it.'@locale' == uiCode } + if (ptEl != null) return ptEl.text() + def charString = el.'**'.findAll { + it.name() == 'gmd:URL' && !it.text().isEmpty() && !(it.text().length() == 1 && (it.text() =~ CHAR_PATTERN).matches()) + } + if (!charString.isEmpty()) return charString[0].text() + if (!locStrings.isEmpty()) return locStrings[0].text() + + el.'gmd:URL'.text() + } +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Handlers.groovy b/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Handlers.groovy new file mode 100644 index 00000000000..6ea1c1b8609 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Handlers.groovy @@ -0,0 +1,165 @@ +package iso19139che + +import groovy.util.slurpersupport.GPathResult +import org.fao.geonet.api.records.formatters.groovy.MapConfig + +public class Handlers extends iso19139.Handlers { + public Handlers(handlers, f, env) { + super(handlers, f, env); + isofunc = new Functions(handlers: handlers, f: f, env: env, commonHandlers: commonHandlers) + matchers = new Matchers(handlers: handlers, f: f, env: env) + this.rootEl = 'che:CHE_MD_Metadata' + this.packageViews.remove('gmd:MD_Metadata') + this.packageViews << 'che:legislationInformation' + this.packageViews << this.rootEl + } + + def addDefaultHandlers() { + super.addDefaultHandlers(); + handlers.add name: 'Color Rejected Elements', select: matchers.isRejected, priority: 100, rejectedElementHandler + } + + def rejectedElementHandler = { el -> + try { + matchers.handlingRejectedEls.set(true) + def childData = handlers.processElements([el]); + return handlers.fileResult('html/rejected.html', [ + childData : childData, + label : f.translate("rejectedTitle"), + rejectedDesc: f.translate("rejectedDesc") + ]) + } finally { + matchers.handlingRejectedEls.set(false) + } + } + + def pointOfContactGeneralData(party) { + def generalChildren = [ + party.'gmd:organisationName', + party.'che:organisationAcronym', + party.'gmd:positionName', + party.'gmd:role' + ] + def nameString = party.'che:individualFirstName'.text() + " " + party.'che:individualLastName'.text() + def name = "" + if (!nameString.trim().isEmpty()) { + name = commonHandlers.func.textEl(f.nodeLabel('gmd:individualName', null), nameString) + } + def childData = name.toString() + handlers.processElements(generalChildren) + handlers.fileResult('html/2-level-entry.html', [label: f.translate('general'), childData: childData]) + } + + + def findParentXLink(GPathResult el) { + if (el.name() != 'gmd:extent' || el['@xlink:href'].text().isEmpty()) { + if (el.parent().is(el)) { + return ""; + } + return findParentXLink(el.parent()) + } + return el['@xlink:href'].text() + } + + // bbox bounds are checked against the limits of the swiss projection (EPSG:21781) + def isWorldExtentUsed(extentEl) { + def bboxEl = extentEl.'*'.'gmd:EX_GeographicBoundingBox' + if (bboxEl.isEmpty()) { + return false + } + // bounds are from the EPSG 21781: http://spatialreference.org/ref/epsg/ch1903-lv03/ + // a buffer of 200% was applied + if (bboxEl.'gmd:westBoundLongitude'.'gco:Decimal'.text().toFloat() < 1.45 || + bboxEl.'gmd:eastBoundLongitude'.'gco:Decimal'.text().toFloat() > 15.01 || + bboxEl.'gmd:southBoundLatitude'.'gco:Decimal'.text().toFloat() < 43.79 || + bboxEl.'gmd:northBoundLatitude'.'gco:Decimal'.text().toFloat() > 49.82) { + return true + } + return false + } + + def geomOrBbox = { node -> node.parent().name() in ["gmd:geographicElement"] } + + def polygonEl(thumbnail) { + return { el -> + MapConfig mapConfig = env.mapConfiguration + def mapproj = mapConfig.mapproj + def background = mapConfig.background + def width = thumbnail? mapConfig.thumbnailWidth : mapConfig.width + def mdId = env.getMetadataUUID(); + def xpath = f.getXPathFrom(el); + + // Geocat specific: use 4326 projection when bbox bounds are too wide + if (isWorldExtentUsed(el.parent().parent())) { + mapproj = 'EPSG:4326' + background = 'osm' + } + + if (xpath != null) { + def count = el.parent().parent().parent().parent().depthFirst().findAll(geomOrBbox).indexOf(el) + 1 + + def locUrl= env.localizedUrl.substring(0, env.localizedUrl.lastIndexOf("/")) + locUrl= locUrl.substring(0, locUrl.lastIndexOf("/")) + def source = "$locUrl/api/records/$mdId/extents/${count}.png?mapsrs=$mapproj&amp;width=$width&amp;background=$background"; + def image = "<img src=\"$source\" style=\"min-width:${width/4}px; min-height:${width/4}px;\" />" + + def inclusion = el.'gmd:extentTypeCode'.text() == '0' ? 'exclusive' : 'inclusive'; + + def label = f.nodeLabel(el) + " (" + f.translate(inclusion) + ")" + handlers.fileResult('html/2-level-entry.html', [label: label, childData: image]) + } + } + } + + def aggPolygonEl(thumbnail) { + return { el -> + MapConfig mapConfig = env.mapConfiguration + def mapproj = mapConfig.mapproj + def background = mapConfig.background + def width = thumbnail? mapConfig.thumbnailWidth : mapConfig.width + def mdId = env.getMetadataUUID(); + def xpath = f.getXPathFrom(el); + + // Geocat specific: use 4326 projection when bbox bounds are too wide + if (isWorldExtentUsed(el.parent().parent())) { + mapproj = 'EPSG:4326' + background = 'osm' + } + + if (xpath != null) { + def locUrl= env.localizedUrl.substring(0, env.localizedUrl.lastIndexOf("/")) + locUrl= locUrl.substring(0, locUrl.lastIndexOf("/")) + def source = "$locUrl/api/records/$mdId/extents.png?mapsrs=$mapproj&amp;width=$width&amp;background=$background"; + def image = "<img src=\"$source\" style=\"min-width:${width/4}px; min-height:${width/4}px;\" />" + + def inclusion = el.'gmd:extentTypeCode'.text() == '0' ? 'exclusive' : 'inclusive'; + + def label = f.nodeLabel(el) + " (" + f.translate(inclusion) + ")" + handlers.fileResult('html/2-level-entry.html', [label: label, childData: image]) + } + } + } + + def bboxEl(thumbnail) { + return { el -> + if (el.parent().'gmd:EX_BoundingPolygon'.text().isEmpty() && + el.parent().parent().'gmd:geographicElement'.'gmd:EX_BoundingPolygon'.text().isEmpty()) { + + def inclusion = el.'gmd:extentTypeCode'.text() == '0' ? 'exclusive' : 'inclusive'; + + def label = f.nodeLabel(el) + " (" + f.translate(inclusion) + ")" + + def replacements = bbox(thumbnail, el) + replacements['label'] = label + replacements['pdfOutput'] = commonHandlers.func.isPDFOutput() + + // Geocat specific: use 4326 projection when bbox bounds are too wide + if (isWorldExtentUsed(el.parent().parent())) { + replacements['mapconfig']['mapproj'] = 'EPSG:4326' + replacements['mapconfig']['background'] = 'osm' + } + + handlers.fileResult("html/bbox.html", replacements) + } + } + } +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Matchers.groovy b/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Matchers.groovy new file mode 100644 index 00000000000..650b09e7d67 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/groovy/iso19139che/Matchers.groovy @@ -0,0 +1,22 @@ +package iso19139che + +/** + * @author Jesse on 12/22/2014. + */ +class Matchers extends iso19139.Matchers { + ThreadLocal<Boolean> handlingRejectedEls = new ThreadLocal<Boolean>(); + + Matchers() { + handlingRejectedEls.set(Boolean.FALSE) + def isoIsUrlEl = super.isUrlEl; + isUrlEl = { el -> + isoIsUrlEl(el) || + !el.'che:PT_FreeURL'.text().isEmpty() || + !el.'che:LocalisedURL'.text().isEmpty() + } + } + + def isRejected = { el -> + !handlingRejectedEls.get() && el.'@xlink:href'.text().contains('xml.reusable.deleted') + } +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/html/rejected.html b/iso19139.che/src/main/plugin/iso19139.che/formatter/html/rejected.html new file mode 100644 index 00000000000..cf52ab55888 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/html/rejected.html @@ -0,0 +1,3 @@ +<div class="deleted-reusable" title="{{rejectedDesc}}"> + <div fmt-include="html/2-level-entry.html" fmt-include-replace="true"/> +</div> diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/iso19139/view.xsl b/iso19139.che/src/main/plugin/iso19139.che/formatter/iso19139/view.xsl new file mode 100644 index 00000000000..a3b44aedd09 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/iso19139/view.xsl @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:tr="java:org.fao.geonet.api.records.formatters.SchemaLocalizations" + xmlns:gn-fn-render="http://geonetwork-opensource.org/xsl/functions/render" + xmlns:gn-fn-metadata="http://geonetwork-opensource.org/xsl/functions/metadata" + xmlns:gn-fn-iso19139="http://geonetwork-opensource.org/xsl/functions/profiles/iso19139" + xmlns:xslUtils="java:org.fao.geonet.util.XslUtil" + xmlns:saxon="http://saxon.sf.net/" + version="2.0" + extension-element-prefixes="saxon" + exclude-result-prefixes="#all"> + <xsl:import href="../../convert/to19139.xsl"/> + + <xsl:template match="/"> + <xsl:apply-templates select="*/(gmd:MD_Metadata|*[@gco:isoType = 'gmd:MD_Metadata'])"/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/jsonld/view.xsl b/iso19139.che/src/main/plugin/iso19139.che/formatter/jsonld/view.xsl new file mode 100644 index 00000000000..b453411d7ef --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/jsonld/view.xsl @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + exclude-result-prefixes="#all" + version="2.0"> + <xsl:import href="../../../iso19139/formatter/jsonld/view.xsl"/> +</xsl:stylesheet> + + diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/en-strings.json b/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/en-strings.json new file mode 100644 index 00000000000..c87689af284 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/en-strings.json @@ -0,0 +1,4 @@ +{ + "rejectedTitle": "Rejected", + "rejectedDesc": "This Shared Object has been reject by a Geocat administrator. An editor needs to modify the metadata to select a Shared Object" +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/fr-strings.json b/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/fr-strings.json new file mode 100644 index 00000000000..ba1dda8009a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/fr-strings.json @@ -0,0 +1,4 @@ +{ + "rejectedTitle": "Rejeté", + "rejectedDesc": "This Shared Object has been reject by a Geocat administrator. An editor needs to modify the metadata to select a Shared Object" +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/ge-strings.json b/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/ge-strings.json new file mode 100644 index 00000000000..1513737d88a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/ge-strings.json @@ -0,0 +1,4 @@ +{ + "rejectedTitle": "zurückgewiesen", + "rejectedDesc": "This Shared Object has been reject by a Geocat administrator. An editor needs to modify the metadata to select a Shared Object" +} \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/it-strings.json b/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/it-strings.json new file mode 100644 index 00000000000..43a32f7155c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/loc/it-strings.json @@ -0,0 +1,4 @@ +{ + "rejectedTitle": "Rifiutato", + "rejectedDesc": "This Shared Object has been reject by a Geocat administrator. An editor needs to modify the metadata to select a Shared Object" +} diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/xsl-view/config.properties b/iso19139.che/src/main/plugin/iso19139.che/formatter/xsl-view/config.properties new file mode 100644 index 00000000000..bdd6f5e1588 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/xsl-view/config.properties @@ -0,0 +1,24 @@ +# +# Copyright (C) 2001-2016 Food and Agriculture Organization of the +# United Nations (FAO-UN), United Nations World Food Programme (WFP) +# and United Nations Environment Programme (UNEP) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +# +# Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, +# Rome - Italy. email: geonetwork@osgeo.org +# + +published=false \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/formatter/xsl-view/view.xsl b/iso19139.che/src/main/plugin/iso19139.che/formatter/xsl-view/view.xsl new file mode 100644 index 00000000000..75d9da9366f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/formatter/xsl-view/view.xsl @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:tr="java:org.fao.geonet.api.records.formatters.SchemaLocalizations" + xmlns:gn-fn-render="http://geonetwork-opensource.org/xsl/functions/render" + xmlns:gn-fn-metadata="http://geonetwork-opensource.org/xsl/functions/metadata" + xmlns:gn-fn-iso19139="http://geonetwork-opensource.org/xsl/functions/profiles/iso19139" + xmlns:xslUtils="java:org.fao.geonet.util.XslUtil" + xmlns:saxon="http://saxon.sf.net/" + version="2.0" + extension-element-prefixes="saxon" + exclude-result-prefixes="#all"> + + <xsl:import href="../../../iso19139/formatter/xsl-view/view.xsl"/> + + <!-- Load the editor configuration to be able + to render the different views --> + <xsl:variable name="configuration" + select="document('../../layout/config-editor.xml')"/> + + <!-- Required for utility-fn.xsl --> + <xsl:variable name="editorConfig" + select="document('../../layout/config-editor.xml')"/> + + <xsl:include href="../../layout/evaluate.xsl"/> + <xsl:include href="../../layout/utility-tpl-multilingual.xsl"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/gm03small.xsd b/iso19139.che/src/main/plugin/iso19139.che/gm03small.xsd new file mode 100644 index 00000000000..34248df64ab --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/gm03small.xsd @@ -0,0 +1,608 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gm03small="http://www.geocat.ch/2003/05/gateway/GM03Small" xmlns:GML="http://www.geocat.ch/2003/05/gateway/GML" targetNamespace="http://www.geocat.ch/2003/05/gateway/GM03Small" elementFormDefault="qualified"> + <xsd:import namespace="http://www.geocat.ch/2003/05/gateway/GML" schemaLocation="GML_simplified.xsd"/> + <xsd:element name="MD_Metadata" type="gm03small:MD_MetadataType"/> + <xsd:complexType name="MD_MetadataType"> + <xsd:sequence> + <xsd:element name="fileIdentifier" type="gm03small:optionalString" minOccurs="0"/> + <xsd:element name="dateStamp" type="xsd:dateTime"/> + <xsd:element name="dataSetURI" type="gm03small:optionalString" minOccurs="0"/> + <xsd:element name="metadataSetURI" type="gm03small:optionalString" minOccurs="0"/> + <xsd:element name="identificationInfo" maxOccurs="unbounded"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="language" type="gm03small:LanguageCodeISO" maxOccurs="unbounded"/> + <xsd:element name="purpose" type="gm03small:optionalPT_FreeText" minOccurs="0"/> + <xsd:element name="topicCategory" type="gm03small:optionalTopicCategory" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="abstract" type="gm03small:PT_FreeText"/> + <xsd:element name="citation"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="title" type="gm03small:PT_FreeText"/> + <xsd:element name="date" maxOccurs="unbounded"> + <xsd:complexType> + <xsd:sequence> + <!-- <xsd:element name="date" type="xsd:date"/>--> + <xsd:element name="date"> + <xsd:simpleType> + <xsd:union memberTypes="gm03small:NotAvailable xsd:date"/> + </xsd:simpleType> + </xsd:element> + <xsd:element name="dateType" type="gm03small:CI_DateTypeCode"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="pointOfContact" minOccurs="0" maxOccurs="unbounded"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="role" type="gm03small:CI_RoleCode" maxOccurs="unbounded"/> + <xsd:element name="individualName" type="xsd:string" minOccurs="0"/> + <xsd:element name="positionName" type="gm03small:PT_FreeText" minOccurs="0"/> + <xsd:element name="organisationName" type="gm03small:PT_FreeText" minOccurs="0"/> + </xsd:sequence> + <xsd:attributeGroup ref="gm03small:notSupportedGroup"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="descriptiveKeywords" minOccurs="0" maxOccurs="unbounded"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="keyword" type="gm03small:PT_FreeText" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attributeGroup ref="gm03small:notSupportedGroup"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="extent" minOccurs="0" maxOccurs="unbounded"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="description" type="gm03small:optionalPT_FreeText" minOccurs="0"/> + <xsd:element name="geographicElement" minOccurs="0" maxOccurs="unbounded"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="GML:Polygon" minOccurs="0"/> + <xsd:element name="westBoundLongitude" type="xsd:double" minOccurs="0"/> + <xsd:element name="eastBoundLongitude" type="xsd:double" minOccurs="0"/> + <xsd:element name="southBoundLatitude" type="xsd:double" minOccurs="0"/> + <xsd:element name="northBoundLatitude" type="xsd:double" minOccurs="0"/> + <xsd:element name="geographicIdentifier" minOccurs="0"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="code" type="gm03small:PT_FreeText"/> + </xsd:sequence> + <xsd:attributeGroup ref="gm03small:notSupportedGroup"/> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attributeGroup ref="gm03small:notSupportedGroup"/> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="objid" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="PT_Group"> + <xsd:sequence> + <xsd:element name="plainText" type="xsd:string"/> + <xsd:element name="language" type="gm03small:LanguageCodeISO" minOccurs="0"/> + <xsd:element name="country" type="gm03small:CountryCodeISO" minOccurs="0"/> + <xsd:element name="characterSetCode" type="gm03small:MD_CharacterSetCode" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="PT_FreeText" mixed="true"> + <xsd:sequence> + <xsd:element name="textGroup" type="gm03small:PT_Group" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:attributeGroup name="notSupportedGroup"> + <xsd:attribute name="notSupported" type="xsd:boolean" use="optional" default="false"/> + </xsd:attributeGroup> + <xsd:complexType name="optionalPT_FreeText" mixed="true"> + <xsd:complexContent mixed="true"> + <xsd:extension base="gm03small:PT_FreeText"> + <xsd:attributeGroup ref="gm03small:notSupportedGroup"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="optionalString"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attributeGroup ref="gm03small:notSupportedGroup"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="optionalTopicCategory"> + <xsd:simpleContent> + <xsd:extension base="gm03small:MD_TopicCategoryCode"> + <xsd:attributeGroup ref="gm03small:notSupportedGroup"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:simpleType name="CI_RoleCode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value=""/> + <xsd:enumeration value="N/A"/> + <xsd:enumeration value="resourceProvider"/> + <xsd:enumeration value="custodian"/> + <xsd:enumeration value="owner"/> + <xsd:enumeration value="user"/> + <xsd:enumeration value="distributor"/> + <xsd:enumeration value="originator"/> + <xsd:enumeration value="pointOfContact"/> + <xsd:enumeration value="principalInvestigator"/> + <xsd:enumeration value="processor"/> + <xsd:enumeration value="publisher"/> + <xsd:enumeration value="author"/> + <xsd:enumeration value="editor"/> + <xsd:enumeration value="partner"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="LanguageCodeISO"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value=""/> + <xsd:enumeration value="N/A"/> + <xsd:enumeration value="aa"/> + <xsd:enumeration value="ab"/> + <xsd:enumeration value="af"/> + <xsd:enumeration value="am"/> + <xsd:enumeration value="ar"/> + <xsd:enumeration value="as"/> + <xsd:enumeration value="ay"/> + <xsd:enumeration value="az"/> + <xsd:enumeration value="ba"/> + <xsd:enumeration value="be"/> + <xsd:enumeration value="bg"/> + <xsd:enumeration value="bh"/> + <xsd:enumeration value="bi"/> + <xsd:enumeration value="bn"/> + <xsd:enumeration value="bo"/> + <xsd:enumeration value="br"/> + <xsd:enumeration value="ca"/> + <xsd:enumeration value="co"/> + <xsd:enumeration value="cs"/> + <xsd:enumeration value="cy"/> + <xsd:enumeration value="da"/> + <xsd:enumeration value="de"/> + <xsd:enumeration value="dz"/> + <xsd:enumeration value="el"/> + <xsd:enumeration value="en"/> + <xsd:enumeration value="eo"/> + <xsd:enumeration value="es"/> + <xsd:enumeration value="et"/> + <xsd:enumeration value="eu"/> + <xsd:enumeration value="fa"/> + <xsd:enumeration value="fi"/> + <xsd:enumeration value="fj"/> + <xsd:enumeration value="fo"/> + <xsd:enumeration value="fr"/> + <xsd:enumeration value="fy"/> + <xsd:enumeration value="ga"/> + <xsd:enumeration value="gd"/> + <xsd:enumeration value="gl"/> + <xsd:enumeration value="gn"/> + <xsd:enumeration value="gu"/> + <xsd:enumeration value="ha"/> + <xsd:enumeration value="hi"/> + <xsd:enumeration value="hr"/> + <xsd:enumeration value="hu"/> + <xsd:enumeration value="hy"/> + <xsd:enumeration value="ia"/> + <xsd:enumeration value="ie"/> + <xsd:enumeration value="ik"/> + <xsd:enumeration value="in"/> + <xsd:enumeration value="is"/> + <xsd:enumeration value="it"/> + <xsd:enumeration value="iw"/> + <xsd:enumeration value="ja"/> + <xsd:enumeration value="ji"/> + <xsd:enumeration value="jw"/> + <xsd:enumeration value="ka"/> + <xsd:enumeration value="kk"/> + <xsd:enumeration value="kl"/> + <xsd:enumeration value="km"/> + <xsd:enumeration value="kn"/> + <xsd:enumeration value="ko"/> + <xsd:enumeration value="ks"/> + <xsd:enumeration value="ku"/> + <xsd:enumeration value="ky"/> + <xsd:enumeration value="la"/> + <xsd:enumeration value="ln"/> + <xsd:enumeration value="lo"/> + <xsd:enumeration value="lt"/> + <xsd:enumeration value="lv"/> + <xsd:enumeration value="mg"/> + <xsd:enumeration value="mi"/> + <xsd:enumeration value="mk"/> + <xsd:enumeration value="ml"/> + <xsd:enumeration value="mn"/> + <xsd:enumeration value="mo"/> + <xsd:enumeration value="mr"/> + <xsd:enumeration value="ms"/> + <xsd:enumeration value="mt"/> + <xsd:enumeration value="my"/> + <xsd:enumeration value="na"/> + <xsd:enumeration value="ne"/> + <xsd:enumeration value="nl"/> + <xsd:enumeration value="no"/> + <xsd:enumeration value="oc"/> + <xsd:enumeration value="om"/> + <xsd:enumeration value="or"/> + <xsd:enumeration value="pa"/> + <xsd:enumeration value="pl"/> + <xsd:enumeration value="ps"/> + <xsd:enumeration value="pt"/> + <xsd:enumeration value="qu"/> + <xsd:enumeration value="rm"/> + <xsd:enumeration value="rn"/> + <xsd:enumeration value="ro"/> + <xsd:enumeration value="ru"/> + <xsd:enumeration value="rw"/> + <xsd:enumeration value="sa"/> + <xsd:enumeration value="sd"/> + <xsd:enumeration value="sg"/> + <xsd:enumeration value="sh"/> + <xsd:enumeration value="si"/> + <xsd:enumeration value="sk"/> + <xsd:enumeration value="sl"/> + <xsd:enumeration value="sm"/> + <xsd:enumeration value="sn"/> + <xsd:enumeration value="so"/> + <xsd:enumeration value="sq"/> + <xsd:enumeration value="sr"/> + <xsd:enumeration value="ss"/> + <xsd:enumeration value="st"/> + <xsd:enumeration value="su"/> + <xsd:enumeration value="sv"/> + <xsd:enumeration value="sw"/> + <xsd:enumeration value="ta"/> + <xsd:enumeration value="te"/> + <xsd:enumeration value="tg"/> + <xsd:enumeration value="th"/> + <xsd:enumeration value="ti"/> + <xsd:enumeration value="tk"/> + <xsd:enumeration value="tl"/> + <xsd:enumeration value="tn"/> + <xsd:enumeration value="to"/> + <xsd:enumeration value="tr"/> + <xsd:enumeration value="ts"/> + <xsd:enumeration value="tt"/> + <xsd:enumeration value="tw"/> + <xsd:enumeration value="uk"/> + <xsd:enumeration value="ur"/> + <xsd:enumeration value="uz"/> + <xsd:enumeration value="vi"/> + <xsd:enumeration value="vo"/> + <xsd:enumeration value="wo"/> + <xsd:enumeration value="xh"/> + <xsd:enumeration value="yo"/> + <xsd:enumeration value="zh"/> + <xsd:enumeration value="zu"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="CountryCodeISO"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value=""/> + <xsd:enumeration value="N/A"/> + <xsd:enumeration value="AF"/> + <xsd:enumeration value="AX"/> + <xsd:enumeration value="AL"/> + <xsd:enumeration value="DZ"/> + <xsd:enumeration value="AS"/> + <xsd:enumeration value="AD"/> + <xsd:enumeration value="AO"/> + <xsd:enumeration value="AI"/> + <xsd:enumeration value="AQ"/> + <xsd:enumeration value="AG"/> + <xsd:enumeration value="AR"/> + <xsd:enumeration value="AM"/> + <xsd:enumeration value="AW"/> + <xsd:enumeration value="AU"/> + <xsd:enumeration value="AT"/> + <xsd:enumeration value="AZ"/> + <xsd:enumeration value="BS"/> + <xsd:enumeration value="BH"/> + <xsd:enumeration value="BD"/> + <xsd:enumeration value="BB"/> + <xsd:enumeration value="BY"/> + <xsd:enumeration value="BE"/> + <xsd:enumeration value="BZ"/> + <xsd:enumeration value="BJ"/> + <xsd:enumeration value="BM"/> + <xsd:enumeration value="BT"/> + <xsd:enumeration value="BO"/> + <xsd:enumeration value="BA"/> + <xsd:enumeration value="BW"/> + <xsd:enumeration value="BV"/> + <xsd:enumeration value="BR"/> + <xsd:enumeration value="IO"/> + <xsd:enumeration value="BN"/> + <xsd:enumeration value="BG"/> + <xsd:enumeration value="BF"/> + <xsd:enumeration value="BI"/> + <xsd:enumeration value="KH"/> + <xsd:enumeration value="CM"/> + <xsd:enumeration value="CA"/> + <xsd:enumeration value="CV"/> + <xsd:enumeration value="KY"/> + <xsd:enumeration value="CF"/> + <xsd:enumeration value="TD"/> + <xsd:enumeration value="CL"/> + <xsd:enumeration value="CN"/> + <xsd:enumeration value="CX"/> + <xsd:enumeration value="CC"/> + <xsd:enumeration value="CO"/> + <xsd:enumeration value="KM"/> + <xsd:enumeration value="CG"/> + <xsd:enumeration value="CD"/> + <xsd:enumeration value="CK"/> + <xsd:enumeration value="CR"/> + <xsd:enumeration value="CI"/> + <xsd:enumeration value="HR"/> + <xsd:enumeration value="CU"/> + <xsd:enumeration value="CY"/> + <xsd:enumeration value="CZ"/> + <xsd:enumeration value="DK"/> + <xsd:enumeration value="DJ"/> + <xsd:enumeration value="DM"/> + <xsd:enumeration value="DO"/> + <xsd:enumeration value="EC"/> + <xsd:enumeration value="EG"/> + <xsd:enumeration value="SV"/> + <xsd:enumeration value="GQ"/> + <xsd:enumeration value="ER"/> + <xsd:enumeration value="EE"/> + <xsd:enumeration value="ET"/> + <xsd:enumeration value="FK"/> + <xsd:enumeration value="FO"/> + <xsd:enumeration value="FJ"/> + <xsd:enumeration value="FI"/> + <xsd:enumeration value="FR"/> + <xsd:enumeration value="GF"/> + <xsd:enumeration value="PF"/> + <xsd:enumeration value="TF"/> + <xsd:enumeration value="GA"/> + <xsd:enumeration value="GM"/> + <xsd:enumeration value="GE"/> + <xsd:enumeration value="DE"/> + <xsd:enumeration value="GH"/> + <xsd:enumeration value="GI"/> + <xsd:enumeration value="GR"/> + <xsd:enumeration value="GL"/> + <xsd:enumeration value="GD"/> + <xsd:enumeration value="GP"/> + <xsd:enumeration value="GU"/> + <xsd:enumeration value="GT"/> + <xsd:enumeration value="GN"/> + <xsd:enumeration value="GW"/> + <xsd:enumeration value="GY"/> + <xsd:enumeration value="HT"/> + <xsd:enumeration value="HM"/> + <xsd:enumeration value="VA"/> + <xsd:enumeration value="HN"/> + <xsd:enumeration value="HK"/> + <xsd:enumeration value="HU"/> + <xsd:enumeration value="IS"/> + <xsd:enumeration value="IN"/> + <xsd:enumeration value="ID"/> + <xsd:enumeration value="IR"/> + <xsd:enumeration value="IQ"/> + <xsd:enumeration value="IE"/> + <xsd:enumeration value="IL"/> + <xsd:enumeration value="IT"/> + <xsd:enumeration value="JM"/> + <xsd:enumeration value="JP"/> + <xsd:enumeration value="JO"/> + <xsd:enumeration value="KZ"/> + <xsd:enumeration value="KE"/> + <xsd:enumeration value="KI"/> + <xsd:enumeration value="KP"/> + <xsd:enumeration value="KR"/> + <xsd:enumeration value="KW"/> + <xsd:enumeration value="KG"/> + <xsd:enumeration value="LA"/> + <xsd:enumeration value="LV"/> + <xsd:enumeration value="LB"/> + <xsd:enumeration value="LS"/> + <xsd:enumeration value="LR"/> + <xsd:enumeration value="LY"/> + <xsd:enumeration value="LI"/> + <xsd:enumeration value="LT"/> + <xsd:enumeration value="LU"/> + <xsd:enumeration value="MO"/> + <xsd:enumeration value="MK"/> + <xsd:enumeration value="MG"/> + <xsd:enumeration value="MW"/> + <xsd:enumeration value="MY"/> + <xsd:enumeration value="MV"/> + <xsd:enumeration value="ML"/> + <xsd:enumeration value="MT"/> + <xsd:enumeration value="MH"/> + <xsd:enumeration value="MQ"/> + <xsd:enumeration value="MR"/> + <xsd:enumeration value="MU"/> + <xsd:enumeration value="YT"/> + <xsd:enumeration value="MX"/> + <xsd:enumeration value="FM"/> + <xsd:enumeration value="MD"/> + <xsd:enumeration value="MC"/> + <xsd:enumeration value="MN"/> + <xsd:enumeration value="MS"/> + <xsd:enumeration value="MA"/> + <xsd:enumeration value="MZ"/> + <xsd:enumeration value="MM"/> + <xsd:enumeration value="NA"/> + <xsd:enumeration value="NR"/> + <xsd:enumeration value="NP"/> + <xsd:enumeration value="NL"/> + <xsd:enumeration value="AN"/> + <xsd:enumeration value="NC"/> + <xsd:enumeration value="NZ"/> + <xsd:enumeration value="NI"/> + <xsd:enumeration value="NE"/> + <xsd:enumeration value="NG"/> + <xsd:enumeration value="NU"/> + <xsd:enumeration value="NF"/> + <xsd:enumeration value="MP"/> + <xsd:enumeration value="NO"/> + <xsd:enumeration value="OM"/> + <xsd:enumeration value="PK"/> + <xsd:enumeration value="PW"/> + <xsd:enumeration value="PS"/> + <xsd:enumeration value="PA"/> + <xsd:enumeration value="PG"/> + <xsd:enumeration value="PY"/> + <xsd:enumeration value="PE"/> + <xsd:enumeration value="PH"/> + <xsd:enumeration value="PN"/> + <xsd:enumeration value="PL"/> + <xsd:enumeration value="PT"/> + <xsd:enumeration value="PR"/> + <xsd:enumeration value="QA"/> + <xsd:enumeration value="RE"/> + <xsd:enumeration value="RO"/> + <xsd:enumeration value="RU"/> + <xsd:enumeration value="RW"/> + <xsd:enumeration value="SH"/> + <xsd:enumeration value="KN"/> + <xsd:enumeration value="LC"/> + <xsd:enumeration value="PM"/> + <xsd:enumeration value="VC"/> + <xsd:enumeration value="WS"/> + <xsd:enumeration value="SM"/> + <xsd:enumeration value="ST"/> + <xsd:enumeration value="SA"/> + <xsd:enumeration value="SN"/> + <xsd:enumeration value="CS"/> + <xsd:enumeration value="SC"/> + <xsd:enumeration value="SL"/> + <xsd:enumeration value="SG"/> + <xsd:enumeration value="SK"/> + <xsd:enumeration value="SI"/> + <xsd:enumeration value="SB"/> + <xsd:enumeration value="SO"/> + <xsd:enumeration value="ZA"/> + <xsd:enumeration value="GS"/> + <xsd:enumeration value="ES"/> + <xsd:enumeration value="LK"/> + <xsd:enumeration value="SD"/> + <xsd:enumeration value="SR"/> + <xsd:enumeration value="SJ"/> + <xsd:enumeration value="SZ"/> + <xsd:enumeration value="SE"/> + <xsd:enumeration value="CH"/> + <xsd:enumeration value="SY"/> + <xsd:enumeration value="TW"/> + <xsd:enumeration value="TJ"/> + <xsd:enumeration value="TZ"/> + <xsd:enumeration value="TH"/> + <xsd:enumeration value="TL"/> + <xsd:enumeration value="TG"/> + <xsd:enumeration value="TK"/> + <xsd:enumeration value="TO"/> + <xsd:enumeration value="TT"/> + <xsd:enumeration value="TN"/> + <xsd:enumeration value="TR"/> + <xsd:enumeration value="TM"/> + <xsd:enumeration value="TC"/> + <xsd:enumeration value="TV"/> + <xsd:enumeration value="UG"/> + <xsd:enumeration value="UA"/> + <xsd:enumeration value="AE"/> + <xsd:enumeration value="GB"/> + <xsd:enumeration value="US"/> + <xsd:enumeration value="UM"/> + <xsd:enumeration value="UY"/> + <xsd:enumeration value="UZ"/> + <xsd:enumeration value="VU"/> + <xsd:enumeration value="VE"/> + <xsd:enumeration value="VN"/> + <xsd:enumeration value="VG"/> + <xsd:enumeration value="VI"/> + <xsd:enumeration value="WF"/> + <xsd:enumeration value="EH"/> + <xsd:enumeration value="YE"/> + <xsd:enumeration value="ZM"/> + <xsd:enumeration value="ZW"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="MD_CharacterSetCode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value=""/> + <xsd:enumeration value="N/A"/> + <xsd:enumeration value="ucs2"/> + <xsd:enumeration value="ucs4"/> + <xsd:enumeration value="utf7"/> + <xsd:enumeration value="utf8"/> + <xsd:enumeration value="utf16"/> + <xsd:enumeration value="a8859part1"/> + <xsd:enumeration value="a8859part2"/> + <xsd:enumeration value="a8859part3"/> + <xsd:enumeration value="a8859part4"/> + <xsd:enumeration value="a8859part5"/> + <xsd:enumeration value="a8859part6"/> + <xsd:enumeration value="a8859part7"/> + <xsd:enumeration value="a8859part8"/> + <xsd:enumeration value="a8859part9"/> + <xsd:enumeration value="a8859part10"/> + <xsd:enumeration value="a8859part11"/> + <xsd:enumeration value="a8859part13"/> + <xsd:enumeration value="a8859part14"/> + <xsd:enumeration value="a8859part15"/> + <xsd:enumeration value="a8859part16"/> + <xsd:enumeration value="jis"/> + <xsd:enumeration value="shiftJIS"/> + <xsd:enumeration value="eucJP"/> + <xsd:enumeration value="usAscii"/> + <xsd:enumeration value="ebcdic"/> + <xsd:enumeration value="eucKR"/> + <xsd:enumeration value="big5"/> + <xsd:enumeration value="GB2312"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="MD_TopicCategoryCode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value=""/> + <xsd:enumeration value="N/A"/> + <xsd:enumeration value="farming"/> + <xsd:enumeration value="biota"/> + <xsd:enumeration value="boundaries"/> + <xsd:enumeration value="climatologyMeteorologyAtmosphere"/> + <xsd:enumeration value="economy"/> + <xsd:enumeration value="elevation"/> + <xsd:enumeration value="inlandWaters"/> + <xsd:enumeration value="environment"/> + <xsd:enumeration value="geoscientificInformation"/> + <xsd:enumeration value="health"/> + <xsd:enumeration value="imageryBaseMapsEarthCover"/> + <xsd:enumeration value="intelligenceMilitary"/> + <xsd:enumeration value="location"/> + <xsd:enumeration value="oceans"/> + <xsd:enumeration value="planningCadastre"/> + <xsd:enumeration value="society"/> + <xsd:enumeration value="structure"/> + <xsd:enumeration value="transportation"/> + <xsd:enumeration value="utilitiesCommunication"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="CI_DateTypeCode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value=""/> + <xsd:enumeration value="N/A"/> + <xsd:enumeration value="creation"/> + <xsd:enumeration value="publication"/> + <xsd:enumeration value="revision"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="NotAvailable"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value=""/> + <xsd:enumeration value="N/A"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/index-fields/index-subtemplate.xsl b/iso19139.che/src/main/plugin/iso19139.che/index-fields/index-subtemplate.xsl new file mode 100644 index 00000000000..40e3c707080 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/index-fields/index-subtemplate.xsl @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gn-fn-index="http://geonetwork-opensource.org/xsl/functions/index" + xmlns:util="java:org.fao.geonet.util.XslUtil" + version="2.0" +> + + <xsl:import href="common/index-utils.xsl"/> + + <xsl:param name="id"/> + <xsl:param name="uuid"/> + <xsl:param name="title"/> + + <xsl:variable name="mainLanguage" as="xs:string?" select="util:getLanguage()"/> + + <xsl:variable name="otherLanguages" select="distinct-values(//gmd:LocalisedCharacterString/@locale)"/> + + <xsl:variable name="allLanguages"> + <lang id="default" value="{$mainLanguage}"/> + <xsl:for-each select="$otherLanguages"> + <lang id="{substring(., 2, 2)}" value="{util:threeCharLangCode(substring(., 2, 2))}"/> + </xsl:for-each> + </xsl:variable> + + <!-- Subtemplate indexing --> + <xsl:template match="/"> + <xsl:variable name="isoDocLangId" select="util:getLanguage()"></xsl:variable> + <doc> + <root><xsl:value-of select="name(*)"/></root> + <xsl:copy-of select="gn-fn-index:add-field('mainLanguage', $isoDocLangId)"/> + <xsl:for-each select="$allLanguages/lang[@id != 'default']"> + <otherLanguage><xsl:value-of select="@value"/></otherLanguage> + </xsl:for-each> + + <xsl:apply-templates mode="index" select="*"/> + </doc> + </xsl:template> + + <!--Contacts & Organisations--> + <xsl:template mode="index" + match="che:CHE_CI_ResponsibleParty[count(ancestor::node()) = 1]| + *[@gco:isoType='che:CHE_CI_ResponsibleParty'][count(ancestor::node()) = 1]"> + <xsl:variable name="org" + select="normalize-space(( + gmd:organisationName/gco:CharacterString[. != ''] + |gmd:organisationName/gmd:PT_FreeText/*/gmd:LocalisedCharacterString[. != ''] + )[1])"/> + <xsl:variable name="name" + select="normalize-space(gmd:individualName/gco:CharacterString)"/> + <xsl:variable name="mail" + select="normalize-space(gmd:contactInfo/gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:electronicMailAddress[1]/gco:CharacterString)"/> + <xsl:variable name="contactInfo" + select="if ($name != '') then $name else $mail"/> + + <resourceTitleObject type="object">{ + "default": "<xsl:value-of select="gn-fn-index:json-escape( + concat($org, ' (', $contactInfo, ')'))"/>" + <xsl:for-each select="gmd:organisationName/gmd:PT_FreeText/*/gmd:LocalisedCharacterString[. != '']"> + ,"lang<xsl:value-of select="$allLanguages/lang[ + @id = current()/@locale/substring(., 2, 2) + ]/@value"/>": "<xsl:value-of select="gn-fn-index:json-escape( + if ($contactInfo != '') + then concat(., ' (', $contactInfo, ')') + else .)"/>" + </xsl:for-each> + }</resourceTitleObject> + + + <any type="object">{"common": "<xsl:value-of + select="gn-fn-index:json-escape(normalize-space(.))"/>"}</any> + + <xsl:variable name="individualFirstName" select="che:individualFirstName/gco:CharacterString"/> + <xsl:variable name="individualLastName" select="che:individualLastName/gco:CharacterString"/> + <xsl:copy-of select="gn-fn-index:add-field('individualFirstName', $individualFirstName)"/> + <xsl:copy-of select="gn-fn-index:add-field('individualLastName', $individualLastName)"/> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('contactOrg', gmd:organisationName, $allLanguages)"/> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('contactEmail', gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress, $allLanguages)"/> + <xsl:call-template name="subtemplate-common-fields"/> + </xsl:template> + + + <xsl:template mode="index" match="gmd:EX_Extent[count(ancestor::node()) = 1]"> + <xsl:choose> + <xsl:when test="normalize-space(gmd:description) != ''"> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('resourceTitle', gmd:description, $allLanguages)"/> + </xsl:when> + <xsl:otherwise> + <resourceTitle>[<xsl:value-of select="string-join(.//gco:Decimal, ', ')"/>]</resourceTitle> + </xsl:otherwise> + </xsl:choose> + + <xsl:call-template name="subtemplate-common-fields"/> + </xsl:template> + + <xsl:template mode="index" match="gmd:MD_Format[count(ancestor::node()) = 1]"> + <xsl:variable name="title" + select="if (gmd:version/gco:CharacterString = '' or gmd:version/gco:CharacterString = '-') + then gmd:name/gco:CharacterString + else concat(gmd:name/gco:CharacterString, ' ', gmd:version/gco:CharacterString)"/> + <xsl:variable name="name" select="gmd:name/gco:CharacterString"/> + <xsl:variable name="version" select="gmd:version/gco:CharacterString"/> + <resourceTitle><xsl:value-of select="$title"/></resourceTitle> + <xsl:copy-of select="gn-fn-index:add-field('formatName', $name)"/> + <xsl:copy-of select="gn-fn-index:add-field('formatVersion', $version)"/> + <resourceTitleObject type="object">{ + "default": "<xsl:value-of select="gn-fn-index:json-escape($title)"/>" + }</resourceTitleObject> + + <xsl:call-template name="subtemplate-common-fields"/> + </xsl:template> + + <xsl:template mode="index" match="gmd:resourceConstraints[count(ancestor::node()) = 1]"> + <resourceTitle><xsl:value-of select="concat( + string-join(gmd:MD_LegalConstraints/*/gmd:MD_RestrictionCode/@codeListValue[@codeListValue != 'otherConstraints'], ', '), + ' ', + string-join(gmd:MD_LegalConstraints/gmd:otherConstraints/*/text(), ', '))"/></resourceTitle> + + <xsl:call-template name="subtemplate-common-fields"/> + </xsl:template> + + <xsl:template name="subtemplate-common-fields"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/index-fields/index.xsl b/iso19139.che/src/main/plugin/iso19139.che/index-fields/index.xsl new file mode 100644 index 00000000000..f3f234763f5 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/index-fields/index.xsl @@ -0,0 +1,1349 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2020 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gmi="http://www.isotc211.org/2005/gmi" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml31="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gn-fn-index="http://geonetwork-opensource.org/xsl/functions/index" + xmlns:index="java:org.fao.geonet.kernel.search.EsSearchManager" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:date-util="java:org.fao.geonet.utils.DateUtil" + xmlns:daobs="http://daobs.org" + xmlns:saxon="http://saxon.sf.net/" + extension-element-prefixes="saxon" + exclude-result-prefixes="#all" + version="2.0"> + + <xsl:import href="../../iso19139/index-fields/fn.xsl"/> + <xsl:import href="common/inspire-constant.xsl"/> + <xsl:import href="common/index-utils.xsl"/> + + <xsl:output method="xml" indent="yes"/> + + <xsl:output name="default-serialize-mode" + indent="no" + omit-xml-declaration="yes" + encoding="utf-8" + escape-uri-attributes="yes"/> + + + + <!-- If identification creation, publication and revision date + should be indexed as a temporal extent information (eg. in INSPIRE + metadata implementing rules, those elements are defined as part + of the description of the temporal extent). --> + <xsl:variable name="useDateAsTemporalExtent" select="true()"/> + + <!-- Define if operatesOn type should be defined + by analysis of protocol in all transfers options. + --> + <xsl:variable name="operatesOnSetByProtocol" select="false()"/> + + <xsl:variable name="processRemoteDocs" select="false()" /> + + <!-- Parent may be encoded using an associatedResource. + Define which association type should be considered as parent. --> + <xsl:variable name="parentAssociatedResourceType" select="'partOfSeamlessDatabase'"/> + + <xsl:template match="/"> + <xsl:apply-templates mode="index"/> + </xsl:template> + + <xsl:template match="gmi:MI_Metadata|gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata']" + mode="extract-uuid"> + <xsl:value-of select="gmd:fileIdentifier/gco:CharacterString"/> + </xsl:template> + + <xsl:variable name="siteUrl" select="util:getSiteUrl()" /> + + <xsl:template mode="index-extra-fields" match="*"/> + + <xsl:template mode="index-extra-documents" match="*"/> + + <xsl:template match="gmi:MI_Metadata|gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata']" + mode="index"> + <!-- Main variables for the document + + TODO: GN does not assign UUIDs to template. Maybe it should ? + XTTE0570: An empty sequence is not allowed as the value of variable $identifier + --> + <xsl:variable name="identifier" as="xs:string?" + select="gmd:fileIdentifier/gco:CharacterString[. != '']"/> + + + <!-- In ISO19139 consider datestamp element the last update date + even if the standard says creation date. Most of the catalog implementations + update the datestamp on change. --> + <xsl:variable name="lastRevisionDate" as="xs:string?" + select="gmd:dateStamp[1]/gco:DateTime[gn-fn-index:is-isoDate(.)]"/> + + <xsl:variable name="mainLanguageCode" as="xs:string?" + select="gmd:language[1]/gmd:LanguageCode/ + @codeListValue[normalize-space(.) != '']"/> + + <xsl:variable name="mainLanguage" as="xs:string?" + select="if ($mainLanguageCode) then $mainLanguageCode else + gmd:language[1]/gco:CharacterString[normalize-space(.) != '']"/> + + <xsl:variable name="otherLanguages" as="attribute()*" + select="gmd:locale/gmd:PT_Locale/ + gmd:languageCode/gmd:LanguageCode/ + @codeListValue[normalize-space(.) != '']"/> + <xsl:variable name="allLanguages"> + <lang id="default" value="{$mainLanguage}"/> + <xsl:for-each select="$otherLanguages"> + <lang id="{../../../@id}" value="{.}"/> + </xsl:for-each> + </xsl:variable> + + <!-- Get main language ID from otherLanguages --> + <xsl:variable name="mainLanguageId" as="xs:string?" select="concat('#', $allLanguages/lang[@id != 'default' and @value = $mainLanguage]/@id)"/> + + <!-- Record is dataset if no hierarchyLevel --> + <xsl:variable name="isDataset" as="xs:boolean" + select=" + count(gmd:hierarchyLevel[gmd:MD_ScopeCode/@codeListValue='dataset']) > 0 or + count(gmd:hierarchyLevel) = 0"/> + + <xsl:variable name="isService" as="xs:boolean" + select=" + count(gmd:hierarchyLevel[gmd:MD_ScopeCode/@codeListValue='service']) > 0"/> + + <!-- Create a first document representing the main record. --> + <doc> + <xsl:copy-of select="gn-fn-index:add-field('docType', 'metadata')"/> + + <!-- Index the metadata document as XML --> + <document> + <!--<xsl:value-of select="saxon:serialize(., 'default-serialize-mode')"/>--> + </document> + + <xsl:copy-of select="gn-fn-index:add-field('metadataIdentifier', $identifier)"/> + + <xsl:for-each select="gmd:metadataStandardName"> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('standardName', ., $allLanguages)"/> + </xsl:for-each> + + <xsl:for-each select="gmd:metadataStandardVersion"> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('standardVersion', ., $allLanguages)"/> + </xsl:for-each> + + <!-- Since GN sets the timezone in system/server/timeZone setting as Java system default + timezone we can rely on XSLT functions to get current date in the right timezone --> + <indexingDate> + <xsl:value-of select="format-dateTime(current-dateTime(), $dateFormat)"/> + </indexingDate> + + <!-- Indexing record information --> + <!-- # Date --> + <!-- TODO improve date formatting maybe using Joda parser + Select first one because some records have 2 dates ! + eg. fr-784237539-bdref20100101-0105 + + Remove millisec and timezone until not supported + eg. 2017-02-08T13:18:03.138+00:02 + --> + <xsl:for-each select="(gmd:dateStamp/*[gn-fn-index:is-isoDate(.)])[1]"> + <dateStamp><xsl:value-of select="date-util:convertToISOZuluDateTime(normalize-space(.))"/></dateStamp> + </xsl:for-each> + + + <!-- # Languages --> + <xsl:copy-of select="gn-fn-index:add-field('mainLanguage', $mainLanguage)"/> + + <xsl:for-each select="$otherLanguages"> + <xsl:copy-of select="gn-fn-index:add-field('otherLanguage', .)"/> + <xsl:copy-of select="gn-fn-index:add-field('otherLanguageId', ../../../@id)"/> + </xsl:for-each> + + + <xsl:for-each select="gmd:characterSet/*[@codeListValue != '']"> + <xsl:copy-of select="gn-fn-index:add-codelist-field( + 'cl_characterSet', ., $allLanguages)"/> + </xsl:for-each> + + <!-- # Resource type --> + <xsl:choose> + <xsl:when test="$isDataset"> + <resourceType>dataset</resourceType> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="gmd:hierarchyLevel/*/@codeListValue[normalize-space(.) != '']"> + <resourceType> + <xsl:value-of select="."/> + </resourceType> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + + <xsl:variable name="isMapDigital" + select="count(gmd:identificationInfo/*/gmd:citation/*/gmd:presentationForm[*/@codeListValue = 'mapDigital']) > 0"/> + <xsl:variable name="isStatic" + select="count(gmd:distributionInfo/*/gmd:distributionFormat/*/gmd:name/*[contains(., 'PDF') or contains(., 'PNG') or contains(., 'JPEG')]) > 0"/> + <xsl:variable name="isInteractive" + select="count(gmd:distributionInfo/*/gmd:distributionFormat/*/gmd:name/*[contains(., 'OGC:WMC') or contains(., 'OGC:OWS-C')]) > 0"/> + <xsl:variable name="isPublishedWithWMCProtocol" + select="count(gmd:distributionInfo/*/gmd:transferOptions/*/gmd:onLine/*/gmd:protocol[starts-with(gco:CharacterString, 'OGC:WMC')]) > 0"/> + + <xsl:choose> + <xsl:when test="$isDataset and $isMapDigital and + ($isStatic or $isInteractive or $isPublishedWithWMCProtocol)"> + <resourceType>map</resourceType> + <xsl:choose> + <xsl:when test="$isStatic"> + <resourceType>map/static</resourceType> + </xsl:when> + <xsl:when test="$isInteractive or $isPublishedWithWMCProtocol"> + <resourceType>map/interactive</resourceType> + </xsl:when> + </xsl:choose> + </xsl:when> + </xsl:choose> + + + + <!-- Indexing metadata contact --> + <xsl:apply-templates mode="index-contact" select="gmd:contact"> + <xsl:with-param name="fieldSuffix" select="''"/> + <xsl:with-param name="languages" select="$allLanguages"/> + <xsl:with-param name="mainLanguage" select="$mainLanguageId"/> + </xsl:apply-templates> + + <!-- Indexing all codelists. + + Exclude some codelist like + Contact role, Date type indexed in other fields. + --> + <xsl:for-each-group select=".//*[@codeListValue != '' and + name() != 'gmd:CI_RoleCode' and + name() != 'gmd:CI_DateTypeCode' and + name() != 'gmd:MD_CharacterSetCode' and + name() != 'gmd:LanguageCode' + ]" + group-by="@codeListValue"> + <xsl:variable name="parentName" + select="local-name(..)"/> + <xsl:variable name="fieldName" + select="concat('cl_', $parentName)"/> + + <xsl:copy-of select="gn-fn-index:add-codelist-field( + $fieldName, ., $allLanguages)"/> + </xsl:for-each-group> + + + <!-- Indexing resource information + TODO: Should we support multiple identification in the same record + eg. nl db60a314-5583-437d-a2ff-1e59cc57704e + Also avoid error when records contains multiple MD_IdentificationInfo + or SRV_ServiceIdentification or a mix + eg. de 8bb5334f-558b-982b-7b12-86ea486540d7 + --> + <xsl:for-each select="gmd:identificationInfo[1]/*[1]"> + <xsl:for-each select="gmd:citation/gmd:CI_Citation"> + + <xsl:copy-of select="gn-fn-index:add-multilingual-field('resourceTitle', gmd:title, $allLanguages)"/> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('resourceAltTitle', gmd:resourceAltTitle, $allLanguages)"/> + + <xsl:for-each select="gmd:date/gmd:CI_Date[gn-fn-index:is-isoDate(gmd:date/*/text())]"> + <xsl:variable name="dateType" + select="gmd:dateType[1]/gmd:CI_DateTypeCode/@codeListValue" + as="xs:string?"/> + <xsl:variable name="date" + select="string(gmd:date[1]/gco:Date|gmd:date[1]/gco:DateTime)"/> + + <xsl:variable name="zuluDateTime" as="xs:string?"> + <xsl:if test="gn-fn-index:is-isoDate(.)"> + <xsl:value-of select="date-util:convertToISOZuluDateTime(normalize-space($date))"/> + </xsl:if> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$zuluDateTime != ''"> + <xsl:element name="{$dateType}DateForResource"> + <xsl:value-of select="$zuluDateTime"/> + </xsl:element> + <xsl:element name="{$dateType}YearForResource"> + <xsl:value-of select="substring($zuluDateTime, 0, 5)"/> + </xsl:element> + <xsl:element name="{$dateType}MonthForResource"> + <xsl:value-of select="substring($zuluDateTime, 0, 8)"/> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <indexingErrorMsg>Warning / Date <xsl:value-of select="$dateType"/> with value '<xsl:value-of select="$date"/>' was not a valid date format.</indexingErrorMsg> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + + + <xsl:for-each select="gmd:date/gmd:CI_Date[gn-fn-index:is-isoDate(gmd:date/*/text())]"> + <xsl:variable name="dateType" + select="gmd:dateType[1]/gmd:CI_DateTypeCode/@codeListValue" + as="xs:string?"/> + <xsl:variable name="date" + select="string(gmd:date[1]/gco:Date|gmd:date[1]/gco:DateTime)"/> + + <xsl:variable name="zuluDate" + select="date-util:convertToISOZuluDateTime($date)"/> + <xsl:if test="$zuluDate != ''"> + <resourceDate type="object"> + {"type": "<xsl:value-of select="$dateType"/>", "date": "<xsl:value-of select="$zuluDate"/>"} + </resourceDate> + </xsl:if> + </xsl:for-each> + + <xsl:if test="$useDateAsTemporalExtent"> + <xsl:for-each-group select="gmd:date/gmd:CI_Date[gn-fn-index:is-isoDate(gmd:date/*/text())]/gmd:date/*/text()" + group-by="."> + <xsl:variable name="zuluDate" + select="date-util:convertToISOZuluDateTime(.)"/> + <xsl:if test="$zuluDate != ''"> + <resourceTemporalDateRange type="object">{ + "gte": "<xsl:value-of select="$zuluDate"/>", + "lte": "<xsl:value-of select="$zuluDate"/>" + }</resourceTemporalDateRange> + </xsl:if> + </xsl:for-each-group> + </xsl:if> + + <xsl:for-each select="gmd:identifier/*"> + <resourceIdentifier type="object">{ + "code": "<xsl:value-of select="gn-fn-index:json-escape(gmd:code/(gco:CharacterString|gmx:Anchor))"/>", + "codeSpace": "<xsl:value-of select="gmd:codeSpace/(gco:CharacterString|gmx:Anchor)"/>", + "link": "<xsl:value-of select="gmd:code/gmx:Anchor/@xlink:href"/>" + }</resourceIdentifier> + </xsl:for-each> + + <xsl:for-each select="gmd:edition/*"> + <xsl:copy-of select="gn-fn-index:add-field('resourceEdition', .)"/> + </xsl:for-each> + + <xsl:for-each select="gmd:editionDate/*"> + <xsl:if test="current() castable as xs:date or current() castable as xs:dateTime"> + <xsl:copy-of select="gn-fn-index:add-field('resourceEditionDate', .)"/> + </xsl:if> + </xsl:for-each> + + + </xsl:for-each> + + <xsl:copy-of select="gn-fn-index:add-multilingual-field('resourceAbstract', gmd:abstract, $allLanguages)"/> + + <xsl:for-each select="gmd:characterSet/*[@codeListValue != '']"> + <xsl:copy-of select="gn-fn-index:add-codelist-field( + 'cl_resourceCharacterSet', ., $allLanguages)"/> + </xsl:for-each> + + <!-- Indexing resource contact --> + <xsl:apply-templates mode="index-contact" + select="gmd:pointOfContact"> + <xsl:with-param name="fieldSuffix" select="'ForResource'"/> + <xsl:with-param name="languages" select="$allLanguages"/> + </xsl:apply-templates> + + <xsl:copy-of select="gn-fn-index:add-multilingual-field('resourceCredit', gmd:credit, $allLanguages)"/> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('supplementalInformation', gmd:supplementalInformation, $allLanguages)"/> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('purpose', gmd:purpose, $allLanguages)"/> + + <xsl:variable name="overviews" + select="gmd:graphicOverview/gmd:MD_BrowseGraphic/ + gmd:fileName/gco:CharacterString[. != '']"/> + <xsl:copy-of select="gn-fn-index:add-field('hasOverview', if (count($overviews) > 0) then 'true' else 'false')"/> + + + <xsl:for-each select="$overviews"> + <!-- TODO can be multilingual desc and name --> + <overview type="object">{ + "url": "<xsl:value-of select="normalize-space(.)"/>" + <xsl:if test="$isStoringOverviewInIndex"> + <xsl:variable name="data" + select="util:buildDataUrl(., 140)"/> + <xsl:if test="$data != ''">, + "data": "<xsl:value-of select="$data"/>" + </xsl:if> + </xsl:if> + <xsl:if test="normalize-space(../../gmd:fileDescription) != ''">, + "text": <xsl:value-of select="gn-fn-index:add-multilingual-field('name', ../../gmd:fileDescription, $allLanguages, true())"/> + </xsl:if> + }</overview> + </xsl:for-each> + + <xsl:for-each + select="gmd:language/(gco:CharacterString|gmd:LanguageCode/@codeListValue)"> + <resourceLanguage> + <xsl:value-of select="."/> + </resourceLanguage> + </xsl:for-each> + + <xsl:variable name="inspireEnable" select="util:getSettingValue('system/inspire/enable')" /> + + <xsl:if test="$inspireEnable = 'true'"> + <!-- TODO: create specific INSPIRE template or mode --> + <!-- INSPIRE themes + + Select the first thesaurus title because some records + may contains many even if invalid. + + Also get the first title at it may happen that a record + have more than one. + + Select any thesaurus having the title containing "INSPIRE themes". + Some records have "GEMET-INSPIRE themes" eg. sk:ee041534-b8f3-4683-b9dd-9544111a0712 + Some other "GEMET - INSPIRE themes" + + Take in account gmd:descriptiveKeywords or srv:keywords + --> + <!-- TODO: Some MS may be using a translated version of the thesaurus title --> + <xsl:variable name="inspireKeywords" + select="*/gmd:MD_Keywords[ + contains(lower-case( + gmd:thesaurusName[1]/*/gmd:title[1]/*[1]/text() + ), 'gemet') and + contains(lower-case( + gmd:thesaurusName[1]/*/gmd:title[1]/*[1]/text() + ), 'inspire')] + /gmd:keyword"/> + <xsl:for-each + select="$inspireKeywords"> + <xsl:variable name="position" select="position()"/> + <xsl:for-each select="gco:CharacterString[. != '']| + gmx:Anchor[. != '']"> + <xsl:variable name="inspireTheme" as="xs:string" + select="index:analyzeField('synInspireThemes', text())"/> + + <inspireTheme_syn> + <xsl:value-of select="text()"/> + </inspireTheme_syn> + <inspireTheme> + <xsl:value-of select="$inspireTheme"/> + </inspireTheme> + <!-- TODOES: Add Acronym --> + <!-- + WARNING: Here we only index the first keyword in order + to properly compute one INSPIRE annex. + --> + <xsl:if test="$position = 1"> + <inspireThemeFirst_syn> + <xsl:value-of select="text()"/> + </inspireThemeFirst_syn> + <inspireThemeFirst> + <xsl:value-of select="$inspireTheme"/> + </inspireThemeFirst> + + <xsl:if test="$inspireTheme != ''"> + <inspireAnnexForFirstTheme> + <xsl:value-of + select="index:analyzeField('synInspireAnnexes', $inspireTheme)"/> + </inspireAnnexForFirstTheme> + </xsl:if> + </xsl:if> + <xsl:if test="$inspireTheme != ''"> + <inspireAnnex> + <xsl:value-of + select="index:analyzeField('synInspireAnnexes', $inspireTheme)"/> + </inspireAnnex> + <xsl:variable name="inspireThemeUri" as="xs:string" + select="index:analyzeField('synInspireThemeUris', $inspireTheme)"/> + <inspireThemeUri> + <xsl:value-of select="$inspireThemeUri"/> + </inspireThemeUri> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + <!-- For services, the count does not take into account + dataset's INSPIRE themes which are transfered to the service + by service-dataset-task. --> + <inspireThemeNumber> + <xsl:value-of + select="count($inspireKeywords)"/> + </inspireThemeNumber> + + <hasInspireTheme> + <xsl:value-of + select="if (count($inspireKeywords) > 0) then 'true' else 'false'"/> + </hasInspireTheme> + </xsl:if> + + <xsl:variable name="allKeywords"> + <xsl:for-each-group select="*/gmd:MD_Keywords" + group-by="concat(gmd:thesaurusName/*/gmd:title/(gco:CharacterString|gmx:Anchor)/text(), '-', gmd:type/*/@codeListValue[. != ''])"> + <xsl:sort select="current-grouping-key()"/> + + <xsl:variable name="thesaurusType" + select="gmd:type/*/@codeListValue[. != '']"/> + + <xsl:variable name="thesaurusTitle" + select="if (starts-with(current-grouping-key(), '-')) + then concat('otherKeywords', current-grouping-key()) + else gmd:thesaurusName/*/gmd:title/(gco:CharacterString|gmx:Anchor)/text()"/> + + <xsl:variable name="thesaurusRef" + select="gmd:thesaurusName/gmd:CI_Citation/ + gmd:identifier[position() = 1]/gmd:MD_Identifier/ + gmd:code/(gco:CharacterString|gmx:Anchor)"/> + + <xsl:variable name="thesaurusId" + select="normalize-space($thesaurusRef/text())"/> + + <xsl:variable name="thesaurusUri" + select="$thesaurusRef/@xlink:href"/> + + <xsl:variable name="thesaurusFieldName" + select="gn-fn-index:build-thesaurus-index-field-name($thesaurusId, $thesaurusTitle)"/> + + <xsl:variable name="keywords" + select="current-group()/gmd:keyword[*/normalize-space() != '']"/> + <thesaurus> + <info type="{$thesaurusType}" + field="{$thesaurusFieldName}" + id="{$thesaurusId}" + uri="{$thesaurusUri}" + title="{$thesaurusTitle}"> + </info> + <keywords> + <xsl:for-each select="$keywords"> + <keyword> + <xsl:variable name="keywordUri" + select="if (gmx:Anchor/@xlink:href[. != '']) + then gmx:Anchor/@xlink:href + else util:getKeywordUri( + (*/text())[1], + $thesaurusId, + $allLanguages/lang[@id = 'default']/@value)"/> + <xsl:attribute name="uri" + select="$keywordUri"/> + <values> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('keyword', + ., $allLanguages, false(), true())"/> + </values> + + <!-- If keyword is related to a thesaurus available + in current catalogue, checked the keyword exists in the thesaurus. + If not, report an error in indexingErrorMsg field. + + This case may trigger editor warning message when a keyword is not + found in the thesaurus. Try to anticipate this and advertise those + records in the admin. --> + <xsl:if test="$thesaurusId != '' and $keywordUri = ''"> + <errors> + <indexingErrorMsg>Warning / Keyword <xsl:value-of select="(*/text())[1]"/> not found in <xsl:value-of select="$thesaurusId"/>.</indexingErrorMsg> + </errors> + </xsl:if> + + <tree> + <defaults> + <xsl:call-template name="get-keyword-tree-values"> + <xsl:with-param name="keyword" + select="(*/text())[1]"/> + <xsl:with-param name="thesaurus" + select="$thesaurusId"/> + <xsl:with-param name="language" + select="$allLanguages/lang[@id = 'default']/@value"/> + </xsl:call-template> + </defaults> + <xsl:if test="$keywordUri != ''"> + <keys> + <xsl:call-template name="get-keyword-tree-values"> + <xsl:with-param name="keyword" + select="$keywordUri"/> + <xsl:with-param name="thesaurus" + select="$thesaurusId"/> + <xsl:with-param name="language" + select="$allLanguages/lang[@id = 'default']/@value"/> + </xsl:call-template> + </keys> + </xsl:if> + </tree> + </keyword> + </xsl:for-each> + </keywords> + </thesaurus> + </xsl:for-each-group> + + </xsl:variable> + + <xsl:call-template name="build-all-keyword-fields"> + <xsl:with-param name="allKeywords" select="$allKeywords"/> + </xsl:call-template> + + + <xsl:for-each select="gmd:topicCategory/gmd:MD_TopicCategoryCode"> + <xsl:variable name="value" as="node()"> + <xsl:copy> + <xsl:attribute name="codeListValue" select="."/> + </xsl:copy> + </xsl:variable> + <xsl:copy-of select="gn-fn-index:add-codelist-field( + 'cl_topic', $value, $allLanguages)"/> + </xsl:for-each> + + + <xsl:for-each select="gmd:spatialResolution/gmd:MD_Resolution"> + <xsl:for-each + select="gmd:equivalentScale/gmd:MD_RepresentativeFraction/gmd:denominator/gco:Integer[. castable as xs:decimal]"> + <resolutionScaleDenominator> + <xsl:value-of select="."/> + </resolutionScaleDenominator> + </xsl:for-each> + + <xsl:for-each select="gmd:distance/gco:Distance[. != '']"> + <resolutionDistance> + <xsl:value-of select="concat(., ' ', @uom)"/> + </resolutionDistance> + </xsl:for-each> + </xsl:for-each> + + + <xsl:for-each select="gmd:resourceConstraints/*"> + <xsl:variable name="fieldPrefix" + select="if (@gco:isoType) + then substring-after(@gco:isoType, ':') + else local-name()"/> + + <xsl:for-each select="gmd:otherConstraints"> + <xsl:copy-of select="gn-fn-index:add-multilingual-field(concat($fieldPrefix, 'OtherConstraints'), ., $allLanguages)"/> + </xsl:for-each> + + <xsl:for-each select="gmd:useLimitation"> + <xsl:copy-of select="gn-fn-index:add-multilingual-field(concat($fieldPrefix, 'UseLimitation'), ., $allLanguages)"/> + </xsl:for-each> + </xsl:for-each> + + <xsl:for-each select="gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:otherConstraints"> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('license', ., $allLanguages)"/> + </xsl:for-each> + + <xsl:if test="*/gmd:EX_Extent/*/gmd:EX_BoundingPolygon/gmd:polygon"> + <hasBoundingPolygon>true</hasBoundingPolygon> + </xsl:if> + + <xsl:for-each select="*/gmd:EX_Extent/*/gmd:EX_BoundingPolygon/gmd:polygon"> + <xsl:variable name="geojson" + select="util:gmlToGeoJson( + saxon:serialize((gml:*|gml31:*), 'default-serialize-mode'), + true(), 5)"/> + <xsl:choose> + <xsl:when test="$geojson = ''"></xsl:when> + <xsl:when test="matches($geojson, '(Error|Warning):.*')"> + <shapeParsingError><xsl:value-of select="$geojson"/></shapeParsingError> + </xsl:when> + <xsl:otherwise> + <shape type="object"> + <xsl:value-of select="$geojson"/> + </shape> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + + <xsl:for-each select="*/gmd:EX_Extent"> + <xsl:copy-of select="gn-fn-index:add-multilingual-field('extentDescription', gmd:description, $allLanguages)"/> + + <!-- TODO: index bounding polygon --> + <xsl:variable name="bboxes" + select=".//gmd:EX_GeographicBoundingBox[ + ./gmd:westBoundLongitude/gco:Decimal castable as xs:decimal and + ./gmd:eastBoundLongitude/gco:Decimal castable as xs:decimal and + ./gmd:northBoundLatitude/gco:Decimal castable as xs:decimal and + ./gmd:southBoundLatitude/gco:Decimal castable as xs:decimal + ]"/> + <xsl:for-each select="$bboxes"> + <xsl:variable name="format" select="'#0.000000'"></xsl:variable> + + <xsl:variable name="w" + select="format-number(./gmd:westBoundLongitude/gco:Decimal/text(), $format)"/> + <xsl:variable name="e" + select="format-number(./gmd:eastBoundLongitude/gco:Decimal/text(), $format)"/> + <xsl:variable name="n" + select="format-number(./gmd:northBoundLatitude/gco:Decimal/text(), $format)"/> + <xsl:variable name="s" + select="format-number(./gmd:southBoundLatitude/gco:Decimal/text(), $format)"/> + + <!-- Example: ENVELOPE(-10, 20, 15, 10) which is minX, maxX, maxY, minY order + http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4 + https://cwiki.apache.org/confluence/display/solr/Spatial+Search + + bbox field type limited to one. TODO + <xsl:if test="position() = 1"> + <bbox> + <xsl:text>ENVELOPE(</xsl:text> + <xsl:value-of select="$w"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="$e"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="$n"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="$s"/> + <xsl:text>)</xsl:text> + </field> + </xsl:if> + --> + <xsl:choose> + <xsl:when test="-180 &lt;= number($e) and number($e) &lt;= 180 and + -180 &lt;= number($w) and number($w) &lt;= 180 and + -90 &lt;= number($s) and number($s) &lt;= 90 and + -90 &lt;= number($n) and number($n) &lt;= 90"> + <xsl:choose> + <xsl:when test="$e = $w and $s = $n"> + <location><xsl:value-of select="concat($s, ',', $w)"/></location> + </xsl:when> + <xsl:when + test="($e = $w and $s != $n) or ($e != $w and $s = $n)"> + <!-- Probably an invalid bbox indexing a point only --> + <location><xsl:value-of select="concat($s, ',', $w)"/></location> + </xsl:when> + <xsl:otherwise> + <geom type="object"> + <xsl:text>{"type": "Polygon",</xsl:text> + <xsl:text>"coordinates": [[</xsl:text> + <xsl:value-of select="concat('[', $w, ',', $s, ']')"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="concat('[', $e, ',', $s, ']')"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="concat('[', $e, ',', $n, ']')"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="concat('[', $w, ',', $n, ']')"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="concat('[', $w, ',', $s, ']')"/> + <xsl:text>]]}</xsl:text> + </geom> + + <location><xsl:value-of select="concat( + (number($s) + number($n)) div 2, + ',', + (number($w) + number($e)) div 2)"/></location> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> + <!--<xsl:value-of select="($e + $w) div 2"/>,<xsl:value-of select="($n + $s) div 2"/></field>--> + </xsl:for-each> + + <xsl:for-each select=".//gmd:temporalElement/*/gmd:extent/gml:TimePeriod"> + <xsl:variable name="start" + select="gml:beginPosition|gml:begin/gml:TimeInstant/gml:timePosition"/> + <xsl:variable name="end" + select="gml:endPosition|gml:end/gml:TimeInstant/gml:timePosition"/> + + <xsl:variable name="zuluStartDate" + select="date-util:convertToISOZuluDateTime($start)"/> + <xsl:variable name="zuluEndDate" + select="date-util:convertToISOZuluDateTime($end)"/> + + <xsl:choose> + <xsl:when test="$zuluStartDate castable as xs:dateTime + and ($zuluEndDate castable as xs:dateTime or $end/@indeterminatePosition = 'now')"> + <resourceTemporalDateRange type="object">{ + "gte": "<xsl:value-of select="$zuluStartDate"/>" + <xsl:if test="$start &lt; $end and not($end/@indeterminatePosition = 'now')"> + ,"lte": "<xsl:value-of select="$zuluEndDate"/>" + </xsl:if> + }</resourceTemporalDateRange> + <resourceTemporalExtentDateRange type="object">{ + "gte": "<xsl:value-of select="$zuluStartDate"/>" + <xsl:if test="$start &lt; $end and not($end/@indeterminatePosition = 'now')"> + ,"lte": "<xsl:value-of select="$zuluEndDate"/>" + </xsl:if> + }</resourceTemporalExtentDateRange> + </xsl:when> + <xsl:otherwise> + <indexingErrorMsg>Warning / Field resourceTemporalDateRange / Lower and upper bounds empty or not valid dates. Date range not indexed.</indexingErrorMsg> + </xsl:otherwise> + </xsl:choose> + + <xsl:if test="$zuluStartDate castable as xs:dateTime + and $zuluEndDate castable as xs:dateTime + and $start &gt; $end"> + <indexingErrorMsg>Warning / Field resourceTemporalDateRange / Lower range bound '<xsl:value-of select="$start"/>' can not be greater than upper bound '<xsl:value-of select="$end"/>'.</indexingErrorMsg> + </xsl:if> + + <xsl:call-template name="build-range-details"> + <xsl:with-param name="start" select="$start"/> + <xsl:with-param name="end" select="$end"/> + </xsl:call-template> + </xsl:for-each> + + <xsl:for-each select=".//gmd:verticalElement/*"> + <xsl:variable name="min" + select="gmd:minimumValue/*/text()"/> + <xsl:variable name="max" + select="gmd:maximumValue/*/text()"/> + + <resourceVerticalRange type="object">{ + "gte": "<xsl:value-of select="normalize-space($min)"/>" + <xsl:if test="$min &lt; $max"> + ,"lte": "<xsl:value-of select="normalize-space($max)"/>" + </xsl:if> + }</resourceVerticalRange> + </xsl:for-each> + </xsl:for-each> + + + + <!-- Service information --> + <xsl:for-each select="srv:serviceType/gco:LocalName"> + <serviceType> + <xsl:value-of select="text()"/> + </serviceType> + <xsl:if test="$inspireEnable = 'true'"> + <xsl:variable name="inspireServiceType" as="xs:string" + select="index:analyzeField( + 'keepInspireServiceTypes', text())"/> + + <xsl:if test="$inspireServiceType != ''"> + <inspireServiceType> + <xsl:value-of select="lower-case($inspireServiceType)"/> + </inspireServiceType> + </xsl:if> + </xsl:if> + <xsl:if test="following-sibling::srv:serviceTypeVersion"> + <serviceTypeAndVersion> + <xsl:value-of select="concat( + text(), + $separator, + following-sibling::srv:serviceTypeVersion/gco:CharacterString/text())"/> + </serviceTypeAndVersion> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + + + <xsl:for-each select="gmd:referenceSystemInfo/gmd:MD_ReferenceSystem"> + <xsl:for-each select="gmd:referenceSystemIdentifier/gmd:RS_Identifier"> + <xsl:variable name="crs" select="(gmd:code/*/text())[1]"/> + <xsl:variable name="crsLabel" + select="if (gmd:code/*/@xlink:title) + then gmd:code/*/@xlink:title + else $crs"/> + + <xsl:if test="$crs != ''"> + <coordinateSystem> + <xsl:value-of select="$crs"/> + </coordinateSystem> + </xsl:if> + + <crsDetails type="object">{ + "code": "<xsl:value-of select="gn-fn-index:json-escape((gmd:code/*/text())[1])"/>", + "codeSpace": "<xsl:value-of select="gn-fn-index:json-escape(gmd:codeSpace/*/text())"/>", + "name": "<xsl:value-of select="gn-fn-index:json-escape($crsLabel)"/>", + "url": "<xsl:value-of select="gn-fn-index:json-escape(gmd:code/*/@xlink:href)"/>" + }</crsDetails> + </xsl:for-each> + </xsl:for-each> + + + <!-- INSPIRE Conformity --> + <xsl:variable name="legalTextList" + select="if ($isService) then $eu9762009 else $eu10892010"/> + + <xsl:for-each select="gmd:contentInfo/*/gmd:featureCatalogueCitation[@uuidref != '']"> + <xsl:variable name="xlink" + select="@xlink:href"/> + <recordLink type="object">{ + "type": "fcats", + "origin": "<xsl:value-of + select="if ($xlink = '') + then 'catalog' + else if ($xlink != '' and + not(starts-with($xlink, $siteUrl))) + then 'remote' + else 'catalog'"/>", + "to": "<xsl:value-of select="@uuidref"/>", + "title": "<xsl:value-of select="gn-fn-index:json-escape(@xlink:title)"/>", + "url": "<xsl:value-of select="$xlink"/>" + }</recordLink> + </xsl:for-each> + + + <xsl:for-each select="gmd:dataQualityInfo/*"> + <xsl:for-each select="gmd:lineage//gmd:source[@uuidref != '']"> + <xsl:variable name="xlink" + select="@xlink:href"/> + + <hassource><xsl:value-of select="@uuidref"/></hassource> + <recordLink type="object">{ + "type": "sources", + "origin": "<xsl:value-of + select="if ($xlink = '') + then 'catalog' + else if ($xlink != '' and + not(starts-with($xlink, $siteUrl))) + then 'remote' + else 'catalog'"/>", + "to": "<xsl:value-of select="@uuidref"/>", + "title": "<xsl:value-of select="gn-fn-index:json-escape(@xlink:title)"/>", + "url": "<xsl:value-of select="$xlink"/>" + }</recordLink> + </xsl:for-each> + + <xsl:copy-of select="gn-fn-index:add-multilingual-field('lineage', gmd:lineage/gmd:LI_Lineage/ + gmd:statement, $allLanguages)"/> + + + <xsl:for-each select="gmd:report/*[gmd:nameOfMeasure/gco:CharacterString != '']"> + <xsl:variable name="name" + select="(gmd:nameOfMeasure/gco:CharacterString)[1]"/> + <xsl:variable name="value" + select="(gmd:result/gmd:DQ_QuantitativeResult/gmd:value)[1]"/> + <xsl:variable name="unit" + select="(gmd:result/gmd:DQ_QuantitativeResult/gmd:valueUnit//gml:identifier)[1]"/> + <xsl:variable name="description" + select="(gmd:measureDescription/gco:CharacterString)[1]"/> + <measure type="object">{ + "name": "<xsl:value-of select="gn-fn-index:json-escape($name)"/>", + <xsl:if test="$description != ''"> + "description": "<xsl:value-of select="gn-fn-index:json-escape($description)"/>", + </xsl:if> + <!-- First value only. --> + "value": "<xsl:value-of select="gn-fn-index:json-escape($value/gco:Record[1])"/>", + <xsl:if test="$unit != ''"> + "unit": "<xsl:value-of select="gn-fn-index:json-escape($unit)"/>", + </xsl:if> + "type": "<xsl:value-of select="local-name(.)"/>" + } + </measure> + + <xsl:for-each select="gmd:result/gmd:DQ_QuantitativeResult/gmd:value/gco:Record[. != '']"> + <xsl:element name="measure_{gn-fn-index:build-field-name($name)}"> + <xsl:value-of select="."/> + </xsl:element> + </xsl:for-each> + </xsl:for-each> + </xsl:for-each> + + + <xsl:for-each select="gmd:distributionInfo/*"> + <xsl:for-each + select="gmd:distributionFormat/*/gmd:name/gco:CharacterString[. != '']"> + <xsl:copy-of select="gn-fn-index:add-field('format', .)"/> + </xsl:for-each> + + <!-- Indexing distributor contact --> + <xsl:for-each select="gmd:distributor/*[gmd:distributorContact]"> + <xsl:apply-templates mode="index-contact" + select="gmd:distributorContact"> + <xsl:with-param name="fieldSuffix" select="'ForDistribution'"/> + <xsl:with-param name="languages" select="$allLanguages"/> + </xsl:apply-templates> + </xsl:for-each> + + <!-- Indexing multilingual online Resource --> + <xsl:for-each select="gmd:transferOptions/*/ + gmd:onLine/*[normalize-space(gmd:linkage/gmd:URL) != '' or + count(gmd:linkage//che:LocalisedURL[normalize-space(.) != '']) > 0]"> + + <xsl:variable name="transferGroup" + select="count(ancestor::gmd:transferOptions/preceding-sibling::gmd:transferOptions)"/> + <xsl:variable name="protocol" + select="gmd:protocol/*/text()"/> + + <!-- Indexing multilingual URL --> + <xsl:variable name="localisedURL" select=".//che:LocalisedURL[. != '']"/> + + <xsl:variable name="urlObject"> + <xsl:choose> + <!-- Default --> + <xsl:when test="normalize-space(gmd:linkage/gmd:URL) != ''"> + <value><xsl:value-of select="concat($doubleQuote, 'default', $doubleQuote, ':', + $doubleQuote, gn-fn-index:json-escape(gmd:linkage/gmd:URL), $doubleQuote)"/></value> + </xsl:when> + <xsl:otherwise> + <xsl:if test="count($localisedURL) > 0"> + <value><xsl:value-of select="concat($doubleQuote, 'default', $doubleQuote, ':', + $doubleQuote, gn-fn-index:json-escape( + if ($localisedURL[@local = $mainLanguageId]) + then $localisedURL[@local = $mainLanguageId] + else $localisedURL[1]), $doubleQuote)"/></value> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + <!-- Localized --> + <xsl:for-each select=".//che:LocalisedURL[. != '']"> + <xsl:variable name="lang2letters" as="xs:string" select="replace(@locale, '#', '')"/> + <value><xsl:value-of select="', ', concat($doubleQuote, 'lang', $allLanguages/lang[@id = $lang2letters]/@value, + $doubleQuote, ':', $doubleQuote, gn-fn-index:json-escape(.), $doubleQuote)"/></value> + </xsl:for-each> + </xsl:variable> + + <!-- Index multilingual Link Name --> + <xsl:variable name="localisedLinkName" select="gmd:name//gmd:LocalisedCharacterString[. != '']"/> + + <xsl:variable name="nameObject"> + <xsl:choose> + <!-- Default --> + <xsl:when test="normalize-space(gmd:name/gco:CharacterString) != ''"> + <value><xsl:value-of select="concat($doubleQuote, 'default', $doubleQuote, ':', + $doubleQuote, gn-fn-index:json-escape(gmd:name/gco:CharacterString), $doubleQuote)"/></value> + </xsl:when> + <xsl:otherwise> + <xsl:if test="count($localisedLinkName) > 0"> + <value><xsl:value-of select="concat($doubleQuote, 'default', $doubleQuote, ':', + $doubleQuote, gn-fn-index:json-escape( + if ($localisedLinkName[@local = $mainLanguageId]) + then $localisedLinkName[@local = $mainLanguageId] + else $localisedLinkName[1]), $doubleQuote)"/></value> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + <!-- Localized --> + <xsl:for-each select="gmd:name//gmd:LocalisedCharacterString[. != '']"> + <xsl:variable name="lang2letters" as="xs:string" select="replace(@locale, '#', '')"/> + <value><xsl:value-of select="concat(', ', $doubleQuote, 'lang', $allLanguages/lang[@id = $lang2letters]/@value, + $doubleQuote, ':', $doubleQuote, gn-fn-index:json-escape(.), $doubleQuote)"/></value> + </xsl:for-each> + </xsl:variable> + + <!-- Index multilingual Link Description --> + <xsl:variable name="localisedLinkDescription" select="gmd:description//gmd:LocalisedCharacterString[. != '']"/> + + <xsl:variable name="descriptionObject"> + <xsl:choose> + <!-- Default --> + <xsl:when test="normalize-space(gmd:description/gco:CharacterString) != ''"> + <value><xsl:value-of select="concat($doubleQuote, 'default', $doubleQuote, ':', + $doubleQuote, gn-fn-index:json-escape(gmd:description/gco:CharacterString), $doubleQuote)"/></value> + </xsl:when> + <xsl:otherwise> + <xsl:if test="count($localisedLinkDescription) > 0"> + <value><xsl:value-of select="concat($doubleQuote, 'default', $doubleQuote, ':', + $doubleQuote, gn-fn-index:json-escape( + if ($localisedLinkDescription[@local = $mainLanguageId]) + then $localisedLinkDescription[@local = $mainLanguageId] + else $localisedLinkDescription[1]), $doubleQuote)"/></value> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + <!-- Localized --> + <xsl:for-each select="gmd:description//gmd:LocalisedCharacterString[. != '']"> + <xsl:variable name="lang2letters" as="xs:string" select="replace(@locale, '#', '')"/> + <value><xsl:value-of select="concat(', ', $doubleQuote, 'lang', $allLanguages/lang[@id = $lang2letters]/@value, + $doubleQuote, ':', $doubleQuote, gn-fn-index:json-escape(.), $doubleQuote)"/></value> + </xsl:for-each> + </xsl:variable> + + <linkUrl> + <xsl:value-of select="gmd:linkage/gmd:URL"/> + </linkUrl> + <linkProtocol> + <xsl:value-of select="$protocol"/> + </linkProtocol> + <xsl:element name="linkUrlProtocol{replace($protocol[1], '[^a-zA-Z0-9]', '')}"> + <xsl:value-of select="gmd:linkage/gmd:URL"/> + </xsl:element> + <link type="object">{ + "protocol":"<xsl:value-of select="gn-fn-index:json-escape((gmd:protocol/*/text())[1])"/>", + "urlObject":{<xsl:value-of select="$urlObject"/>}, + "nameObject":{<xsl:value-of select="$nameObject"/>}, + "descriptionObject":{<xsl:value-of select="$descriptionObject"/>}, + "function":"<xsl:value-of select="gmd:function/gmd:CI_OnLineFunctionCode/@codeListValue"/>", + "applicationProfile":"<xsl:value-of select="gn-fn-index:json-escape(gmd:applicationProfile/gco:CharacterString/text())"/>", + "group": <xsl:value-of select="$transferGroup"/> + } + <!--Link object in Angular used to be + // name: linkInfos[0], + // title: linkInfos[0], + // url: linkInfos[2], + // desc: linkInfos[1], + // protocol: linkInfos[3], + // contentType: linkInfos[4], + // group: linkInfos[5] ? parseInt(linkInfos[5]) : undefined, + // applicationProfile: linkInfos[6]--> + </link> + + </xsl:for-each> + </xsl:for-each> + + + <xsl:call-template name="index-operatesOn"/> + + <xsl:variable name="recordLinks" + select="gmd:parentIdentifier/*[text() != '']"/> + <xsl:choose> + <xsl:when test="count($recordLinks) > 0"> + <xsl:for-each select="$recordLinks"> + <parentUuid><xsl:value-of select="."/></parentUuid> + <recordGroup><xsl:value-of select="."/></recordGroup> + <xsl:copy-of select="gn-fn-index:build-record-link(., @xlink:href, @xlink:title, 'parent')"/> + <!-- + TODOES - Need more work with routing --> +<!-- <recordJoin type="object">{"name": "children", "parent": "<xsl:value-of select="gn-fn-index:json-escape(.)"/>"}</recordLink>--> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <recordGroup><xsl:value-of select="$identifier"/></recordGroup> + </xsl:otherwise> + </xsl:choose> + + + <xsl:for-each select=".//gmd:aggregationInfo/*"> + <xsl:variable name="code" + select="gmd:aggregateDataSetIdentifier/*/gmd:code/*/text()"/> + <xsl:if test="$code != ''"> + <xsl:variable name="xlink" + select="gmd:aggregateDataSetIdentifier/*/gmd:code/*/@xlink:href"/> + <xsl:variable name="associationType" + select="gmd:associationType/*/@codeListValue"/> + <xsl:if test="$associationType = $parentAssociatedResourceType"> + <parentUuid><xsl:value-of select="$code"/></parentUuid> + <xsl:copy-of select="gn-fn-index:build-record-link($code, $xlink, gmd:aggregateDataSetIdentifier/*/gmd:code/*/@xlink:title, 'parent')"/> + </xsl:if> + + <xsl:variable name="initiativeType" + select="gmd:initiativeType/*/@codeListValue"/> + <xsl:variable name="properties"> + <properties> + <p name="associationType" value="{$associationType}"/> + <p name="initiativeType" value="{$initiativeType}"/> + </properties> + </xsl:variable> + <xsl:copy-of select="gn-fn-index:build-record-link($code, $xlink, gmd:aggregateDataSetIdentifier/*/gmd:code/*/@xlink:title, 'siblings', $properties)"/> + <agg_associated><xsl:value-of select="$code"/></agg_associated> + </xsl:if> + </xsl:for-each> + + + <xsl:variable name="indexingTimeRecordLink" + select="util:getSettingValue('system/index/indexingTimeRecordLink')" /> + <xsl:if test="$indexingTimeRecordLink = 'true'"> + <xsl:variable name="recordsLinks" + select="util:getTargetAssociatedResourcesAsNode( + $identifier, + gmd:parentIdentifier/*[text() != '']/text())"/> + <xsl:copy-of select="$recordsLinks//recordLink"/> + </xsl:if> + + <!-- Index more fields in this element --> + <xsl:apply-templates mode="index-extra-fields" select="."/> + </doc> + + <!-- Index more documents for this element --> + <xsl:apply-templates mode="index-extra-documents" select="."/> + </xsl:template> + + + <xsl:template mode="index-contact" match="*[che:CHE_CI_ResponsibleParty]"> + <xsl:param name="fieldSuffix" select="''" as="xs:string"/> + <xsl:param name="languages" as="node()?"/> + <xsl:param name="mainLanguage" as="xs:string?"/> + + <!-- Select the first child which should be a CI_ResponsibleParty. + Some records contains more than one CI_ResponsibleParty which is + not valid and they will be ignored. + Same for organisationName eg. de:b86a8604-bf78-480f-a5a8-8edff5586679 --> + <xsl:variable name="organisationName" + select="*[1]/gmd:organisationName[1]/(gco:CharacterString|gmx:Anchor)" + as="xs:string*"/> + <xsl:variable name="uuid" select="@uuid"/> + + <xsl:variable name="role" + select="replace(*[1]/gmd:role/*/@codeListValue, ' ', '')" + as="xs:string?"/> + <xsl:variable name="logo" select=".//gmx:FileName/@src"/> + + <!-- Indexing multilingual URL for contact website--> + <xsl:variable name="websiteLocalisedURL" select=".//gmd:onlineResource/*/gmd:linkage//che:LocalisedURL[normalize-space(.) != '']"/> + <xsl:variable name="websiteObject"> + <xsl:choose> + <!-- Default --> + <xsl:when test="normalize-space(.//gmd:onlineResource/*/gmd:linkage/gmd:URL) != ''"> + <value><xsl:value-of select="concat($doubleQuote, 'default', $doubleQuote, ':', + $doubleQuote, gn-fn-index:json-escape(.//gmd:onlineResource/*/gmd:linkage/gmd:URL), $doubleQuote)"/></value> + </xsl:when> + <xsl:otherwise> + <xsl:if test="count($websiteLocalisedURL) > 0"> + <value><xsl:value-of select="concat($doubleQuote, 'default', $doubleQuote, ':', + $doubleQuote, gn-fn-index:json-escape( + if ($websiteLocalisedURL[@local = $mainLanguage]) + then $websiteLocalisedURL[@local = $mainLanguage] + else $websiteLocalisedURL[1]), $doubleQuote)"/></value> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + <!-- Localized --> + <xsl:for-each select=".//gmd:onlineResource/*/gmd:linkage//che:LocalisedURL[normalize-space(.) != '']"> + <xsl:variable name="lang2letters" as="xs:string" select="replace(@locale, '#', '')"/> + <value><xsl:value-of select="', ', concat($doubleQuote, 'lang', $languages/lang[@id = $lang2letters]/@value, + $doubleQuote, ':', $doubleQuote, gn-fn-index:json-escape(.), $doubleQuote)"/></value> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="email" + select="*[1]/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/gco:CharacterString"/> + <xsl:variable name="phone" + select="*[1]/gmd:contactInfo/*/gmd:phone/*/gmd:voice[normalize-space(.) != '']/*/text()"/> + <xsl:variable name="individualName" + select="string-join(*[1]/(che:individualFirstName|che:individualLastName)/gco:CharacterString/text(), ' ')"/> + <xsl:variable name="positionName" + select="*[1]/gmd:positionName/gco:CharacterString/text()"/> + <xsl:variable name="address" select="string-join(*[1]/gmd:contactInfo/*/gmd:address/*/( + gmd:deliveryPoint|gmd:postalCode|gmd:city| + gmd:administrativeArea|gmd:country)/gco:CharacterString/text(), ', ')"/> + <xsl:variable name="roleField" select="concat(replace($role, '[^a-zA-Z0-9-]', ''), 'Org', $fieldSuffix)"/> + <xsl:variable name="orgField" select="concat('Org', $fieldSuffix)"/> + <xsl:if test="normalize-space($organisationName) != ''"> + <xsl:copy-of select="gn-fn-index:add-multilingual-field($orgField, *[1]/gmd:organisationName[1], $languages)"/>, + <xsl:copy-of select="gn-fn-index:add-multilingual-field($roleField, *[1]/gmd:organisationName[1], $languages)"/>, + </xsl:if> + + <xsl:variable name="orgObject" select="gn-fn-index:add-multilingual-field('organisation', *[1]/gmd:organisationName[1], $languages)"/> + + <xsl:choose> + <xsl:when test="string-length($orgObject) > 0"> + <xsl:element name="contact{$fieldSuffix}"> + <xsl:attribute name="type" select="'object'"/>{ + "organisationObject": <xsl:value-of select="$orgObject"/>, + "role":"<xsl:value-of select="$role"/>", + "email":"<xsl:value-of select="gn-fn-index:json-escape($email[1])"/>", + "websiteObject":{<xsl:value-of select="$websiteObject"/>}, + "logo":"<xsl:value-of select="$logo"/>", + "individual":"<xsl:value-of select="gn-fn-index:json-escape($individualName)"/>", + "position":"<xsl:value-of select="gn-fn-index:json-escape($positionName)"/>", + "phone":"<xsl:value-of select="gn-fn-index:json-escape($phone[1])"/>", + "address":"<xsl:value-of select="gn-fn-index:json-escape($address)"/>" + } + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:element name="contact{$fieldSuffix}"> + <xsl:attribute name="type" select="'object'"/>{ + "role":"<xsl:value-of select="$role"/>", + "email":"<xsl:value-of select="gn-fn-index:json-escape($email[1])"/>", + "websiteObject":{<xsl:value-of select="$websiteObject"/>}, + "logo":"<xsl:value-of select="$logo"/>", + "individual":"<xsl:value-of select="gn-fn-index:json-escape($individualName)"/>", + "position":"<xsl:value-of select="gn-fn-index:json-escape($positionName)"/>", + "phone":"<xsl:value-of select="gn-fn-index:json-escape($phone[1])"/>", + "address":"<xsl:value-of select="gn-fn-index:json-escape($address)"/>" + } + </xsl:element> + </xsl:otherwise> + </xsl:choose> + + </xsl:template> + + + + + <xsl:template name="index-operatesOn"> + <xsl:for-each + select="gmd:identificationInfo/srv:SV_ServiceIdentification"> + <xsl:for-each select="srv:operatesOn"> + <xsl:variable name="associationType" select="'operatesOn'"/> + <xsl:variable name="serviceType" + select="../srv:serviceType/gco:LocalName"/> + <!--<xsl:variable name="relatedTo" select="@uuidref"/>--> + <xsl:variable name="getRecordByIdId"> + <xsl:if test="@xlink:href != ''"> + <xsl:analyze-string select="@xlink:href" + regex=".*[i|I][d|D]=([\w\-\.\{{\}}]*).*"> + <xsl:matching-substring> + <xsl:value-of select="regex-group(1)"/> + </xsl:matching-substring> + </xsl:analyze-string> + </xsl:if> + </xsl:variable> + + <xsl:variable name="datasetId"> + <xsl:choose> + <xsl:when test="$getRecordByIdId != ''"> + <xsl:value-of select="$getRecordByIdId"/> + </xsl:when> + <xsl:when test="@uuidref != ''"> + <xsl:value-of select="@uuidref"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:if test="$datasetId != ''"> + <recordOperateOn><xsl:value-of select="$datasetId"/></recordOperateOn> + <xsl:variable name="xlink" + select="@xlink:href"/> + + <xsl:variable name="resolvedDoc"> + <xsl:if test="$processRemoteDocs + and $xlink != '' + and not(@xlink:title) + and not(starts-with($xlink, $siteUrl))"> + <!-- Process remote docs only if it was not encoded with a title and is not a local one. + - uses @xlink:href to retrieve the remote metadata and index the relevant information for related service. + - if the metadata is found in the catalogue, it's used that information. + + The xlink: href attribute can contain a URI to the MD_DataIdentification part of the metadata record of the dataset. + Example: + <srv:operatesOn uuidref="c9c62f4f-a8da-438e-a514-5963fb1b047b" + xlink:href="https://server/geonetwork/srv/dut/csw?service=CSW&amp;request=GetRecordById&amp;version=2.0.2&amp;outputSchema=http://www.isotc211.org/2005/gmd&amp;elementSetName=full&amp; + id=c9c62f4f-a8da-438e-a514-5963fb1b047b#MD_DataIdentification"/> + Ignore it for indexing. + --> + <xsl:variable name="xlinkHref" select="tokenize(@xlink:href, '#')[1]" /> + + <!-- remote url: request the document to index data --> + <xsl:variable name="remoteDoc" select="util:getUrlContent(@xlink:href)" /> + + <!-- Remote url that uuid is stored also locally: Use local. + Remote is supposed to be ISO19139. --> + <xsl:variable name="datasetUuid" + select="$remoteDoc//(*[local-name(.) = 'fileIdentifier']/*/text()| + *[local-name(.) = 'metadataIdentifier']/*/*[local-name(.) = 'code']/*/text())" /> + + <xsl:if test="count($datasetUuid) = 1 + and string($datasetUuid)"> + <xsl:variable name="existsLocally" + select="not(normalize-space(util:getRecord($datasetUuid)) = '')" /> + <xsl:if test="not($existsLocally)"> + <xsl:variable name="datasetTitle" + select="$remoteDoc//*[local-name(.) = 'identificationInfo']/* + /*[local-name(.) = 'citation']/* + /*[local-name(.) = 'title']/*/text()" /> + <xsl:copy-of select="gn-fn-index:build-record-link($datasetUuid, $xlinkHref, $datasetTitle, 'datasets')"/> + </xsl:if> + </xsl:if> + </xsl:if> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$resolvedDoc != ''"> + <xsl:copy-of select="$resolvedDoc"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="gn-fn-index:build-record-link($datasetId, $xlink, @xlink:title, 'datasets')"/> + </xsl:otherwise> + </xsl:choose> + + <!-- + TODOES - Need more work with routing --> + <!-- <recordLink type="object">{"name": "dataset", "parent": "<xsl:value-of select="gn-fn-index:json-escape(.)"/>"}</recordLink>--> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/inflate-metadata.xsl b/iso19139.che/src/main/plugin/iso19139.che/inflate-metadata.xsl new file mode 100644 index 00000000000..f0d4f3d58f8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/inflate-metadata.xsl @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + exclude-result-prefixes="#all"> + <xsl:import href="../iso19139/inflate-metadata.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/layout/config-editor.xml b/iso19139.che/src/main/plugin/iso19139.che/layout/config-editor.xml new file mode 100644 index 00000000000..10793ccb728 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/layout/config-editor.xml @@ -0,0 +1,2461 @@ +<?xml version="1.0" encoding="UTF-8"?> +<editor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gn="http://www.fao.org/geonetwork" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:che="http://www.geocat.ch/2008/che" + xsi:noNamespaceSchemaLocation="../../config-editor.xsd" +> + + <!-- Form field type configuration. Default is text. --> + <fields> + <for name="gmd:abstract" use="textarea"/> + <for name="gmd:checkPointDescription" use="textarea"/> + <for name="gmd:credit" use="textarea"/> + <for name="gmd:description" use="textarea"/> + <for name="gmd:evaluationMethodDescription" use="textarea"/> + <for name="gmd:explanation" use="textarea"/> + <for name="gmd:handlingDescription" use="textarea"/> + <for name="gmd:maintenanceNote" use="textarea"/> + <for name="gmd:measureDescription" use="textarea"/> + <for name="gmd:purpose" use="textarea"/> + <for name="gmd:orderingInstructions" use="textarea"/> +<!-- <for name="gmd:otherConstraints" use="textarea"/>--> + <for name="gmd:otherConstraints" use="data-gn-keyword-picker"> + <directiveAttributes data-thesaurus-key="external.theme.access_use_conditions" + data-thesaurus-concept-id-attribute="xlinkCOLONhref"/> + </for> + + <for name="gmd:statement" use="textarea"/> + <for name="gmd:supplementalInformation" use="textarea"/> + <for name="gmd:specificUsage" use="textarea"/> + <for name="gmd:userNote" use="textarea"/> + <for name="gmd:useLimitation" use="textarea"/> + + + <for name="gco:Distance" use="number"/> + <for name="gco:Decimal" use="number"/> + <for name="gco:Integer" use="number"/> + <for name="gco:Real" use="number"/> + <for name="gco:Boolean" use="checkbox"/> + <for name="gco:Boolean" + xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:pass" + use="data-gn-checkbox-with-nilreason"> + <directiveAttributes + data-tag-name="gmd:pass" + data-nilreason="eval#@gco:nilReason" + data-labels='{"true": "conformant", "false": "notConformant", "unknown": "notEvaluated"}'/> + </for> + + <for name="gco:Date" use="data-gn-date-picker"/> + <for name="gco:DateTime" use="data-gn-date-picker"/> + + + <!-- gmx:FileName/@src attribute --> + <for name="src" use="data-gn-logo-selector"/> + + <for name="gmd:electronicMailAddress" use="email"/> + + <for name="gmd:language" use="data-gn-language-picker"/> + <for name="gmd:languageCode" use="data-gn-language-picker"/> + + <for name="gmd:country" use="data-gn-country-picker"/> + <for name="gmd:geographicElement" use="data-gn-country-picker"/> + + <for name="gmd:referenceSystemInfo" addDirective="data-gn-crs-selector"/> + + + <!--Contacts--> + <for name="gmd:contact" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="false" + data-search-action="true" + data-popup-action="false" + data-template-type="contact" + data-filter='{"root": "che:CHE_CI_ResponsibleParty"}' + data-insert-modes="xlink" + data-show-valid-only="true" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </for> + <for name="gmd:pointOfContact" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="false" + data-search-action="true" + data-popup-action="false" + data-template-type="contact" + data-filter='{"root": "che:CHE_CI_ResponsibleParty"}' + data-insert-modes="xlink" + data-show-valid-only="true" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </for> + <for name="gmd:distributorContact" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="false" + data-search-action="true" + data-popup-action="false" + data-template-type="contact" + data-filter='{"root": "che:CHE_CI_ResponsibleParty"}' + data-insert-modes="xlink" + data-show-valid-only="true" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </for> + <for name="gmd:processor" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="false" + data-search-action="true" + data-popup-action="false" + data-template-type="contact" + data-filter='{"root": "che:CHE_CI_ResponsibleParty"}' + data-insert-modes="xlink" + data-show-valid-only="true" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </for> + <for name="gmd:citedResponsibleParty" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="false" + data-search-action="true" + data-popup-action="false" + data-template-type="contact" + data-filter='{"root": "che:CHE_CI_ResponsibleParty"}' + data-insert-modes="xlink" + data-show-valid-only="true" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </for> + <for name="che:parentResponsibleParty" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="false" + data-search-action="true" + data-popup-action="false" + data-template-type="contact" + data-filter='{"root": "che:CHE_CI_ResponsibleParty"}' + data-insert-modes="xlink" + data-show-valid-only="true" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </for> + + <!--Formats--> + <for name="gmd:resourceFormat" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="false" + data-search-action="true" + data-popup-action="false" + data-template-type="format" + data-filter='{"root": "gmd:MD_Format"}' + data-show-valid-only="true" + data-insert-modes="xlink"/> + </for> + <for name="gmd:distributionFormat" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="false" + data-search-action="true" + data-popup-action="false" + data-template-type="format" + data-filter='{"root": "gmd:MD_Format"}' + data-show-valid-only="true" + data-insert-modes="xlink"/> + </for> + + <for name="gmd:extent" addDirective="data-gn-directory-entry-selector"> + <directiveAttributes + data-template-add-action="true" + data-search-action="true" + data-popup-action="false" + data-template-type="extent" + data-filter='{"root": "gmd:EX_Extent"}' + data-show-valid-only="true" + data-insert-modes="xlink"/> + </for> + + <!-- Example configuration: Add onLine source from subtemplate + <for name="gmd:onLine" addDirective="gc-add-sharedobject"> + <directiveAttributes + data-template-add-action="true" + data-template-type="onLine" + data-filter='{"_root": "gmd:CI_OnlineResource"}'/> + </for> + --> + <for name="gmd:descriptiveKeywords" addDirective="data-gn-thesaurus-selector"> + <!-- + Example of configuration to disable free text keywords in the thesaurus selector + <directiveAttributes data-allow-free-text-keywords="false" /> + + To restrict the list of thesaurus allowed, set the include attribute + for the directive. + <directiveAttributes data-include="external.theme.inspire-theme,external.place.regions"/> + --> + <directiveAttributes + data-allow-free-text-keywords="false" + data-transformation="to-iso19139-keyword-as-xlink" + data-include="xpath::string-join((che:CHE_MD_Metadata/gmd:identificationInfo + //gmd:thesaurusName/*/gmd:identifier/*/ + gmd:code/gmx:Anchor/ + concat('-', substring-after(text()[. != ''], 'geonetwork.thesaurus.')), '-external.none.allThesaurus,-external.theme.access_use_conditions'), ',')"/> + </for> + </fields> + + + <fieldsWithFieldset> + <name>che:CHE_MD_Metadata</name> + <name>gmd:identificationInfo</name> + <name>gmd:distributionInfo</name> + <name>che:legislationInformation</name> + <name>gmd:portrayalCatalogueInfo</name> + <name>gmd:portrayalCatalogueCitation</name> + <name>gmd:thesaurusName</name> + <name>gmd:spatialRepresentationInfo</name> + <name>gmd:pointOfContact</name> + <name>gmd:contact</name> + <name>gmd:citedResponsibleParty</name> + <name>che:CHE_CI_ResponsibleParty</name> + <name>gmd:dataQualityInfo</name> + <name>gmd:contentInfo</name> + <name>gmd:distributionFormat</name> + <name>gmd:referenceSystemInfo</name> + <name>gmd:spatialResolution</name> + <name>gmd:offLine</name> + <name>gmd:onLine</name> + <name>gmd:address</name> + <name>gmd:projection</name> + <name>gmd:ellipsoid</name> + <name>gmd:attributes</name> + <name>gmd:verticalCRS</name> + <name>gmd:identifier</name> + <name>gmd:geographicBox</name> + <name>gmd:EX_TemporalExtent</name> + <name>gmd:MD_Distributor</name> + <name>che:appraisal</name> + <name>srv:containsOperations</name> + <name>srv:SV_CoupledResource</name> + <name>gmd:metadataConstraints</name> + <name>gmd:aggregationInfo</name> + <name>gmd:processStep</name> + <name>gmd:lineage</name> + <name>gmd:locale</name> + <name>gmd:centerPoint</name> + <name>gmd:verticalCRS</name> + <name>gml:verticalCS</name> + <name>gml:verticalDatum</name> + <name>gmd:resourceFormat</name> + <name>gmd:graphicOverview</name> + <name>gmd:includedWithDataset</name> + <name>gmd:distributor</name> + <name>gmd:distributorContact</name> + <name>che:attribute</name> + <name>che:CHE_MD_AbstractClass</name> + <name>che:CHE_MD_Association</name> + <name>che:CHE_MD_Class</name> + <name>gmd:distributionOrderProcess</name> + <name>gmd:distributorFormat</name> + <name>gmd:transferOptions</name> + <name>gmd:distributorTransferOptions</name> + </fieldsWithFieldset> + + <multilingualFields> + <!-- In multilingual mode, define which mode + the widget should have. If expanded, then one + field per language is displayed. --> + <expanded> + <!-- + <name>gmd:title</name> + <name>gmd:abstract</name> + --> + </expanded> + <!-- All fields in ISO could be multilingual. + Define element to exclude. + TODO: it may be relevant to have parent defined + to restrict the list. + --> + <exclude> + <name>gmd:identifier</name> + <name>gmd:metadataStandardName</name> + <name parent="gmd:MD_Resolution">gmd:distance</name> + <name>gmd:metadataStandardVersion</name> + <name>gmd:hierarchyLevelName</name> + <name>gmd:dataSetURI</name> + <name>gmd:postalCode</name> + <name>gmd:city</name> + <name>gmd:administrativeArea</name> + <name>gmd:voice</name> + <name>gmd:facsimile</name> + <name>gmd:dataset</name> + <name>gmd:other</name> + <name>gmd:hoursOfService</name> + <name>gmd:applicationProfile</name> + <name>gmd:page</name> + <name>gmd:date</name> + <name>gmd:fileName</name> + <name>gmd:protocol</name> + <name>gmd:fileType</name> + <name>gmd:unitsOfDistribution</name> + <name>gmd:amendmentNumber</name> + <name>gmd:specification</name> + <name>gmd:fileDecompressionTechnique</name> + <name>gmd:turnaround</name> + <name>gmd:fees</name> + <name>gmd:userDeterminedLimitations</name> + <name>gmd:codeSpace</name> + <name>gmd:version</name> + <name>gmd:edition</name> + <name>gmd:ISBN</name> + <name>gmd:ISSN</name> + <name>gmd:errorStatistic</name> + <name>gmd:schemaAscii</name> + <name>gmd:softwareDevelopmentFileFormat</name> + <name>gmd:shortName</name> + <name>gmd:condition</name> + <name>gmd:maximumOccurence</name> + <name>gmd:domainValue</name> + <name>gmd:densityUnits</name> + <name>gmd:descriptor</name> + <name>gmd:denominator</name> + <name>gmd:classificationSystem</name> + <name>gmd:checkPointDescription</name> + <name>gmd:transformationDimensionDescription</name> + <name>gmd:orientationParameterDescription</name> + <name>gmd:includedWithDataset</name> + <name>gmd:geometricObjectCount</name> + <name>gmd:numberOfDimensions</name> + <name>gmd:attributeDescription</name> + <name parent="gmd:MD_Format">gmd:name</name> + <name ancestor="gmd:thesaurusName">gmd:code</name> + <name ancestor="gmd:aggregateDataSetIdentifier">gmd:code</name> + <name ancestor="gmd:CI_Citation">gmd:code</name> + <name>gmd:language</name> + <name>srv:name</name> + <name>srv:invocationName</name> + <name>srv:serviceTypeVersion</name> + <name>srv:serviceType</name> + <name>srv:operationName</name> + <name>srv:identifier</name> + <name>che:streetName</name> + <name>che:streetNumber</name> + <name>che:addressLine</name> + <name>che:postBox</name> + <name>gmd:electronicMailAddress</name> + <name>che:individualFirstName</name> + <name>che:individualLastName</name> + <name>che:directNumber</name> + <name>che:mobile</name> + <name>che:basicGeodataID</name> + <name parent="che:CHE_CI_Telephone">gmd:voice</name> + <name>che:name</name> + <name>che:description</name> + <name>che:type</name> + <name ancestor="gmd:contactInfo">gmd:country</name> + <name ancestor="gmd:DQ_DomainConsistency">gmd:explanation</name> + <name>che:code</name> + <name>che:durationOfConservation</name> + </exclude> + </multilingualFields> + + + <!-- View configuration --> + <views> + <!-- TODO: Add option to configure if view should be displayed or not + based on xpath expression ? --> + <!--Turn off INSPIRE view by default --> + <view name="default"> + <sidePanel> + <directive data-gn-overview-manager=""/> + <directive data-gn-onlinesrc-list=""/> + <directive gn-geo-publisher="" + data-ng-if="gnCurrentEdit.geoPublisherConfig" + data-config="{{gnCurrentEdit.geoPublisherConfig}}" + data-lang="lang"/> + <directive data-gn-validation-report=""/> + <directive data-gn-suggestion-list=""/> + <directive data-gn-need-help="user-guide/describing-information/creating-metadata.html"/> + </sidePanel> + + <tab id="default" default="true" mode="flat"> + <section xpath="/che:CHE_MD_Metadata/gmd:identificationInfo"/> + <section xpath="/che:CHE_MD_Metadata/gmd:distributionInfo"/> + <section xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo"/> + + <section xpath="/che:CHE_MD_Metadata/gmd:spatialRepresentationInfo"/> + <section xpath="/che:CHE_MD_Metadata/gmd:referenceSystemInfo"/> + <section xpath="/che:CHE_MD_Metadata/gmd:contentInfo"/> + <section xpath="/che:CHE_MD_Metadata/gmd:portrayalCatalogueInfo"/> + + <section name="che:CHE_MD_Metadata"> + <field xpath="/che:CHE_MD_Metadata/gmd:fileIdentifier"/> + <field xpath="/che:CHE_MD_Metadata/gmd:language" or="language" in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:characterSet"/> + <field xpath="/che:CHE_MD_Metadata/gmd:parentIdentifier" or="parentIdentifier" + in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:hierarchyLevel" or="hierarchyLevel" + in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:hierarchyLevelName" or="hierarchyLevelName" + in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:dateStamp"/> + <field xpath="/che:CHE_MD_Metadata/gmd:metadataStandardName"/> + <field xpath="/che:CHE_MD_Metadata/gmd:metadataStandardVersion"/> + <field xpath="/che:CHE_MD_Metadata/gmd:contact" or="contact" in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:dataSetURI" or="dataSetURI" in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:locale" or="locale" in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:series"/> + <field xpath="/che:CHE_MD_Metadata/gmd:describes"/> + <field xpath="/che:CHE_MD_Metadata/gmd:propertyType"/> + <field xpath="/che:CHE_MD_Metadata/gmd:featureType"/> + <field xpath="/che:CHE_MD_Metadata/gmd:featureAttribute"/> + </section> + + <section xpath="/che:CHE_MD_Metadata/gmd:metadataConstraints"/> + <section xpath="/che:CHE_MD_Metadata/gmd:metadataMaintenance"/> + <section xpath="/che:CHE_MD_Metadata/gmd:applicationSchemaInfo"/> + <section xpath="/che:CHE_MD_Metadata/gmd:metadataExtensionInfo"/> + <section xpath="/che:CHE_MD_Metadata/che:legislationInformation"/> + + </tab> + + <!-- Elements that should not use the "flat" mode --> + <flatModeExceptions> + <for name="gmd:descriptiveKeywords"/> + <for name="gmd:keyword"/> + <for name="gmd:pointOfContact"/> + <for name="gmd:distributor"/> + <for name="gmd:distributorContact"/> + <for name="gmd:distributionOrderProcess"/> + <for name="gmd:fees"/> + <for name="gmd:plannedAvailableDateTime"/> + <for name="gmd:turnaround"/> + <for name="gmd:orderingInstructions"/> + <for name="gmd:distributorFormat"/> + <for name="gmd:distributorTransferOptions"/> + <for name="gmd:processor"/> + <for name="gmd:extent"/> + <for name="srv:extent"/> + <for name="gmd:resourceFormat"/> + <for name="gmd:distributionFormat"/> + <for name="gmd:topicCategory"/> + <for name="gmd:transferOptions"/> + <for name="gmd:unitsOfDistribution"/> + <for name="gmd:transferSize"/> + <for name="gmd:onLine"/> + <for name="gmd:applicationProfile"/> + <for name="gmd:function"/> + <for name="gmd:offLine"/> + <for name="gmd:name"/> + <for name="gmd:density"/> + <for name="gmd:densityUnits"/> + <for name="gmd:volumes"/> + <for name="gmd:mediumFormat"/> + <for name="gmd:mediumNote"/> + <for name="gmd:date"/> + + <for name="gmd:contact" excludeFrom="che:CHE_MD_DataIdentification,che:CHE_MD_MaintenanceInformation"/> + <for name="gmd:language" excludeFrom="che:CHE_MD_FeatureCatalogueDescription,che:CHE_MD_DataIdentification"/> + <for name="gmd:parentIdentifier"/> + <for name="gmd:hierarchyLevelName"/> + <for name="gmd:dataSetURI"/> + <for name="gmd:locale"/> + <for name="gmd:hierarchyLevel"/> + <!--<for name="che:appraisal"/> + <for name="che:commentOnDurationOfConservation"/> + <for name="che:commentOnArchivalValue"/>--> + <for name="che:attribute"/> + </flatModeExceptions> + <thesaurusList> + <thesaurus key="external.theme.gemet" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.theme.inspire-theme" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.theme.gemet-theme" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.theme.inspire-service-taxonomy" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="local.theme.geocat.ch" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.none.allThesaurus" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.theme.httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory-SpatialDataServiceCategory" + transformations="to-iso19139-keyword-as-xlink-with-anchor" + /> + </thesaurusList> + </view> + <view name="advanced"> + <sidePanel> + <directive data-gn-onlinesrc-list=""/> + <directive gn-geo-publisher="" + data-ng-if="gnCurrentEdit.geoPublisherConfig" + data-config="{{gnCurrentEdit.geoPublisherConfig}}" + data-lang="lang"/> + <directive data-gn-validation-report=""/> + <directive data-gn-suggestion-list=""/> + <directive data-gn-need-help="user-guide/describing-information/creating-metadata.html"/> + </sidePanel> + + <tab id="identificationInfo" default="true"> + <section xpath="/che:CHE_MD_Metadata/gmd:identificationInfo" or="identificationInfo" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="distributionInfo"> + <section xpath="/che:CHE_MD_Metadata/gmd:distributionInfo" or="distributionInfo" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="dataQualityInfo"> + <section xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo" or="dataQualityInfo" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="spatialRepresentationInfo"> + <section xpath="/che:CHE_MD_Metadata/gmd:spatialRepresentationInfo" + or="spatialRepresentationInfo" in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="referenceSystemInfo"> + <section xpath="/che:CHE_MD_Metadata/gmd:referenceSystemInfo" or="referenceSystemInfo" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="contentInfo" toggle="true"> + <section xpath="/che:CHE_MD_Metadata/gmd:contentInfo" or="contentInfo" in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="portrayalCatalogueInfo" toggle="true"> + <section xpath="/che:CHE_MD_Metadata/gmd:portrayalCatalogueInfo" or="portrayalCatalogueInfo" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="metadata"> + <section name="che:CHE_MD_Metadata"> + <field xpath="/che:CHE_MD_Metadata/gmd:fileIdentifier"/> + <field xpath="/che:CHE_MD_Metadata/gmd:language" or="language" in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:characterSet"/> + <field xpath="/che:CHE_MD_Metadata/gmd:parentIdentifier" or="parentIdentifier" + in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:hierarchyLevel" or="hierarchyLevel" + in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:hierarchyLevelName" or="hierarchyLevelName" + in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:dateStamp"/> + <field xpath="/che:CHE_MD_Metadata/gmd:metadataStandardName"/> + <field xpath="/che:CHE_MD_Metadata/gmd:metadataStandardVersion"/> + <field xpath="/che:CHE_MD_Metadata/gmd:contact" or="contact" in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:dataSetURI" or="dataSetURI" in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:locale" or="locale" in="/che:CHE_MD_Metadata"/> + <field xpath="/che:CHE_MD_Metadata/gmd:series"/> + <field xpath="/che:CHE_MD_Metadata/gmd:describes"/> + <field xpath="/che:CHE_MD_Metadata/gmd:propertyType"/> + <field xpath="/che:CHE_MD_Metadata/gmd:featureType"/> + <field xpath="/che:CHE_MD_Metadata/gmd:featureAttribute"/> + </section> + </tab> + <tab id="metadataConstraints" toggle="true"> + <section xpath="/che:CHE_MD_Metadata/gmd:metadataConstraints" or="metadataConstraints" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="metadataMaintenance" toggle="true"> + <section xpath="/che:CHE_MD_Metadata/gmd:metadataMaintenance" or="metadataMaintenance" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="applicationSchemaInfo" toggle="true"> + <section xpath="/che:CHE_MD_Metadata/gmd:applicationSchemaInfo" or="applicationSchemaInfo" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="metadataExtensionInfo" toggle="true"> + <section xpath="/che:CHE_MD_Metadata/gmd:metadataExtensionInfo" or="metadataExtensionInfo" + in="/che:CHE_MD_Metadata"/> + </tab> + <tab id="legislationInformation" toggle="true"> + <section xpath="/che:CHE_MD_Metadata/che:legislationInformation" or="legislationInformation" + in="/che:CHE_MD_Metadata"/> + </tab> + <thesaurusList> + <thesaurus key="external.theme.gemet" + transformations="to-iso19139-keyword-as-xlink"/> + <thesaurus key="external.theme.inspire-theme" + transformations="to-iso19139-keyword-as-xlink"/> + <thesaurus key="external.theme.gemet-theme" + transformations="to-iso19139-keyword-as-xlink"/> + <thesaurus key="external.theme.inspire-service-taxonomy" + transformations="to-iso19139-keyword-as-xlink"/> + <thesaurus key="local.theme.geocat.ch" + transformations="to-iso19139-keyword-as-xlink"/> + <thesaurus key="external.none.allThesaurus" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.theme.httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory-SpatialDataServiceCategory" + transformations="to-iso19139-keyword-as-xlink-with-anchor" + /> + </thesaurusList> + </view> + <view name="bgdi"> + <sidePanel> + <directive data-gn-onlinesrc-list=""/> + <directive gn-geo-publisher="" + data-ng-if="gnCurrentEdit.geoPublisherConfig" + data-config="{{gnCurrentEdit.geoPublisherConfig}}" + data-lang="lang"/> + <directive data-gn-validation-report=""/> + <directive data-gn-suggestion-list=""/> + <directive data-gn-need-help="user-guide/describing-information/creating-metadata.html"/> + </sidePanel> + + <tab id="bgdi" default="true" mode="flat"> + <section name="gmd:identificationInfo"> + <!-- 1 - title --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title"/> + <!-- 2 - alternate title --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:alternateTitle"/> + <!-- 3 - Date --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date"/> + <!-- 5 - Collective title --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:collectiveTitle"/> + <!-- 6 - Abstract --> + <field xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:abstract"/> + <!-- 7 - Point of contact --> + <field xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact" + or="pointOfContact" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification"/> + <!-- 8 - Keywords --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:descriptiveKeywords"/> + <!-- 12 - Resolution min --> + <!-- 13 - Resolution max --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution"> + <template> + <values> + <key label="scale" + xpath="gmd:equivalentScale/gmd:MD_RepresentativeFraction/gmd:denominator/gco:Integer" + tooltip="gmd:denominator"/> + </values> + <snippet> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>{{scale}}</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </snippet> + </template> + </field> + + <action type="add" + name="spatialResolution" + forceLabel="true" + if="not(count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:equivalentScale) = 2)" + or="spatialResolution" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification"> + + <template> + <snippet> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer/> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </snippet> + </template> + </action> + + <!-- 16 - Topic Category --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:topicCategory/gmd:MD_TopicCategoryCode"/> + <!-- 17 - Extent --> + <field xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:extent" + or="extent" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification"/> + <!-- 18 - Basic Geodata ID --> + <field xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/che:basicGeodataID"/> + <!-- 19 - Basic Geodata type --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/che:basicGeodataIDType/che:basicGeodataIDTypeCode"/> + </section> + <section name="che:CHE_MD_Metadata"> + <!-- 26 - File ID UUID --> + <field xpath="/che:CHE_MD_Metadata/gmd:fileIdentifier"/> + <!-- 27 - MD contact --> + <field xpath="/che:CHE_MD_Metadata/gmd:contact" or="contact" in="/che:CHE_MD_Metadata"/> + <!-- 14 - Language --> + <field xpath="/che:CHE_MD_Metadata/gmd:locale"/> + <!-- 15 - Character Set --> + <field xpath="/che:CHE_MD_Metadata/gmd:characterSet"/> + + <!-- 24 - Geometric object type --> + <field + xpath="/che:CHE_MD_Metadata/gmd:spatialRepresentationInfo/gmd:MD_VectorSpatialRepresentation/gmd:geometricObjects/gmd:MD_GeometricObjects/gmd:geometricObjectType" + or="geometricObjectType" + in="/che:CHE_MD_Metadata/gmd:spatialRepresentationInfo/gmd:MD_VectorSpatialRepresentation/gmd:geometricObjects/gmd:MD_GeometricObjects" + name="geometricObjectType"> + </field> + + <action type="add" + name="geometricObjectType" + forceLabel="true" + if="count(//gmd:geometricObjects) = 0" + or="spatialRepresentationInfo" + in="/che:CHE_MD_Metadata"> + + <template> + <snippet> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_GeometricObjectTypeCode" + codeListValue="surface"/> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + </snippet> + </template> + </action> + + <!-- 25 - Reference system --> + <field name="rsIdentifier" templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier"> + <template> + <values> + <key label="code" + xpath="gmd:RS_Identifier/gmd:code/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[@locale='#DE']" + tooltip="gmd:referenceSystemIdentifier"/> + </values> + <snippet> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">{{code}}</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </snippet> + </template> + </field> + + <!-- 28 - Sprachraum ? --> + <!-- <field xpath="/che:CHE_MD_Metadata/gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:code" /> --> + <!-- 29 - Legislation information --> + </section> + + <section name="gmd:metadataConstraints"> + <!-- 9 - Use constraints --> + <field + xpath="/che:CHE_MD_Metadata/gmd:metadataConstraints/che:CHE_MD_LegalConstraints/gmd:useConstraints/gmd:MD_RestrictionCode"/> + <!-- 10 - other constraints --> + <field xpath="/che:CHE_MD_Metadata/gmd:metadataConstraints/che:CHE_MD_LegalConstraints/gmd:otherConstraints"/> + <!-- 11 - Use limitation --> + <field xpath="/che:CHE_MD_Metadata/gmd:metadataConstraints/che:CHE_MD_LegalConstraints/gmd:useLimitation"/> + </section> + + <section name="gmd:distributionInfo"> + <!-- 20 - Distribution format --> + <field xpath="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat" + or="distributionFormat" + in="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution"/> + <!-- 21 - Transfer option 1 link --> + <field name="onlineLink" + xpath="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions" + or="onlineLink" in="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution"> + </field> + + <!-- 22 - Transfer option 2 download --> + <!-- 23 - Transfer option 3 specialised Geoportal --> + </section> + <section xpath="/che:CHE_MD_Metadata/che:legislationInformation"/> + </tab> + <!-- Elements that should not use the "flat" mode --> + <flatModeExceptions> + <for name="gmd:pointOfContact"/> + <for name="gmd:distributor"/> + <for name="gmd:distributorContact"/> + <for name="gmd:distributionOrderProcess"/> + <for name="gmd:distributorFormat"/> + <for name="gmd:distributorTransferOptions"/> + <for name="gmd:contact"/> + <for name="gmd:processor"/> + <for name="gmd:citedResponsibleParty"/> + <for name="gmd:extent"/> + <for name="srv:extent"/> + <for name="gmd:resourceFormat"/> + <for name="gmd:distributionFormat"/> + <for name="gmd:topicCategory"/> + <for name="che:attribute"/> + </flatModeExceptions> + <thesaurusList> + <thesaurus key="external.theme.gemet" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.theme.inspire-theme" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.theme.gemet-theme" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.theme.inspire-service-taxonomy" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="local.theme.geocat.ch" + transformations="to-iso19139-keyword-as-xlink" + /> + <thesaurus key="external.none.allThesaurus" + transformations="to-iso19139-keyword-as-xlink" + /> + </thesaurusList> + </view> + + <view name="inspire" upAndDownControlHidden="true" displayIfServiceInfo="/settings/system/inspire/enable='true'"> + + <sidePanel> + <directive data-gn-onlinesrc-list=""/> + <directive gn-geo-publisher="" + data-ng-if="gnCurrentEdit.geoPublisherConfig" + data-config="{{gnCurrentEdit.geoPublisherConfig}}" + data-lang="lang"/> + <directive data-gn-validation-report=""/> + <directive data-gn-suggestion-list=""/> + <directive data-gn-need-help="user-guide/describing-information/creating-metadata.html"/> + </sidePanel> + + <tab id="inspire" default="true" mode="flat"> + <section name="resource"> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:title"/> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:abstract" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification) > 0"/> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:abstract" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification) > 0"/> + + <field xpath="/che:CHE_MD_Metadata/gmd:hierarchyLevel"/> + + <action type="add" + if="count(che:CHE_MD_Metadata/gmd:hierarchyLevel) = 0" + name="hierarchyLevel" or="hierarchyLevel" + in="/che:CHE_MD_Metadata"> + <template> + <snippet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset"/> + </gmd:hierarchyLevel> + </snippet> + </template> + </action> + + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/srv:serviceType"/> + + + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/ + gmd:descriptiveKeywords + [gmd:MD_Keywords/gmd:thesaurusName/gmd:CI_Citation/gmd:title/gco:CharacterString = 'INSPIRE Service taxonomy']"></field> + <!-- FIXME: MUST be provided in template and thesaurus available in the catalog, to be displayed properly --> + + + <field name="url" templateModeOnly="true" notDisplayedIfMissing="true" + xpath="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions + /gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage" + del="../.."> + <template> + <values> + <key label="url" xpath="che:PT_FreeURL" tooltip="gmd:linkage"/> + </values> + <snippet> + <gmd:linkage> + <gmd:URL>{{url}}</gmd:URL> + <gn:copy select="che:PT_FreeURL"/> + </gmd:linkage> + </snippet> + </template> + </field> + + <action type="add" name="url" or="onLine" + in="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions"> + <template> + <snippet> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL/> + </gmd:linkage> + </gmd:CI_OnlineResource> + </gmd:onLine> + </snippet> + </template> + </action> + + <!-- Resource identifier for dataset, service + and add action to compute it if not defined. --> + <field name="identifier" templateModeOnly="true" notDisplayedIfMissing="true" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier" + del="." + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification) > 0"> + <template> + <values> + <key label="code" + xpath="gmd:MD_Identifier/gmd:code/gco:CharacterString" + tooltip="gmd:code|gmd:MD_Identifier"/> + </values> + <snippet> + <gmd:identifier> + <gmd:MD_Identifier> + <gn:copy select="gmd:authority"/> + <gmd:code> + <gco:CharacterString>{{code}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </snippet> + </template> + </field> + <field name="identifier" templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier" + del="." + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification) > 0"> + <template> + <values> + <key label="code" + xpath="gmd:MD_Identifier/gmd:code/gco:CharacterString" + tooltip="gmd:code|gmd:MD_Identifier"/> + </values> + <snippet> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>{{code}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </snippet> + </template> + </field> + + <action type="add" name="identifier" or="identifier" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation"> + <template> + <snippet> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString></gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </snippet> + </template> + </action> + + <action type="process" process="add-resource-id" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/ + gmd:identifier[ends-with(gmd:MD_Identifier/gmd:code/gco:CharacterString, //che:CHE_MD_Metadata/gmd:fileIdentifier/gco:CharacterString)]) = 0"/> + + + <field name="encoding" templateModeOnly="true" notDisplayedIfMissing="true" + xpath="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat" + del="."> + <template> + <values> + <key label="format" + xpath="gmd:MD_Format/gmd:name/gco:CharacterString" + tooltip="gmd:name|gmd:MD_Format"> + <helper name="gmd:name" context="gmd:MD_Format"/> + </key> + <key label="format_version" xpath="gmd:MD_Format/gmd:version/gco:CharacterString"/> + </values> + <snippet> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>{{format}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:name> + <gmd:version> + <gco:CharacterString>{{format_version}}</gco:CharacterString> + </gmd:version> + <gn:copy select="gmd:amendmentNumber"/> + <gn:copy select="gmd:specification"/> + <gn:copy select="gmd:fileDecompressionTechnique"/> + <gn:copy select="gmd:formatDistributor"/> + </gmd:MD_Format> + </gmd:distributionFormat> + </snippet> + </template> + </field> + + <action type="add" name="encoding" or="distributionFormat" + in="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution"> + <template> + <snippet> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>GML</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>3.2.1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </snippet> + </template> + </action> + + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/ + gmd:descriptiveKeywords/gmd:MD_Keywords[gmd:type/gmd:MD_KeywordTypeCode/@codeListValue='theme' + and not(gmd:thesaurusName)]/gmd:keyword" + or="keyword" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/ + gmd:descriptiveKeywords/gmd:MD_Keywords[gmd:type/gmd:MD_KeywordTypeCode/@codeListValue='theme' + and not(gmd:thesaurusName)]"/> + + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/ + gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword[not(../gmd:thesaurusName)]" + or="keyword" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/ + gmd:descriptiveKeywords/gmd:MD_Keywords[not(gmd:thesaurusName)]"/> + + <!-- INSPIRE Themes --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/*/ + gmd:descriptiveKeywords + [contains(gmd:MD_Keywords/gmd:thesaurusName/gmd:CI_Citation/gmd:title/gco:CharacterString, 'INSPIRE themes')]"/> + <!-- FIXME: MUST be provided in template and thesaurus available in the catalog, to be displayed properly --> + <action type="add" + name="inspireTheme" + or="descriptiveKeywords" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/*" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/*/ + gmd:descriptiveKeywords[ + contains(gmd:MD_Keywords/gmd:thesaurusName/ + gmd:CI_Citation/gmd:title/gco:CharacterString, + 'INSPIRE themes')]) = 0"> + <template> + <snippet> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <gmd:keyword> + <gco:CharacterString></gco:CharacterString> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET - INSPIRE themes, version 1.0 + </gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-06-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor + xlink:href="http://localhost:8080/geonetwork/srv/eng/thesaurus.download?ref=external.theme.inspire-theme"> + geonetwork.thesaurus.external.theme.inspire-theme + </gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </snippet> + </template> + </action> + + <section name="bboxesSection"> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/ + srv:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox"/> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/ + gmd:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox"/> + </section> + + <action type="add" name="extent" or="extent" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification"> + <template> + <snippet> + <gmd:extent> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal/> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal/> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal/> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal/> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </snippet> + </template> + </action> + + <action type="add" name="extent" or="extent" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification"> + <template> + <snippet> + <srv:extent> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal/> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal/> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal/> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal/> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </srv:extent> + </snippet> + </template> + </action> + + <field name="rsIdentifier" templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier" + del="../.."> + <template> + <values> + <key label="code" + xpath="gmd:RS_Identifier/gmd:code/gco:CharacterString" + tooltip="gmd:MD_ReferenceSystem"/> + <!-- TODO: Get the helper --> + </values> + <snippet> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gn:copy select="gmd:authority"/> + <gmd:code> + <gco:CharacterString>{{code}}</gco:CharacterString> + </gmd:code> + <gn:copy select="gmd:codeSpace"/> + <gn:copy select="gmd:version"/> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </snippet> + </template> + </field> + + + <action type="add" name="rsIdentifier" addDirective="data-gn-crs-selector" + or="referenceSystemInfo" in="/che:CHE_MD_Metadata"> + <template> + <snippet> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code> + <gco:CharacterString/> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + </snippet> + </template> + </action> + + + <section name="referenceDate"> + <field xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/ + gmd:date"/> + <action type="add" name="referenceDate" or="date" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation"> + <template> + <snippet> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date></gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </snippet> + </template> + </action> + </section> + + + <field name="temporalRangeSection" templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:temporalElement" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification) > 0"> + <template> + <values> + <!-- -Need a * for gml:TimePeriodTypeCHOICE_ELEMENT2 added by editor enumerated tree --> + <key label="beginPosition" + xpath="gmd:EX_TemporalExtent/gmd:extent/gml:TimePeriod/*/gml:beginPosition" + use="gn-date-picker" + tooltip="gmd:extent|gmd:EX_TemporalExtent"> + <directiveAttributes data-tag-name="gml:beginPosition"/> + </key> + <key label="endPosition" + xpath="gmd:EX_TemporalExtent/gmd:extent/gml:TimePeriod/*/gml:endPosition" + use="gn-date-picker" + tooltip="gmd:extent|gmd:EX_TemporalExtent" + > + <directiveAttributes + data-tag-name="gml:endPosition" + data-indeterminate-position="eval#gmd:EX_TemporalExtent/gmd:extent/gml:TimePeriod/*/gml:endPosition/@indeterminatePosition"/> + </key> + </values> + <snippet> + <gmd:temporalElement> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id=""> + {{beginPosition}} + {{endPosition}} + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </gmd:temporalElement> + </snippet> + </template> + </field> + + <field name="temporalRangeSection" templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:extent/gmd:EX_Extent/gmd:temporalElement" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification) > 0"> + <template> + <values> + <key label="beginPosition" + xpath="gmd:EX_TemporalExtent/gmd:extent/gml:TimePeriod/*/gml:beginPosition" + use="gn-date-picker" + tooltip="gmd:extent|gmd:EX_TemporalExtent"/> + <key label="endPosition" + xpath="gmd:EX_TemporalExtent/gmd:extent/gml:TimePeriod/*/gml:endPosition" + use="gn-date-picker" + tooltip="gmd:extent|gmd:EX_TemporalExtent" + /> + <key label="indeterminatePosition" + xpath="gmd:EX_TemporalExtent/gmd:extent/gml:TimePeriod/*/gml:endPosition/@indeterminatePosition" + use="codelist"/> + </values> + <snippet> + <gmd:temporalElement> + <gmd:EX_TemporalExtent> + <gmd:extent> + <gml:TimePeriod gml:id=""> + <gml:beginPosition>{{beginPosition}}</gml:beginPosition> + <gml:endPosition indeterminatePosition="{{indeterminatePosition}}"> + {{endPosition}} + </gml:endPosition> + </gml:TimePeriod> + </gmd:extent> + </gmd:EX_TemporalExtent> + </gmd:temporalElement> + </snippet> + </template> + </field> + + <field name="lineage" + xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement"/> + + <action type="add" name="lineage" or="statement" + in="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage"> + <template> + <snippet> + <gmd:statement> + <gco:CharacterString></gco:CharacterString> + </gmd:statement> + </snippet> + </template> + </action> + <action type="add" name="lineage" or="lineage" + in="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality"> + <template> + <snippet> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement> + <gco:CharacterString></gco:CharacterString> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </snippet> + </template> + </action> + + + <field xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/ + */gmd:spatialResolution/ + */gmd:equivalentScale/*/gmd:denominator" + del="../../../.."/> + + + <!-- + if="count(che:CHE_MD_Metadata/gmd:identificationInfo[*/gmd:spatialRepresentationType/*/@codeListValue = 'vector']) = 1" + --> + <action type="add" btnLabel="spatialResolution" or="spatialResolution" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/*"> + <template> + <snippet> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer/> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </snippet> + </template> + </action> + + + <field xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/ + */gmd:spatialResolution/*/gmd:distance" + del="../.."/> + + + <!-- + if="count(che:CHE_MD_Metadata/gmd:identificationInfo[*/gmd:spatialRepresentationType/*/@codeListValue = 'grid']) = 1" + --> + <action type="add" btnLabel="spatialDistance" or="spatialResolution" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/*"> + <template> + <snippet> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:distance> + <gco:Distance uom="m"/> + </gmd:distance> + </gmd:MD_Resolution> + </gmd:spatialResolution> + </snippet> + </template> + </action> + + + <field name="conformity" templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/ + gmd:report/gmd:DQ_DomainConsistency/gmd:result" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification)=0" + del="../.."> + <template> + <values> + <key label="conformity_title" + xpath="gmd:DQ_ConformanceResult/ + gmd:specification/gmd:CI_Citation/gmd:title/gco:CharacterString" + tooltip="gmd:pass"> + <helper name="gmd:title" + context="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title"/> + </key> + <key label="conformity_date" + xpath="gmd:DQ_ConformanceResult/ + gmd:specification/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date/gco:Date" + use="date"/> + <key label="explanation" + xpath="gmd:DQ_ConformanceResult/ + gmd:explanation/gco:CharacterString" + use="textarea"/> + <key label="pass" + xpath="gmd:DQ_ConformanceResult/gmd:pass/gco:Boolean" + use="gn-checkbox-with-nilreason"> + <directiveAttributes + data-tag-name="gmd:pass" + data-nilreason="eval#gmd:DQ_ConformanceResult/gmd:pass/@gco:nilReason" + data-labels='{"true": "conformant", "false": "notConformant", "unknown": "notEvaluated"}'/> + </key> + </values> + <snippet> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>{{conformity_title}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:title> + <gn:copy select="gmd:alternateTitle"/> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>{{conformity_date}}</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gn:copy select="gmd:edition"/> + <gn:copy select="gmd:editionDate"/> + <gn:copy select="gmd:identifier"/> + <gn:copy select="gmd:citedResponsibleParty"/> + <gn:copy select="gmd:presentationForm"/> + <gn:copy select="gmd:series"/> + <gn:copy select="gmd:otherCitationDetails"/> + <gn:copy select="gmd:collectiveTitle"/> + <gn:copy select="gmd:ISBN"/> + <gn:copy select="gmd:ISSN"/> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString>{{explanation}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:explanation> + {{pass}} + </gmd:DQ_ConformanceResult> + </gmd:result> + </snippet> + </template> + </field> + + + <action type="add" name="conformity" or="report" + forceLabel="true" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification)=0" + in="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality"> + <template> + <snippet> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString/> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date/> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString/> + </gmd:explanation> + <gmd:pass gco:nilReason="unknown"> + <gco:Boolean/> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </snippet> + </template> + </action> + + + <field + name="useLimitation" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/ + gmd:resourceConstraints/gmd:MD_Constraints/gmd:useLimitation" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification) > 0"/> + <action type="add" name="useLimitation" or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification) > 0"> + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation> + <gco:CharacterString/> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + <field + name="useLimitation" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/ + gmd:resourceConstraints/gmd:MD_Constraints/gmd:useLimitation" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification) > 0"/> + <action type="add" name="useLimitation" or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification) > 0"> + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation> + <gco:CharacterString/> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + + <!-- Access constraints for metadata about data. + Services have their own format, defined in the SDS tab --> + <field name="accessConstraints" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/ + gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:otherConstraints" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification) > 0"/> + + <action type="add" name="accessConstraints" or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification) > 0"> + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:useConstraints/> + <gmd:otherConstraints gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:characterSet"></field> + + + <field name="pointOfContact" templateModeOnly="true" notDisplayedIfMissing="true" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact" + del="." + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification) > 0"> + <template> + <values readonlyIf="count(@xlink:href) > 0"> + <key label="organisationName" + xpath="che:CHE_CI_ResponsibleParty/gmd:organisationName/gco:CharacterString"/> + <key label="electronicMailAddress" + xpath="che:CHE_CI_ResponsibleParty/gmd:contactInfo/ + gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:electronicMailAddress/gco:CharacterString" + use="email"/> + <key label="role" + xpath="che:CHE_CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode/@codeListValue"> + <codelist name="gmd:CI_RoleCode"/> + </key> + </values> + <snippet> + <gmd:pointOfContact> + <che:CHE_CI_ResponsibleParty> + <gn:copy select="gmd:individualName"/> + <gmd:organisationName> + <gco:CharacterString>{{organisationName}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:organisationName> + <gn:copy select="gmd:positionName"/> + <gmd:contactInfo> + <gmd:CI_Contact> + <gn:copy select="gmd:phone"/> + <gmd:address> + <gmd:CI_Address> + <gn:copy select="gmd:deliveryPoint"/> + <gn:copy select="gmd:city"/> + <gn:copy select="gmd:administrativeArea"/> + <gn:copy select="gmd:postalCode"/> + <gn:copy select="gmd:country"/> + <gmd:electronicMailAddress> + <gco:CharacterString>{{electronicMailAddress}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:electronicMailAddress> + </gmd:CI_Address> + </gmd:address> + <gn:copy select="gmd:onlineResource"/> + <gn:copy select="gmd:hoursOfService"/> + <gn:copy select="gmd:contactInstructions"/> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_RoleCode" + codeListValue="{{role}}"/> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + </snippet> + </template> + </field> + + + <action type="add" name="pointOfContact" addDirective="data-gn-directory-entry-selector" + or="pointOfContact" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification"> + <directiveAttributes + data-template-add-action="true" + data-template-type="contact" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </action> + + </section> + + <section name="metadata"> + + <field name="metadataPointOfContact" templateModeOnly="true" + notDisplayedIfMissing="true" + xpath="/che:CHE_MD_Metadata/gmd:contact" del="."> + <template> + <values readonlyIf="count(@xlink:href) > 0"> + <key label="organisationName" + xpath="che:CHE_CI_ResponsibleParty/gmd:organisationName/gco:CharacterString"/> + <key label="electronicMailAddress" + xpath="che:CHE_CI_ResponsibleParty/gmd:contactInfo/ + gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:electronicMailAddress/gco:CharacterString" + use="email"/> + <key label="role" + xpath="che:CHE_CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode/@codeListValue"> + <codelist name="gmd:CI_RoleCode"/> + </key> + </values> + <snippet> + <gmd:contact> + <che:CHE_CI_ResponsibleParty> + <gn:copy select="gmd:individualName"/> + <gn:copy select="che:individualFirstName"/> + <gn:copy select="che:individualLastName"/> + <gmd:organisationName> + <gco:CharacterString>{{organisationName}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:organisationName> + <gn:copy select="gmd:positionName"/> + <gmd:contactInfo> + <gmd:CI_Contact> + <gn:copy select="gmd:phone"/> + <gmd:address> + <gmd:CI_Address> + <gn:copy select="gmd:deliveryPoint"/> + <gn:copy select="gmd:city"/> + <gn:copy select="gmd:administrativeArea"/> + <gn:copy select="gmd:postalCode"/> + <gn:copy select="gmd:country"/> + <gmd:electronicMailAddress> + <gco:CharacterString>{{electronicMailAddress}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:electronicMailAddress> + </gmd:CI_Address> + </gmd:address> + <gn:copy select="gmd:onlineResource"/> + <gn:copy select="gmd:hoursOfService"/> + <gn:copy select="gmd:contactInstructions"/> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_RoleCode" + codeListValue="{{role}}"/> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + </snippet> + </template> + </field> + + <action type="add" name="metadataPointOfContact" + addDirective="data-gn-directory-entry-selector" or="contact" + in="/che:CHE_MD_Metadata"> + <directiveAttributes + data-template-add-action="true" + data-template-type="contact" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </action> + + + <field xpath="/che:CHE_MD_Metadata/gmd:dateStamp"/> + </section> + </tab> + + <tab id="inspire_sds" + mode="flat" + displayIfRecord="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification) > 0"> + + <section name="inspire_sds_cc1"> + + <!-- 4.4.1 TG4 : ensure gmd:DQ_DataQuality for service exists --> + <action type="process" + process="sds-add-dataquality" + if="count(che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service'])=0"/> + + <!-- 4.4.1 rec 1 : replace CharacterString with Anchor--> + <action type="process" + process="sds-fix-category" + if="count(che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title/gco:CharacterString)>0"/> + + <!-- 4.4.1 category --> + <field name="sds-category" + xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title"/> + + <!-- 4.4.1 pass --> + <field + xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:pass"/> + + <action type="add" + name="inspire_add_pass" + forceLabel="true" + or="pass" + in="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult"> + <template> + <snippet> + <gmd:pass> + <gco:Boolean>true</gco:Boolean> + </gmd:pass> + </snippet> + </template> + </action> + + + <!-- 4.4.2 Resource locator --> + <!-- 4.4.2 Function --> + <!-- *** accessPoint *** --> + + <field name="sds-accesspoint" + templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine[gmd:CI_OnlineResource/gmd:description/gmx:Anchor/text() = 'accessPoint']" + + del="."> + <template> + <values> + <key label="linkage" xpath="gmd:CI_OnlineResource/gmd:linkage/gmd:URL"/> + </values> + <snippet> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL>{{linkage}}</gmd:URL> + <gn:copy select="che:PT_FreeURL"/> + </gmd:linkage> + <gmd:description> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/registry/metadata-codelist/ResourceLocatorDescription/accessPoint"> + accessPoint + </gmx:Anchor> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="information"> + </gmd:CI_OnLineFunctionCode> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </snippet> + </template> + </field> + + <action type="add" + name="sds-add-accesspoint" + forceLabel="true" + or="onLine" + in="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions/gmd:MD_DigitalTransferOptions"> + <template> + <snippet> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL>http://accesspoint.url</gmd:URL> + </gmd:linkage> + <gmd:description> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/registry/metadata-codelist/ResourceLocatorDescription/accessPoint"> + accessPoint + </gmx:Anchor> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="information"></gmd:CI_OnLineFunctionCode> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </snippet> + </template> + </action> + + <!-- 4.4.2 Resource locator --> + <!-- 4.4.2 Function --> + <!-- *** endPoint *** --> + + <field name="sds-endpoint" + templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine[gmd:CI_OnlineResource/gmd:description/gmx:Anchor/text() = 'endPoint']" + notDisplayedIfMissing="true" + del="."> + <template> + <values> + <key label="linkage" xpath="gmd:CI_OnlineResource/gmd:linkage/gmd:URL"/> + </values> + <snippet> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL>{{linkage}}</gmd:URL> + </gmd:linkage> + <gmd:description> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/registry/metadata-codelist/ResourceLocatorDescription/endPoint"> + endPoint + </gmx:Anchor> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="information"> + </gmd:CI_OnLineFunctionCode> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </snippet> + </template> + </field> + + <action type="add" + name="sds-add-endpoint" + forceLabel="true" + or="onLine" + in="/che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions/gmd:MD_DigitalTransferOptions"> + <template> + <snippet> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL>http://endpoint.url</gmd:URL> + </gmd:linkage> + <gmd:description> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/registry/metadata-codelist/ResourceLocatorDescription/endPoint"> + endPoint + </gmx:Anchor> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="information"></gmd:CI_OnLineFunctionCode> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </snippet> + </template> + </action> + + + <!-- 4.4.3 TG8: edit Technical specification --> + + <field + templateModeOnly="true" + notDisplayedIfMissing="true" + forceLabel="true" + name="sds-tech-spec" + del="../.." + xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']/gmd:report/gmd:DQ_FormatConsistency/gmd:result"> + <template> + <values> + <key label="conformity_linkage" + xpath="gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title/gmx:Anchor/@xlink:href"/> + <key label="conformity_desc" + xpath="gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title/gmx:Anchor/text()" + tooltip="gmd:pass"> + <helper name="gmd:title" + context="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_FormatConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title"/> + </key> + <key label="conformity_date" use="gn-date-picker" + xpath="gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date/gco:Date"/> + <key label="explanation" use="text" + xpath="gmd:DQ_ConformanceResult/gmd:explanation/gco:CharacterString"/> + </values> + <snippet> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title> + <gmx:Anchor xlink:href="{{conformity_linkage}}">{{conformity_desc}} + </gmx:Anchor> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>{{conformity_date}}</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString>{{explanation}}</gco:CharacterString> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>true</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </snippet> + </template> + </field> + + <!-- 4.4.3 TG8: add Technical specification entry --> + + <action type="add" + name="sds-add-tech-spec" + forceLabel="true" + or="report" + in="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']"> + + <template> + <snippet> + <gmd:report> + <gmd:DQ_FormatConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title> + <gmx:Anchor xlink:href=" http://link,to/the.technical.specification"> + Description of technical specification + </gmx:Anchor> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2014-12-11</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString>Conformant to the cited specifications. + </gco:CharacterString> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>true</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_FormatConsistency> + </gmd:report> + </snippet> + </template> + </action> + + </section> + + <!-- CONFORMITY CLASS 2 --> + <section name="inspire_sds_cc2"> + + <section name="sds-section-crs"> + <field + xpath="che:CHE_MD_Metadata/gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:code/gmx:Anchor" + del="."/> + <!-- The useXmlSnippet="true" attribute is a workaround to keep backward compatibility since often + the data-gn-crs-selector directive is used specifying a snippet as below although the developer wanted + to use the hardcoded snipped in EditorXMLService.js. We need a way to specify if we really want + to use the snippet below. The attribute is used in the template render-element-template-field located in form-builder.xsl--> + <action type="add" name="rsIdentifier" addDirective="data-gn-crs-selector" + useXmlSnippet="true" + or="referenceSystemInfo" in="/che:CHE_MD_Metadata"> + <template> + <snippet> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code> + <gmx:Anchor xlink:href='http://www.opengis.net/def/crs/EPSG/0/{{code}}' + xlink:title='{{description}}'>{{code}} + </gmx:Anchor> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + </snippet> + </template> + </action> + </section> + + <!-- 4.5.2 Ensure gmd:DQ_ConceptualConsistency mandatory elements for quality of service exists --> + + <section name="sds-section-qos"> + + <action type="process" + process="sds-add-qualityofservice" + if="(count(che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service'])>0 and + (count(che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']/gmd:report/gmd:DQ_ConceptualConsistency/gmd:nameOfMeasure/gmx:Anchor[text()='availability'])=0 or + count(che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']/gmd:report/gmd:DQ_ConceptualConsistency/gmd:nameOfMeasure/gmx:Anchor[text()='performance'])=0 or + count(che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='service']/gmd:report/gmd:DQ_ConceptualConsistency/gmd:nameOfMeasure/gmx:Anchor[text()='capacity'])=0 ))"/> + + <field + xpath="/che:CHE_MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_ConceptualConsistency"/> + + </section> + + <!-- 4.5.3 TG13 Conditions applying to access and use --> + + <section name="accessConstraints"> + + <!-- fixed values, user should only be able to remove the whole gmd:resourceConstraints element, and not edit it --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints[gmd:MD_LegalConstraints[gmd:accessConstraints]/gmd:otherConstraints/gmx:Anchor]"/> + + <!-- editable value, user should be able to edit the characterstring element, or to remove the whole gmd:resourceConstraints element --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints[gmd:MD_LegalConstraints[gmd:accessConstraints]/gmd:otherConstraints[gco:CharacterString]]" + templateModeOnly="true" + notDisplayedIfMissing="true" + forceLabel="true" + name="sds-limitation" + del="."> + + <template> + <values> + <key label="string" + xpath="gmd:MD_LegalConstraints/gmd:otherConstraints/gco:CharacterString"/> + </values> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:otherConstraints> + <gco:CharacterString>{{string}}</gco:CharacterString> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </field> + + <!-- accessConstraints: ADD "no constraints" if element not defined --> + <action type="add" + name="sds-addNoConstraints" + forceLabel="true" + or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification" + check="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints[gmd:accessConstraints])" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints[gmd:accessConstraints]) = 0"> + + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:otherConstraints> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/registry/metadata-codelist/ConditionsApplyingToAccessAndUse/noConditionsApply"> + No Conditions Apply + </gmx:Anchor> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + <!-- accessConstraints: ADD "unknown constraints" if element not defined --> + <action type="add" + name="sds-addUnknownConstraints" + forceLabel="true" + or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints[gmd:accessConstraints]) = 0"> + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:otherConstraints> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/registry/metadata-codelist/ConditionsApplyingToAccessAndUse/conditionsUnknown"> + Conditions Unknown + </gmx:Anchor> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + + <!-- accessConstraints: ADD custom constraints if element not defined --> + + <action type="add" + forceLabel="true" + name="sds-addConstraints" + or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints[gmd:accessConstraints]) = 0"> + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:otherConstraints gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + </section> <!-- access constraints --> + + <section name="useConstraints"> + + <!-- fixed values, user should only be able to remove the whole gmd:resourceConstraints element, and not edit it --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints[gmd:MD_LegalConstraints[gmd:useConstraints]/gmd:otherConstraints/gmx:Anchor]"/> + + <!-- editable value, user should be able to edit the characterstring element, or to remove the whole gmd:resourceConstraints element --> + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints[gmd:MD_LegalConstraints[gmd:useConstraints]/gmd:otherConstraints[gco:CharacterString]]" + templateModeOnly="true" + notDisplayedIfMissing="true" + forceLabel="true" + name="sds-limitation" + del="."> + + <template> + <values> + <key label="string" + xpath="gmd:MD_LegalConstraints/gmd:otherConstraints/gco:CharacterString"/> + </values> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + <gmd:otherConstraints> + <gco:CharacterString>{{string}}</gco:CharacterString> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </field> + + <!-- useConstraints: ADD "no constraints" if element not defined --> + <action type="add" + name="sds-addNoConstraints" + forceLabel="true" + or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification" + check="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints[gmd:useConstraints])" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints[gmd:useConstraints]) = 0"> + + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + <gmd:otherConstraints> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/registry/metadata-codelist/ConditionsApplyingToAccessAndUse/noConditionsApply"> + No Conditions Apply + </gmx:Anchor> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + <!-- useConstraints: ADD "unknown constraints" if element not defined --> + <action type="add" + name="sds-addUnknownConstraints" + forceLabel="true" + or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints[gmd:useConstraints]) = 0"> + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + + <gmd:otherConstraints> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/registry/metadata-codelist/ConditionsApplyingToAccessAndUse/conditionsUnknown"> + Conditions Unknown + </gmx:Anchor> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + + <!-- useConstraints: ADD custom constraints if element not defined --> + + <action type="add" + forceLabel="true" + name="sds-addConstraints" + or="resourceConstraints" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints[gmd:useConstraints]) = 0"> + <template> + <snippet> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + <gmd:otherConstraints gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </snippet> + </template> + </action> + + </section> <!-- use constraints --> + + <section name="sds-section-custodian"> + + <field name="pointOfContact" + templateModeOnly="true" + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact[che:CHE_CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode/@codeListValue='custodian']" + del="."> + + <template> + <values readonlyIf="count(@xlink:href) > 0"> + <key label="organisationName" + xpath="che:CHE_CI_ResponsibleParty/gmd:organisationName/gco:CharacterString"/> + <key label="electronicMailAddress" + xpath="che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:electronicMailAddress/gco:CharacterString" + use="email"/> + </values> + <snippet> + <gmd:pointOfContact> + <che:CHE_CI_ResponsibleParty> + <gn:copy select="gmd:individualName"/> + <gmd:organisationName> + <gco:CharacterString>{{organisationName}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:organisationName> + <gn:copy select="gmd:positionName"/> + <gmd:contactInfo> + <gmd:CI_Contact> + <gn:copy select="gmd:phone"/> + <gmd:address> + <gmd:CI_Address> + <gn:copy select="gmd:deliveryPoint"/> + <gn:copy select="gmd:city"/> + <gn:copy select="gmd:administrativeArea"/> + <gn:copy select="gmd:postalCode"/> + <gn:copy select="gmd:country"/> + <gmd:electronicMailAddress> + <gco:CharacterString>{{electronicMailAddress}}</gco:CharacterString> + <gn:copy select="gmd:PT_FreeText"/> + </gmd:electronicMailAddress> + </gmd:CI_Address> + </gmd:address> + <gn:copy select="gmd:onlineResource"/> + <gn:copy select="gmd:hoursOfService"/> + <gn:copy select="gmd:contactInstructions"/> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_RoleCode" + codeListValue="custodian"/> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + </snippet> + </template> + </field> + + + <action type="add" name="pointOfContact" + addDirective="data-gn-directory-entry-selector" + or="pointOfContact" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification"> + <directiveAttributes + data-template-add-action="true" + data-template-type="contact" + data-variables="gmd:role/gmd:CI_RoleCode/@codeListValue~{role}"/> + </action> + </section> + + </section> + + <!-- CONFORMITY CLASS 3 --> + + <section name="inspire_sds_cc3"> + + <field + xpath="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations"/> + + <action type="add" + forceLabel="true" + name="sds-addOperation" + or="containsOperations" + in="/che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification" + if="count(che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification) > 0"> + <template> + <snippet> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString></gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList + codeList="http://inspire.ec.europa.eu/metadata-codelist/DCPList" + codeListValue="webServices">Web services + </srv:DCPList> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL>http://</gmd:URL> + </gmd:linkage> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </snippet> + </template> + </action> + + </section> + </tab> + + <!-- Elements that should not use the "flat" mode --> + <flatModeExceptions> + <for name="srv:containsOperations"/> + <for name="srv:SV_OperationMetadata"/> + <for name="srv:parameters"/> + </flatModeExceptions> + + </view> + + <view name="xml"> + <sidePanel> + <directive data-gn-onlinesrc-list=""/> + <directive gn-geo-publisher="" + data-ng-if="gnCurrentEdit.geoPublisherConfig" + data-config="{{gnCurrentEdit.geoPublisherConfig}}" + data-lang="lang"/> + <directive data-gn-validation-report=""/> + <directive data-gn-suggestion-list=""/> + <directive data-gn-need-help="user-guide/describing-information/creating-metadata.html"/> + </sidePanel> + + <tab id="xml" default="true"/> + </view> + </views> +</editor> diff --git a/iso19139.che/src/main/plugin/iso19139.che/layout/dispatcher.xsl b/iso19139.che/src/main/plugin/iso19139.che/layout/dispatcher.xsl new file mode 100644 index 00000000000..fe7de787fe3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/layout/dispatcher.xsl @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gn="http://www.fao.org/geonetwork" + xmlns:gn-fn-metadata="http://geonetwork-opensource.org/xsl/functions/metadata" + xmlns:gn-fn-iso19139="http://geonetwork-opensource.org/xsl/functions/profiles/iso19139" + xmlns:saxon="http://saxon.sf.net/" + extension-element-prefixes="saxon" + exclude-result-prefixes="#all"> + + <xsl:include href="evaluate.xsl"/> + <xsl:include href="layout.xsl"/> + + <!-- + Load the schema configuration for the editor. + Same configuration as ISO19139 here. + --> + <xsl:template name="get-iso19139.che-configuration"> + <xsl:copy-of select="document('config-editor.xml')"/> + </xsl:template> + + + <!-- Dispatch to the current profile mode --> + <xsl:template name="dispatch-iso19139.che"> + <xsl:param name="base" as="node()"/> + <xsl:param name="overrideLabel" as="xs:string" required="no" select="''"/> + + <xsl:apply-templates mode="mode-iso19139.che" select="$base"> + <xsl:with-param name="overrideLabel" select="$overrideLabel"/> + </xsl:apply-templates> + + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/layout/evaluate.xsl b/iso19139.che/src/main/plugin/iso19139.che/layout/evaluate.xsl new file mode 100644 index 00000000000..e578c679091 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/layout/evaluate.xsl @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- WARNING Do not remove those namespaces as + saxon:evaluate needs them for matching --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gn="http://www.fao.org/geonetwork" + xmlns:gn-fn-metadata="http://geonetwork-opensource.org/xsl/functions/metadata" + xmlns:gn-fn-iso19139="http://geonetwork-opensource.org/xsl/functions/profiles/iso19139" + xmlns:saxon="http://saxon.sf.net/" + version="2.0" + extension-element-prefixes="saxon" + exclude-result-prefixes="#all"> + + + <!-- Evaluate an expression. This is schema dependant in order to properly + set namespaces required for evaluate. + + "The static context for the expression includes all the in-scope namespaces, + types, and functions from the calling stylesheet or query" + http://saxonica.com/documentation9.4-demo/html/extensions/functions/evaluate.html + + A node returned by evaluate will lost its context (ancestors). + --> + + <!-- The following templates usually delegates all to iso19139. --> + <xsl:template name="evaluate-iso19139.che"> + <xsl:param name="base" as="node()"/> + <xsl:param name="in"/> + <!-- <xsl:message>in xml <xsl:copy-of select="$base"></xsl:copy-of></xsl:message> + <xsl:message>search for <xsl:copy-of select="$in"></xsl:copy-of></xsl:message>--> + <xsl:variable name="nodeOrAttribute" + select="saxon:evaluate(concat('$p1', $in), $base)"/> + <xsl:choose> + <xsl:when test="$nodeOrAttribute instance of text()+"> + <xsl:value-of select="$nodeOrAttribute"/> + </xsl:when> + <xsl:when test="$nodeOrAttribute instance of element()+"> + <xsl:copy-of select="$nodeOrAttribute"/> + </xsl:when> + <xsl:when test="$nodeOrAttribute instance of attribute()+"> + <xsl:value-of select="$nodeOrAttribute"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$nodeOrAttribute"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="evaluate-iso19139.che-boolean"> + <xsl:param name="base" as="node()"/> + <xsl:param name="in"/> + + <xsl:value-of select="saxon:evaluate(concat('$p1', $in), $base)"/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/layout/layout.xsl b/iso19139.che/src/main/plugin/iso19139.che/layout/layout.xsl new file mode 100644 index 00000000000..40101f5327d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/layout/layout.xsl @@ -0,0 +1,410 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gn="http://www.fao.org/geonetwork" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gn-fn-metadata="http://geonetwork-opensource.org/xsl/functions/metadata" + xmlns:gn-fn-iso19139="http://geonetwork-opensource.org/xsl/functions/profiles/iso19139" + xmlns:util="java:org.fao.geonet.util.GeocatXslUtil" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:exslt="http://exslt.org/common" + version="2.0" exclude-result-prefixes="#all"> + + + <xsl:include href="utility-tpl.xsl"/> + + <!-- Visit all XML tree recursively --> + <xsl:template mode="mode-iso19139.che" match="*|@*"> + <xsl:param name="schema" select="$schema" required="no"/> + <xsl:param name="labels" select="$labels" required="no"/> + <xsl:param name="overrideLabel" as="xs:string" required="no" select="''"/> + + <xsl:apply-templates mode="mode-iso19139" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="labels" select="$labels"/> + <xsl:with-param name="overrideLabel" select="$overrideLabel"/> + </xsl:apply-templates> + </xsl:template> + + + + <!-- Use iso19139 mode unless something takes priority in that file --> + <xsl:template mode="mode-iso19139.che" match="che:*"> + <xsl:param name="overrideLabel" as="xs:string" required="no" select="''"/> + + <xsl:apply-templates mode="mode-iso19139" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="labels" select="$labels"/> + <xsl:with-param name="overrideLabel" select="$overrideLabel"/> + </xsl:apply-templates> + </xsl:template> + + + + + + <xsl:template mode="mode-iso19139" priority="99999" + match="che:CHE_CI_ResponsibleParty/gn:child[@name = 'individualName']"> + <!-- Do nothing --> + </xsl:template> + + <!-- + Old bbox editor style for geocat providing only an image of the bounding box. + Editing was providing in the subtemplate editor. + + <xsl:template mode="mode-iso19139" match="gmd:geographicElement[gmd:EX_GeographicBoundingBox]| + gmd:geographicElement[gmd:EX_BoundingPolygon]" priority="2000"> + <xsl:param name="schema" select="$schema" required="no"/> + <xsl:param name="labels" select="$labels" required="no"/> + + <xsl:if test="not(gmd:EX_GeographicBoundingBox) or not(../gmd:geographicElement/gmd:EX_BoundingPolygon)"> + + <xsl:variable name="xpath" select="gn-fn-metadata:getXPath(., true())"/> + <xsl:variable name="isoType" select="if (../@gco:isoType) then ../@gco:isoType else ''"/> + <xsl:variable name="regionId" select="''"/> + &lt;!&ndash;GEOCAT-DEPRECATED <xsl:variable name="regionId" select="util:parseRegionIdFromXLink(../../@xlink:href)"/>&ndash;&gt; + + <xsl:call-template name="render-boxed-element"> + <xsl:with-param name="label" + select="gn-fn-metadata:getLabel($schema, name(), $labels, name(..), $isoType, $xpath)/label"/> + <xsl:with-param name="editInfo" select="gn:element"/> + <xsl:with-param name="cls" select="local-name()"/> + <xsl:with-param name="isDisabled" select="'true'"/> + <xsl:with-param name="subTreeSnippet"> + <xsl:variable name="hasXlink" select="@xlink:href"/> + + <xsl:choose> + <xsl:when test="gmd:EX_GeographicBoundingBox"> + <img + src="region.getmap.png?mapsrs=EPSG:21781&amp;width=250&amp;background=settings&amp;geom=Polygon(({*/gmd:westBoundLongitude/gco:Decimal}%20{*/gmd:northBoundLatitude/gco:Decimal},{*/gmd:eastBoundLongitude/gco:Decimal}%20{*/gmd:northBoundLatitude/gco:Decimal},{*/gmd:eastBoundLongitude/gco:Decimal}%20{*/gmd:southBoundLatitude/gco:Decimal},{*/gmd:westBoundLongitude/gco:Decimal}%20{*/gmd:southBoundLatitude/gco:Decimal},{*/gmd:westBoundLongitude/gco:Decimal}%20{*/gmd:northBoundLatitude/gco:Decimal}))&amp;geomsrs=EPSG:4326"/> + </xsl:when> + <xsl:when test="gmd:EX_BoundingPolygon"> + <img class="gn-img-extent" + src="region.getmap.png?mapsrs=EPSG:21781&amp;width=250&amp;background=settings&amp;id={$regionId}"/> + </xsl:when> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + </xsl:template>--> + + <xsl:template mode="mode-iso19139" priority="201" + match="*[gmd:URL|che:PT_FreeURL][$schema = 'iso19139.che']"> + <xsl:param name="labels" select="$labels" required="no"/> + <xsl:param name="overrideLabel" select="''" required="no"/> + + <xsl:variable name="elementName" select="name()"/> + + <xsl:variable name="hasOnlyPTFreeText" + select="count(che:PT_FreeURL) > 0 and count(gmd:URL) = 0"/> + <xsl:variable name="isMultilingualElement" + select="$metadataIsMultilingual and + count($editorConfig/editor/multilingualFields/exclude[ + name = $elementName]) = 0"/> + <xsl:variable name="isMultilingualElementExpanded" + select="count($editorConfig/editor/multilingualFields/expanded[ + name = $elementName]) > 0"/> + + <xsl:variable name="theElement" + select="if ($isMultilingualElement and $hasOnlyPTFreeText) + then che:PT_FreeURL + else gmd:URL"/> + + <xsl:variable name="xpath" + select="gn-fn-metadata:getXPathByRef(gn:element/@ref, $metadata, true())"/> + <xsl:variable name="isoType" + select="if (../@gco:isoType) then ../@gco:isoType else ''"/> + <xsl:variable name="labelConfig" + select="gn-fn-metadata:getLabel($schema, name(), $labels, name(..), $isoType, $xpath)"/> + <xsl:variable name="helper" + select="gn-fn-metadata:getHelper($labelConfig/helper, .)"/> + + <xsl:variable name="attributes"> + + <!-- Create form for all existing attribute (not in gn namespace) + and all non existing attributes not already present for the + current element and its children (eg. @uom in gco:Distance). + A list of exception is defined in form-builder.xsl#render-for-field-for-attribute. --> + <xsl:apply-templates mode="render-for-field-for-attribute" + select="@*| + gn:attribute[not(@name = parent::node()/@*/name())]"> + <xsl:with-param name="ref" + select="gn:element/@ref"/> + <xsl:with-param name="insertRef" + select="$theElement/gn:element/@ref"/> + </xsl:apply-templates> + <xsl:apply-templates mode="render-for-field-for-attribute" + select="*/@*| + */gn:attribute[not(@name = parent::node()/@*/name())]"> + <xsl:with-param name="ref" select="*/gn:element/@ref"/> + <xsl:with-param name="insertRef" select="$theElement/gn:element/@ref"/> + </xsl:apply-templates> + </xsl:variable> + + <xsl:variable name="values"> + <xsl:if test="$isMultilingualElement"> + <xsl:variable name="url" + select="normalize-space(gmd:URL)"/> + <values> + <!-- Or the PT_FreeText element matching the main language + <xsl:if test="gmd:URL"> + <value ref="{$theElement/gn:element/@ref}" + lang="{$metadataLanguage}"> + <xsl:value-of select="gmd:URL"/> + </value> + </xsl:if> --> + + <!-- the existing translation --> + <xsl:for-each select="che:PT_FreeURL/che:URLGroup/che:LocalisedURL"> + <value ref="{gn:element/@ref}" + lang="{substring-after(@locale, '#')}"> + <xsl:value-of select="."/> + </value> + </xsl:for-each> + + <!-- and create field for none translated language --> + <xsl:for-each select="$metadataOtherLanguages/lang"> + <xsl:variable name="currentLanguageId" select="@id"/> + <xsl:variable name="code" select="@code"/> + <xsl:variable name="ptFreeElementDoesNotExist" + select="count($theElement/parent::node()/ + che:PT_FreeURL/che:URLGroup/ + che:LocalisedURL[@locale = concat('#',$currentLanguageId)]) = 0"/> + + + <xsl:choose> + <!-- In case we have a gmd:URL set and a PTFreeUrl not + set for the main language. Inject this value.--> + <xsl:when test="$url != '' and + $code = $metadataLanguage and + $ptFreeElementDoesNotExist"> + <value ref="lang_{@id}_{$theElement/parent::node()/gn:element/@ref}" + lang="{@id}"><xsl:value-of select="$url"/></value> + </xsl:when> + <xsl:when test="$ptFreeElementDoesNotExist"> + <value ref="lang_{@id}_{$theElement/parent::node()/gn:element/@ref}" + lang="{@id}"></value> + </xsl:when> + </xsl:choose> + + </xsl:for-each> + </values> + </xsl:if> + </xsl:variable> + + <xsl:variable name="labelConfig"> + <xsl:choose> + <xsl:when test="$overrideLabel != ''"> + <element> + <label><xsl:value-of select="$overrideLabel"/></label> + </element> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$labelConfig"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:call-template name="render-element"> + <xsl:with-param name="label" + select="$labelConfig/*"/> + <xsl:with-param name="value" + select="if ($isMultilingualElement) + then $values else *"/> + <xsl:with-param name="cls" select="local-name()"/> + <!--<xsl:with-param name="widget"/> + <xsl:with-param name="widgetParams"/>--> + <xsl:with-param name="xpath" select="$xpath"/> + <xsl:with-param name="attributesSnippet" select="$attributes"/> + <xsl:with-param name="type" + select="gn-fn-metadata:getFieldType($editorConfig, name(), + name($theElement), 'xpath_need_to_be_computed_merging_in_progress')"/> + <xsl:with-param name="name" + select="if ($isEditing = true) + then $theElement/gn:element/@ref else ''"/> + <xsl:with-param name="editInfo" select="$theElement/gn:element"/> + <xsl:with-param name="parentEditInfo" select="gn:element"/> + <!-- TODO: Handle conditional helper --> + <xsl:with-param name="listOfValues" select="$helper"/> + <xsl:with-param name="toggleLang" select="$isMultilingualElementExpanded"/> + <xsl:with-param name="forceDisplayAttributes" select="false()"/> + <xsl:with-param name="isFirst" + select="count(preceding-sibling::*[name() = $elementName]) = 0"/> + </xsl:call-template> + </xsl:template> + + + <xsl:template mode="mode-iso19139" match="*[name() = 'gmd:MD_TopicCategoryCode' and $schema = 'iso19139.che']" priority="2000"> + <xsl:param name="schema" select="$schema" required="no"/> + <xsl:param name="codelists" select="$codelists" required="no"/> + <xsl:param name="labels" select="$labels" required="no"/> + + <xsl:variable name="name" select="name(.)"/> + <xsl:variable name="value" select="string(.)"/> + + + <xsl:variable name="list"> + <items> + <xsl:for-each select="gn:element/gn:text"> + <xsl:variable name="choiceValue" select="string(@value)"/> + <xsl:variable name="label" select="$codelists/codelist[@name = $name]/entry[code = $choiceValue]/label"/> + <xsl:if test="$label"> + <item> + <value> + <xsl:if test="contains(@value,'_')"> + <xsl:attribute name="parent"> + <xsl:value-of select="substring-before(@value, '_')"/> + </xsl:attribute> + </xsl:if> + <xsl:value-of select="@value"/> + </value> + <label> + <xsl:value-of select="$label"/> + </label> + </item> + </xsl:if> + </xsl:for-each> + </items> + </xsl:variable> + <xsl:variable name="fieldId" select="concat('gn-field-', gn:element/@ref)"/> + + <xsl:variable name="possible_derivation_count" select="count($list/items/item/value[@parent=$value])" /> + <xsl:variable name="effective_derivation_count" select="count(//gmd:topicCategory[starts-with(gmd:MD_TopicCategoryCode, concat($value, '_'))])" /> + <xsl:variable name="invalidCls" select="if($possible_derivation_count >0 and effective_derivation_count=0) then 'has-error' else ''"/> + <xsl:variable name="unavalaibleLabel" select="$value and $possible_derivation_count=0 and count($list/items/item/value[text() = $value]) = 0"/> + + <xsl:choose> + <xsl:when test="($possible_derivation_count > 0 and $effective_derivation_count > 0) or $unavalaibleLabel"/> + + <xsl:otherwise> + <div class="form-group gn-field {$invalidCls} gn-required" data-gn-field-highlight="" id="gn-el-{gn:element/@ref}"> + <label for="{$fieldId}" class="col-sm-2 control-label"> + <xsl:value-of select="gn-fn-metadata:getLabel($schema, name(), $labels, name(..), '', '')/label"/> + </label> + <div class="col-sm-9 gn-value"> + <select id="{$fieldId}" class="form-control" name="_{gn:element/@ref}" size="1"> + <option name=""/> + + <xsl:for-each select="$list/items/item"> + <xsl:sort select="label"/> + <xsl:variable name="curValue" select="value"/> + <xsl:choose> + <xsl:when test="count($list/items/item/value[@parent=$curValue]) > 0"> + <optgroup> + <xsl:attribute name="label"> + <xsl:value-of select="label"/> + </xsl:attribute> + <xsl:for-each select="$list/items/item[value/@parent=$curValue]"> + <option> + <xsl:if test="value=$value"> + <xsl:attribute name="selected"/> + </xsl:if> + <xsl:attribute name="value"> + <xsl:value-of select="value"/> + </xsl:attribute> + <xsl:value-of select="label"/> + </option> + </xsl:for-each> + </optgroup> + </xsl:when> + <xsl:otherwise> + <xsl:if test="not(value/@parent)"> + <option> + <xsl:if test="value=$value"> + <xsl:attribute name="selected"/> + </xsl:if> + <xsl:attribute name="value"> + <xsl:value-of select="value"/> + </xsl:attribute> + <xsl:value-of select="label"/> + </option> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </select> + </div> + <div class="col-sm-1 gn-control" data-gn-field-highlight=""> + <xsl:call-template name="render-form-field-control-remove"> + <xsl:with-param name="editInfo" select="gn:element"/> + <xsl:with-param name="parentEditInfo" select="../gn:element"/> + </xsl:call-template> + </div> + + </div> + + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + + <!-- Handle codelist element which may have no match + in profile codelist files. In such case, then use + iso19139 codelist files. + --> + <xsl:template mode="mode-iso19139" + priority="30000" + match="*[*/@codeList and + $schema = 'iso19139.che' and + name() != 'gmd:dateType']"> + <xsl:param name="schema" select="$schema" required="no"/> + <xsl:param name="labels" select="$labels" required="no"/> + <xsl:param name="codelists" select="$schemaInfo/codelists" required="no"/> + <xsl:param name="overrideLabel" select="''" required="no"/> + + + <xsl:variable name="xpath" select="gn-fn-metadata:getXPath(.)"/> + <xsl:variable name="isoType" select="if (../@gco:isoType) then ../@gco:isoType else ''"/> + <xsl:variable name="elementName" select="name()"/> + <xsl:variable name="labelConfig"> + <xsl:choose> + <xsl:when test="$overrideLabel != ''"> + <element> + <label><xsl:value-of select="$overrideLabel"/></label> + </element> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="gn-fn-metadata:getLabel($schema, name(), $labels, name(..), '', $xpath)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <!-- check iso19139.che first, then fall back to iso19139 --> + <xsl:variable name="listOfValues" as="node()"> + <xsl:variable name="profileCodeList" + as="node()" + select="gn-fn-metadata:getCodeListValues( + $schema, name(*[@codeListValue]), $codelists, .)"/> + <xsl:choose> + <xsl:when test="count($profileCodeList/*) = 0"> <!-- do iso19139 --> + <xsl:copy-of select="gn-fn-metadata:getCodeListValues( + 'iso19139', name(*[@codeListValue]), $iso19139codelists, .)"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$profileCodeList"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + + <xsl:call-template name="render-element"> + <xsl:with-param name="label" select="$labelConfig/*"/> + <xsl:with-param name="value" select="*/@codeListValue"/> + <xsl:with-param name="cls" select="local-name()"/> + <xsl:with-param name="xpath" select="$xpath"/> + <xsl:with-param name="type" select="gn-fn-iso19139:getCodeListType(name())"/> + <xsl:with-param name="name" + select="if ($isEditing) then concat((*/gn:element/@ref)[1], '_codeListValue') else ''"/> + <xsl:with-param name="editInfo" select="*/gn:element"/> + <xsl:with-param name="parentEditInfo" select="gn:element"/> + <xsl:with-param name="listOfValues" select="$listOfValues"/> + <xsl:with-param name="isFirst" select="count(preceding-sibling::*[name() = $elementName]) = 0"/> + </xsl:call-template> + + </xsl:template> + + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/layout/tpl-brief.xsl b/iso19139.che/src/main/plugin/iso19139.che/layout/tpl-brief.xsl new file mode 100644 index 00000000000..b5d71e33c75 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/layout/tpl-brief.xsl @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0"> + + <xsl:include href="utility-tpl.xsl"/> + <xsl:template name="iso19139.cheBrief"> + <metadata> + <xsl:call-template name="iso19139-brief"/> + </metadata> + </xsl:template> + + <xsl:template name="iso19139.che-brief"> + <xsl:call-template name="iso19139-brief"/> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/layout/utility-tpl-multilingual.xsl b/iso19139.che/src/main/plugin/iso19139.che/layout/utility-tpl-multilingual.xsl new file mode 100644 index 00000000000..fcd642b99f0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/layout/utility-tpl-multilingual.xsl @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" + exclude-result-prefixes="#all"> + + + <xsl:template name="get-iso19139.che-language"> + <xsl:call-template name="get-iso19139-language"/> + </xsl:template> + + <xsl:template name="get-iso19139.che-other-languages"> + <xsl:call-template name="get-iso19139-other-languages"/> + </xsl:template> + + <xsl:template name="get-iso19139.che-other-languages-as-json"> + <xsl:call-template name="get-iso19139-other-languages-as-json"/> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/layout/utility-tpl.xsl b/iso19139.che/src/main/plugin/iso19139.che/layout/utility-tpl.xsl new file mode 100644 index 00000000000..43738a23ea6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/layout/utility-tpl.xsl @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gn-fn-index="http://geonetwork-opensource.org/xsl/functions/index" + version="2.0" + exclude-result-prefixes="#all"> + + <xsl:import href="common/index-utils.xsl"/> + <xsl:include href="utility-tpl-multilingual.xsl"/> + + <xsl:template name="get-iso19139.che-is-service"> + <xsl:value-of + select="count( + $metadata/gmd:identificationInfo/che:CHE_SV_ServiceIdentification| + $metadata/gmd:identificationInfo/srv:SV_ServiceIdentification) > 0"/> + </xsl:template> + + <xsl:template name="get-iso19139.che-title"> + <xsl:value-of select="$metadata/gmd:identificationInfo/*/gmd:citation/*/gmd:title/gco:CharacterString"/> + </xsl:template> + + <xsl:template name="get-iso19139.che-extents-as-json"> + <xsl:call-template name="get-iso19139-extents-as-json"/> + </xsl:template> + + <xsl:template name="get-iso19139.che-online-source-config"> + <xsl:param name="pattern"/> + <xsl:call-template name="get-iso19139-online-source-config"> + <xsl:with-param name="pattern" select="$pattern"/> + </xsl:call-template> + </xsl:template> + + + <xsl:template mode="get-formats-as-json" match="che:CHE_MD_Metadata"> + [ + <xsl:for-each select="gmd:distributionInfo/*/gmd:distributionFormat/*/gmd:name/*/text()">{ + "value": "WWW:DOWNLOAD:<xsl:value-of select="gn-fn-index:json-escape(.)"/>", + "label": "<xsl:value-of select="gn-fn-index:json-escape(.)"/>"} + <xsl:if test="position() != last()">,</xsl:if> + </xsl:for-each> + ] + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/codelists.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/codelists.xml new file mode 100644 index 00000000000..74be9687e5a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/codelists.xml @@ -0,0 +1,867 @@ +<?xml version="1.0" encoding="UTF-8"?> +<codelists xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="../../../../../../../schema-labels.xsd" + xmlns:gmd="http://www.isotc211.org/2005/gmd"> + <codelist name="gmd:MD_TopicCategoryCode" alias="topicCategory"> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>imageryBaseMapsEarthCover</code> + <label>A Base Maps, Land Cover, Aerial and Satellite Imagery</label> + <description>Base maps. Examples: land cover, topographic maps, imagery, unclassified + images, annotations</description> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_BaseMaps</code> + <label>A1 Base Maps, Landscape Models</label> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_EarthCover</code> + <label>A2 Land Cover, Land Use</label> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_Imagery</code> + <label>A3 Aerial and Satellite Imagery</label> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>location</code> + <label>B Location, Reference Systems</label> + <description>Positional information and services. Examples: addresses, geodetic networks, + control points, postal zones and services, place names</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>elevation</code> + <label>C Elevation</label> + <description>Height above or below sea level. Examples: altitude, bathymetry, digital + elevation models, slope, derived products</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>boundaries</code> + <label>D Political and Administrative Boundaries</label> + <description>Legal land descriptions. Examples: political and administrative + boundaries</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>planningCadastre</code> + <label>E Spatial Planning, Cadastre</label> + <description>Information used for appropriate actions for future use of the land. Examples: + land use maps, zoning maps, cadastral surveys, land ownership</description> + </entry> + <entry> + <code>planningCadastre_Planning</code> + <label>E1 Spatial Planning, Spatial Development</label> + </entry> + <entry> + <code>planningCadastre_Cadastre</code> + <label>E2 Cadastre, Land Registry</label> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>geoscientificInformation</code> + <label>F Geology, Soils, Natural Hazards</label> + <description>Information pertaining to earth sciences. Examples: geophysical features and + processes, geology, minerals, sciences dealing with the composition, structure and + origin of the earth s rocks, risks of earthquakes, volcanic activity, landslides, + gravity information, soils, permafrost, hydrogeology, erosion</description> + </entry> + <entry> + <code>geoscientificInformation_Geology</code> + <label>F1 Geology</label> + </entry> + <entry> + <code>geoscientificInformation_Soils</code> + <label>F2 Soils</label> + </entry> + <entry> + <code>geoscientificInformation_NaturalHazards</code> + <label>F3 Natural Hazards</label> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>biota</code> + <label>G Forest, Flora, Fauna</label> + <description>Flora and/or fauna in natural environment. Examples: wildlife, vegetation, + biological sciences, ecology, wilderness, sealife, wetlands, habitat</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>oceans</code> + <label>H Oceans</label> + <description>Features and characteristics of salt water bodies (excluding inland waters). + Examples: tides, tidal waves, coastal information, reefs</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>inlandWaters</code> + <label>I Inland Waters</label> + <description>Inland water features, drainage systems and their characteristics. Examples: + rivers and glaciers, salt lakes, water utilization plans, dams, currents, floods, water + quality, hydrographic charts</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>environment</code> + <label>L Environmental and Nature Protection</label> + <description>Environmental resources, protection and conservation. Examples: environmental + pollution, waste storage and treatment, environmental impact assessment, monitoring + environmental risk, nature reserves, landscape</description> + </entry> + <entry> + <code>environment_EnvironmentalProtection</code> + <label>L1 Environmental protection, Noise</label> + </entry> + <entry> + <code>environment_NatureProtection</code> + <label>L2 Nature and Landscape protection</label> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>climatologyMeteorologyAtmosphere</code> + <label>K Atmosphere, Climatology</label> + <description>Processes and phenomena of the atmosphere. Examples: cloud cover, weather, + climate, atmospheric conditions, climate change, precipitation</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>society</code> + <label>M Population, Society, Culture</label> + <description>Characteristics of society and cultures. Examples: settlements, anthropology, + archaeology, education, traditional beliefs, manners and customs, demographic data, + recreational areas and activities, social impact assessments, crime and justice, census + information</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>health</code> + <label>N Health</label> + <description>Health, health services, human ecology, and safety. Examples: disease and + illness, factors affecting health, hygiene, substance abuse, mental and physical health, + health services</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>structure</code> + <label>O Buildings, Infrastructure, Facilities</label> + <description>Man-made construction. Examples: buildings, museums, churches, factories, + housing, monuments, shops, towers</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>transportation</code> + <label>P Transportation</label> + <description>Means and aids for conveying persons and/or goods. Examples: roads, + airports/airstrips, shipping routes, tunnels, nautical charts, vehicle or vessel + location, aeronautical charts, railways</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>utilitiesCommunication</code> + <label>Q Utilities, Supply, Disposal, Communication</label> + <description>Energy, water and waste systems and communications infrastructure and + services. Examples: hydroelectricity, geothermal, solar and nuclear sources of energy, + water purification and distribution, sewage collection and disposal, electricity and gas + distribution, data communication, telecommunication, radio, communication + networks</description> + </entry> + <entry> + <code>utilitiesCommunication_Energy</code> + <label>Q1 Energy</label> + <description></description> + </entry> + <entry> + <code>utilitiesCommunication_Utilities</code> + <label>Q2 Water and Waste Systems</label> + <description></description> + </entry> + <entry> + <code>utilitiesCommunication_Communication</code> + <label>Q3 Communication</label> + <description></description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>intelligenceMilitary</code> + <label>R Military, Security</label> + <description>Military bases, structures, activities. Examples: barracks, training grounds, + military transportation, information collection</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>farming</code> + <label>S Agriculture</label> + <description>Rearing of animals and/or cultivation of plants. Examples: agriculture, + irrigation, aquaculture, plantations, herding, pests and diseases affecting crops and + livestock</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>economy</code> + <label>T Economical Activities</label> + <description>Economic activities, conditions and employment. Examples: production, labour, + revenue, commerce, industry, tourism and ecotourism, forestry, fisheries, commercial or + subsistence hunting, exploration and exploitation of resources such as minerals, oil and + gas</description> + </entry> + </codelist> + <codelist name="che:Country"> + <entry> + <code>CH</code> + <label>Switzerland</label> + <description/> + </entry> + <entry> + <code>LI</code> + <label>Liechtenstein</label> + <description/> + </entry> + <entry> + <code>DE</code> + <label>Germany</label> + <description/> + </entry> + <entry> + <code>FR</code> + <label>France</label> + <description/> + </entry> + <entry> + <code>IT</code> + <label>Italy</label> + <description/> + </entry> + <entry> + <code>AT</code> + <label>Italy</label> + <description/> + </entry> + </codelist> + <codelist name="gmd:Country"> + <entry> + <code>CH</code> + <label>Switzerland</label> + <description/> + </entry> + <entry> + <code>LI</code> + <label>Liechtenstein</label> + <description/> + </entry> + <entry> + <code>DE</code> + <label>Germany</label> + <description/> + </entry> + <entry> + <code>FR</code> + <label>France</label> + <description/> + </entry> + <entry> + <code>IT</code> + <label>Italy</label> + <description/> + </entry> + <entry> + <code>AT</code> + <label>Austria</label> + <description/> + </entry> + </codelist> + <codelist name="gmd:LanguageCode"> + <entry> + <code>ger</code> + <label>german</label> + <description/> + </entry> + <entry> + <code>fre</code> + <label>french</label> + <description/> + </entry> + <entry> + <code>ita</code> + <label>italian</label> + <description/> + </entry> + <entry> + <code>eng</code> + <label>english</label> + <description/> + </entry> + <entry> + <code>roh</code> + <label>romansh</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_CI_LegislationCode"> + <entry> + <code>cantonalLaw</code> + <label>Official law on cantonal level</label> + <description/> + </entry> + <entry> + <code>nationalLaw</code> + <label>Official law on national level</label> + <description/> + </entry> + <entry> + <code>nationalDecree</code> + <label>Other legal text on national level</label> + <description/> + </entry> + <entry> + <code>internationalObligation</code> + <label>Convention, contract or other agreement on international level</label> + <description/> + </entry> + <entry> + <code>otherLegalText</code> + <label>Any other legal text</label> + <description/> + </entry> + <entry> + <code>bylawsPrivatLaw</code> + <label>Bylaws under privat law</label> + <description/> + </entry> + <entry> + <code>bylawsPublicLaw</code> + <label>Bylaws under public law</label> + <description/> + </entry> + <entry> + <code>communalLaw</code> + <label>Official law on communal level</label> + <description/> + </entry> + </codelist> + <codelist name="che:CI_NumberTypeCode"> + <entry> + <code>mainNumber</code> + <label>Main Number</label> + <description/> + </entry> + <entry> + <code>directNumber</code> + <label>Direct Number</label> + <description/> + </entry> + <entry> + <code>mobile</code> + <label>Mobile Number</label> + <description/> + </entry> + <entry> + <code>facsimile</code> + <label>Facsimile Number</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_MD_FilmTypeCode"> + <entry> + <code>BW</code> + <label>Black/White</label> + <description/> + </entry> + <entry> + <code>C</code> + <label>Colour</label> + <description/> + </entry> + <entry> + <code>CIR</code> + <label>Colour infrared</label> + <description/> + </entry> + <entry> + <code>IR</code> + <label>Infrared</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_MD_modelTypeCode"> + <entry> + <code>FeatureDescription</code> + <label>Feature description</label> + <description/> + </entry> + <entry> + <code>UMLdiagram</code> + <label>UML diagram</label> + <description/> + </entry> + <entry> + <code>EntityRelationshipModel</code> + <label>Entity-Relationship diagram</label> + <description/> + </entry> + <entry> + <code>INTERLIS1</code> + <label>INTERLIS 1</label> + <description/> + </entry> + <entry> + <code>INTERLIS2</code> + <label>INTERLIS 2</label> + <description/> + </entry> + <entry> + <code>GML</code> + <label>GML</label> + <description/> + </entry> + <entry> + <code>Other</code> + <label>Other</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_CI_projectTypeCode"> + <entry> + <code>research</code> + <label>Experimental research</label> + <description/> + </entry> + <entry> + <code>monitoringProgram</code> + <label>Monitoring program</label> + <description/> + </entry> + <entry> + <code>workProgram</code> + <label>Work program</label> + <description/> + </entry> + <entry> + <code>inventory</code> + <label>Inventory / survey</label> + <description/> + </entry> + <entry> + <code>planning</code> + <label>Planning</label> + <description/> + </entry> + </codelist> + <codelist name="che:basicGeodataIDTypeCode"> + <entry> + <code>communal</code> + <label>Communal</label> + </entry> + <entry> + <code>cantonal</code> + <label>Cantonal</label> + </entry> + <entry> + <code>federal</code> + <label>Federal</label> + <description>Set of geodata ID at federal level (Collection of geodata on federal law)</description> + </entry> + <entry> + <code>other</code> + <label>Other</label> + </entry> + </codelist> + <codelist name="che:CHE_SV_inspireServiceTypeCode"> + <entry> + <code>DiscoveryService</code> + <label>Discovery Service</label> + </entry> + <entry> + <code>ViewService</code> + <label>View Service</label> + </entry> + <entry> + <code>DownloadService</code> + <label>Download Service</label> + </entry> + <entry> + <code>TransformationService</code> + <label>Transformation Service</label> + </entry> + <entry> + <code>InvokeSpatialDataService</code> + <label>Invoke Spatial Data Service</label> + </entry> + <entry> + <code>OtherServices</code> + <label>Other Services</label> + </entry> + </codelist> + <codelist name="gmd:DS_InitiativeTypeCode" alias="initiativeType"/> + <codelist name="gmd:DS_AssociationTypeCode" alias="associationType"> + <entry> + <code>largerWorkCitation</code> + <label>Larger work citation</label> + <description>Reference to a master dataset of which this one is a part</description> + </entry> + <entry> + <code>isTemporalStatOf</code> + <label>Temporal state</label> + <description>Reference from one dataset in a timeseries to another in the same timeseries</description> + </entry> + <entry> + <code>isDescriptionOf</code> + <label>Description</label> + <description>Reference from one dataset which describes the referenced data</description> + </entry> + </codelist> + <codelist name="che:MD_geodataTypeCode"> + <entry> + <code>basicGeodata</code> + <label>Basic Geodata</label> + </entry> + <entry> + <code>oereb</code> + <label>oereb</label> + </entry> + <entry> + <code>oerebRegister</code> + <label>oereb Register</label> + </entry> + <entry> + <code>openGovernmentData</code> + <label>Open Government Data</label> + </entry> + <entry> + <code>openData</code> + <label>Open Data</label> + </entry> + <entry> + <code>referenceGeodata</code> + <label>Reference Geodata</label> + </entry> + </codelist> + <codelist name="gmd:MD_ScopeCode"> + <entry> + <code>attribute</code> + <label>Attribute</label> + <description>Information applies to the attribute class</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>attributeType</code> + <label>Attribute type</label> + <description>Information applies to the characteristic of a feature</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionHardware</code> + <label>Collection hardware</label> + <description>Information applies to the collection hardware class</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionSession</code> + <label>Collection session</label> + <description>Information applies to the collection session</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dataset</code> + <label>Dataset</label> + <description>Information applies to the dataset</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>series</code> + <label>Series</label> + <description>Information applies to the series</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>nonGeographicDataset</code> + <label>Non geographic dataset</label> + <description>Information applies to non-geographic data</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dimensionGroup</code> + <label>Dimension group</label> + <description>Information applies to a dimension group</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>feature</code> + <label>Feature</label> + <description>Information applies to a feature</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>featureType</code> + <label>Feature type</label> + <description>Information applies to a feature type</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>propertyType</code> + <label>Property type</label> + <description>Information applies to a property type</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>fieldSession</code> + <label>Field session</label> + <description>Information applies to a field session</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>software</code> + <label>Software</label> + <description>Information applies to a computer program or routine</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>service</code> + <label>Service</label> + <description>Information applies to a capability which a service provider entity makes + available to a service user entity through a set of interfaces that define a behaviour, + such as a use case + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>model</code> + <label>Model</label> + <description>Information applies to a copy or imitation of an existing or hypothetical + object + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>tile</code> + <label>Tile</label> + <description>Information applies to a tile, a spatial subset of geographic + data + </description> + </entry> + <entry> + <code>project</code> + <label>Project</label> + <description></description> + </entry> + <entry> + <code>stationSite</code> + <label>Station site</label> + <description></description> + </entry> + <entry> + <code>publication</code> + <label>Publication</label> + <description>Publication</description> + </entry> + + <!-- Used for facet translation only and not displayed in editor --> + <entry hideInEditMode="true"> + <code>map</code> + <label>Map</label> + <description></description> + </entry> + <entry hideInEditMode="true"> + <code>staticMap</code> + <label>Static map</label> + <description></description> + </entry> + <entry hideInEditMode="true"> + <code>interactiveMap</code> + <label>Interactive map</label> + <description></description> + </entry> + <entry hideInEditMode="true"> + <code>featureCatalog</code> + <label>Feature catalog</label> + <description></description> + </entry> + <!--GEOCAT--> + <entry> + <code>basicgeodata</code> + <label>Basic Geodata</label> + <description></description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>basicgeodata-federal</code> + <label>Basic Geodata - federal</label> + <description></description> + </entry> + <entry> + <code>basicgeodata-federal</code> + <label>Basic Geodata - federal</label> + <description></description> + </entry> + <entry> + <code>basicgeodata-communal</code> + <label>Basic Geodata - communal</label> + <description></description> + </entry> + <entry> + <code>service-OGC:WFS</code> + <label>WFS Services</label> + <description></description> + </entry> + <entry> + <code>service-OGC:WMS</code> + <label>WMS Services</label> + <description></description> + </entry> + </codelist> + <!-- Geocat override: asked on behalf of SB-422 --> + <codelist name="gmd:CI_RoleCode"> + <entry> + <code>resourceProvider</code> + <label>Resource provider</label> + <description>Party that supplies the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>custodian</code> + <label>Custodian</label> + <description>Party that accepts accountability and + responsability for the data and ensures + appropriate care + and maintenance of the resource + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>owner</code> + <label>Owner</label> + <description>Party that owns the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>user</code> + <label>User</label> + <description>Party who uses the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>distributor</code> + <label>Distributor</label> + <description>Party who distributes the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>originator</code> + <label>Originator</label> + <description>Party who created the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>pointOfContact</code> + <label>Point of contact</label> + <description>Party who can be contacted for acquiring + knowledge about or acquisition of the + resource + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>principalInvestigator</code> + <label>Principal investigator</label> + <description>Key party responsible for gathering information + and conducting + research + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>processor</code> + <label>Processor</label> + <description>Party wha has processed the data in a manner + such that the resource has been + modified + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>publisher</code> + <label>Publisher</label> + <description>Party who published the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>author</code> + <label>Author</label> + <description>Party who authored the resource</description> + </entry> + <entry> + <code>editor</code> + <label>Editor</label> + <description></description> + </entry> + <entry> + <code>partner</code> + <label>Partner</label> + <description></description> + </entry> + <entry> + <code>specialistAuthority</code> + <label>Specialist authority</label> + <description>Specialist authority</description> + </entry> + </codelist> + <codelist name="che:CHE_AppraisalOfArchivalValueCode"> + <entry> + <code>A</code> + <label>of archival value</label> + <description>of archival value</description> + </entry> + <entry> + <code>N</code> + <label>no archival value</label> + <description>no archival value</description> + </entry> + <entry> + <code>S</code> + <label>sampling / selection</label> + <description>sampling / selection</description> + </entry> + </codelist> + <codelist name="che:CHE_ReasonForArchivingValueCode"> + <entry> + <code>legalRelevance</code> + <label>Legal relevance</label> + <description>Legal relevance</description> + </entry> + <entry> + <code>guaranteeOfLegalCertainty</code> + <label>Guarantee of legal certainty</label> + <description>Guarantee of legal certainty</description> + </entry> + <entry> + <code>evidenceOfBusinessPractice</code> + <label>Evidence of business practice</label> + <description>Evidence of business practice</description> + </entry> + <entry> + <code>benefitsForResearch</code> + <label>Benefits for research</label> + <description>Benefits for research</description> + </entry> + <entry> + <code>contemporaryInterest</code> + <label>Contemporary interest</label> + <description>Contemporary interest</description> + </entry> + <entry> + <code>sensitivity</code> + <label>Sensitivity</label> + <description>Sensitivity</description> + </entry> + <entry> + <code>developmentsProgression</code> + <label>Developments / Progression</label> + <description>Developments / Progression</description> + </entry> + <entry> + <code>definingPowers</code> + <label>Defining powers</label> + <description>Defining powers</description> + </entry> + </codelist> +</codelists> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/labels.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/labels.xml new file mode 100644 index 00000000000..518e4261d64 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/labels.xml @@ -0,0 +1,651 @@ +<?xml version="1.0" encoding="UTF-8"?> +<labels xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:che="http://www.geocat.ch/2008/che"> + <!-- + <element name="" context=""> + <label></label> + <description></description> + <help></help> + <helper> + <option value=""></option> + </helper> + </element> + --> + <element name="che:individualFirstName" id="521.0"> + <label>First Name</label> + <description>Given name</description> + </element> + <element name="che:individualLastName" id="522.0"> + <label>Last Name</label> + <description>Surname</description> + </element> + <element name="che:organisationAcronym" id="501.0"> + <label>Organisation Acronym</label> + <description>acronym or abriviation of the organisation</description> + </element> + <element name="che:parentResponsibleParty" id="518.0"> + <label>Parent Responsible Party</label> + <description>description of address hierarchies (i.e. adress of head office and division or + departement) + </description> + </element> + <element name="che:CHE_CI_ResponsibleParty" id="374"> + <label>Responsible party</label> + <description>identification of, and means of communication with, person(s) and organisations + associated with the dataset + </description> + </element> + <element name="che:streetName" id="529.0"> + <label>Streetname</label> + <description>Name of the street of the location</description> + </element> + <element name="che:streetNumber" id="530.0"> + <label>Streetnumber</label> + <description>Street number of the location</description> + </element> + <element name="che:addressLine" id="531.0"> + <label>Address line</label> + <description>Add on of the address (i.e. c/o)</description> + </element> + <element name="che:postBox" id="532.0"> + <label>Post box</label> + <description>Post box number</description> + </element> + <element name="che:CHE_CI_Address" id="380.0"> + <label>Address</label> + <description>location of the responsible individual or organisation</description> + </element> + <element name="che:directNumber"> + <label>Direct number</label> + <description/> + </element> + <element name="che:mobile"> + <label>Mobile</label> + <description>Cellphone</description> + </element> + <element name="che:CHE_CI_Telephone" id="407.0"> + <label>Telephone</label> + <description>telephone numbers for contacting the responsible individual or + organisation + </description> + </element> + <element name="che:country" id="508.0"> + <label>Country</label> + <description>Country in which the law was issued</description> + <condition>Mandatory</condition> + <helper> + <option value="CH">Switzerland (CH)</option> + <option value="DE">Germany (DE)</option> + <option value="LI">Lichtenstein (LI)</option> + <option value="FR">France (FR)</option> + <option value="IT">Italy (IT)</option> + <option value="AT">Austria (AT)</option> + </helper> + </element> + <element name="che:language" id="509.0" context="che:CHE_MD_Legislation"> + <label>Language</label> + <description>Language in which the law is written</description> + <condition>Mandatory</condition> + </element> + <element name="che:legislationType" id="510.0"> + <label>Legislation Type</label> + <description>Type of legislation</description> + </element> + <element name="che:internalReference" id="511.0"> + <label>Internal Reference</label> + <description>Internal Reference (article, paragraph etc.)</description> + </element> + <element name="che:title" id="507.0"> + <label>Title</label> + <description>name by which the cited resource is known</description> + </element> + <element name="che:CHE_MD_Legislation" id="506"> + <label>Legislation</label> + <description>Information about legal regulations</description> + </element> + <element name="che:CHE_CI_LegislationCode"> + <label>Code</label> + <description/> + </element> + <element name="che:legislationConstraints" id="582.0"> + <label>Legislation constraints</label> + <description>Information about the legal base of a constraint</description> + </element> + <element name="che:CHE_MD_LegalConstraints" id="69.0"> + <label>Legal Constraints</label> + <description>restrictions and legal prerequisites for accessing and using the resource or + metadata + </description> + </element> + <element name="che:legislationInformation" id="505"> + <label>Legislation Information</label> + <description>provides information about legal regulations related to a resource</description> + </element> + <element name="che:CHE_MD_Metadata" id="1.0"> + <label>Metadata</label> + <description>root entity which defines metadata about a resource or resources</description> + </element> + <element name="che:revisionScope" id="569"> + <label>Revision Scope</label> + <description>scope of data to which revision is applied</description> + </element> + <element name="che:dateOfLastUpdate" id="570.0"> + <label>Date of last update</label> + </element> + <element name="che:revisionNote" id="571.0"> + <label>Revision Note</label> + <description>Note of the last update</description> + </element> + <element name="che:revisionScopeDescription" id="572.0"> + <label>Revision scope description</label> + <description>additional information about the range or extent of the resource</description> + </element> + <element name="che:revisionExtent" id="587.0"> + <label>Revision Extent</label> + <description>Additional desrciption of the extent of a revision</description> + </element> + <element name="che:revisionContact" id="588.0"> + <label>Revision Contact</label> + <description>Responsible Party for the revision</description> + </element> + <element name="che:CHE_MD_Revision" id="568.0"> + <label>Revision information</label> + <description>information about the scope and date of the last update</description> + </element> + <element name="che:CHE_CI_projectTypeCode"/> + <element name="che:projectType" id="512.0"> + <label>Project type</label> + <description>Type of Initiative or project</description> + </element> + <element name="che:revision" id="567.0"> + <label>Revision</label> + <description>provides information about the last update and the scope of this update</description> + </element> + <element name="che:CHE_MD_DataIdentification" id="36"> + <label>Data Identification</label> + <description>information required to identify a dataset</description> + </element> + <element name="che:CHE_MD_MaintenanceInformation" id="142.0"> + <label>Maintenance Information</label> + <description>information about the scope and frequency of updating</description> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_Association"> + <label>Name</label> + <description>Name of the association</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_Association"> + <label>Description</label> + <description>Description of the association</description> + </element> + <element name="che:attribute" id="586.0"> + <label>Attribute</label> + <description>Attribute of a Class</description> + </element> + <element name="che:baseClass" id="563.0"> + <label>Base class</label> + <description>Reference to the base class</description> + <help>Reference to the base class (inheritence)</help> + </element> + <element name="che:subClass" id="562.0"> + <label>Sub class</label> + <description>Reference to the sub class</description> + <help>Reference to the sub class (inheritence)</help> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_AbstractClass"> + <label>Name</label> + <description>Name of the abstract class</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_AbstractClass"> + <label>Description</label> + <description>Description of the abstract class</description> + </element> + <!--<element name="che:attribute" id="560.0" context="che:CHE_MD_AbstractClass"> + <label>Attribute</label> + </element> + <element name="che:baseClass" id="563.0" context="che:CHE_MD_AbstractClass"> + <label>Base class</label> + </element> + <element name="che:subClass" id="562.0" context="che:CHE_MD_AbstractClass"> + <label>Sub class</label> + </element>--> + <element name="che:name" id="560.0" context="che:CHE_MD_Class"> + <label>Name</label> + <description>Name of the class</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_Class"> + <label>Description</label> + <description>Description of the class</description> + </element> + <!--<element name="che:attribute" id="560.0" context="che:CHE_MD_Class"> + <label>Attribute</label> + </element> + <element name="che:baseClass" id="563.0" context="che:CHE_MD_Class"> + <label>Base class</label> + </element> + <element name="che:subClass" id="562.0" context="che:CHE_MD_Class"> + <label>Sub class</label> + </element>--> + <element name="che:CHE_MD_AbstractClass" id="559.0"> + <label>Abstract class</label> + <description>Abstract class as parent for MD_Association and MD_Class.</description> + </element> + <element name="che:CHE_MD_Class" id="564.0"> + <label>Class</label> + <description>Desription of a feature catalogue class</description> + </element> + <element name="che:CHE_MD_Association" id="565.0"> + <label>Association</label> + <description>Description of the concrete relation between classes</description> + </element> + <element name="che:role" id="566.0"> + <label>Role</label> + <description>Reference to the ends (roles) of a concrete association</description> + </element> + <element name="che:name" id="537.0" context="che:CHE_MD_CodeDomain"> + <label>Name of the code domain</label> + <description>Name of the code domain (i.e. Lkoord, CharacterString).</description> + </element> + <element name="che:description" id="541.0" context="che:CHE_MD_CodeDomain"> + <label>Description</label> + <description>Description of the code domain</description> + </element> + <!--<element name="che:type"> + <label>Type</label> + </element>--> + <element name="che:type" id="540.0"> + <label>Type</label> + <description>Datatype of the code domain</description> + </element> + <element name="che:subDomain" id="538.0"> + <label>Subdomain</label> + <description>Description of the subdomain</description> + </element> + <element name="che:baseDomain" id="539.0"> + <label>Basedomain</label> + <description>Description of the basedomain</description> + </element> + <element name="che:CHE_MD_CodeDomain" id="534.0"> + <label>Code domain</label> + <description>Named code domain of a feature catalogue</description> + </element> + <element name="che:CHE_MD_Type" id="542.0"> + <label>Type</label> + <description>Data type</description> + </element> + <element name="che:value" id="544.0"> + <label>Value</label> + <description>Data type value</description> + </element> + <!--<element name="che:CHE_MD_Type"> + <label>Type</label> + <description>Data type</description> + </element>--> + <element name="che:name" id="551.0" context="che:attribute"> + <label>Name</label> + <description>Attribute name</description> + </element> + <element name="che:description" id="552.0" context="che:attribute"> + <label>Description</label> + <description>Description name</description> + </element> + <element name="che:namedType" id="553.0"> + <label>Named Type</label> + <description>Reference to a code domain description</description> + </element> + <element name="che:anonymousType" id="554.0"> + <label>Anonymous Type</label> + <description>Code domain</description> + </element> + <element name="che:CHE_MD_Attribute" id="550.0"> + <label>Attribute</label> + <description>Attributes used in code domains, classes or associations</description> + </element> + <element name="che:name" context="che:CHE_MD_Role" id="556.0"> + <label>Name</label> + <description>Role name</description> + </element> + <element name="che:description" context="che:CHE_MD_Role" id="557.0"> + <label>Description</label> + <description>Role description</description> + </element> + <element name="che:toClass" context="che:CHE_MD_Role" id="558.0"> + <label>to Class</label> + <description>pointer to the class to which this role belongs</description> + </element> + <element name="che:CHE_MD_Role" id="555.0"> + <label>Role</label> + <description>Description of the end of an association</description> + </element> + <element name="che:name" id="546.0" context="che:CHE_MD_CodeValue"> + <label>Name</label> + <description>Value name</description> + </element> + <element name="che:code" id="547.0" context="che:CHE_MD_CodeValue"> + <label>Code</label> + <description>Value code (i.e. numeric)</description> + </element> + <element name="che:description" id="549.0" context="che:CHE_MD_CodeValue"> + <label>Value description</label> + <description>Description of the value</description> + </element> + <element name="che:subValue" id="548.0" context="che:CHE_MD_CodeValue"> + <label>Sub value</label> + <description>Sub value of the code value</description> + </element> + <element name="che:CHE_MD_CodeValue" id="545.0"> + <label>Value</label> + <description>Value</description> + </element> + <element name="che:dataModel" id="533.0"> + <label>Data Model</label> + <description>Reference to the data model of the dataset</description> + </element> + <element name="che:class" context="che:CHE_MD_FeatureCatalogueDescription" id="535.0"> + <label>Class</label> + <description>Feature classes</description> + </element> + <element name="che:domain" context="che:CHE_MD_FeatureCatalogueDescription" id="536.0"> + <label>Code Domain</label> + <description>Named code domain of a feature catalogue</description> + </element> + <element name="che:modelType" context="che:CHE_MD_FeatureCatalogueDescription"> + <label>Model type</label> + <description>select from Codelist</description> + </element> + <!-- wrong element <element name="che:portrayalCatalogueURL" context="che:CHE_MD_FeatureCatalogueDescription"> + <label>portrayalCatalogueURL</label> + </element>--> + <element name="che:CHE_MD_FeatureCatalogueDescription" id="233.0"> + <label>Feature Catalogue Description</label> + <description>information identifying the feature catalogue or the conceptual schema</description> + </element> + <element name="che:filmType" id="577.0"> + <label>Film type</label> + <description>Type of the film</description> + </element> + <element name="che:focalDistance" id="578"> + <label>Focal distance</label> + <description/> + </element> + <element name="che:CHE_MD_CoverageDescription" id="239.0"> + <label>Coverage Description</label> + <description>information about the content of a grid data cell</description> + </element> + <!-- codelist <element name="che:CHE_MD_FilmTypeCode"> + <label>Film type</label> + <description>Type of the film</description> + </element>--> + <element name="che:URLGroup" id="609.0"> + <label>URL group</label> + <description>information about the metadata elements required to support multi-lingual free URL + fields + </description> + </element> + <element name="che:PT_FreeURL" id="608"> + <label>Free URL</label> + <description>description of a multi-language free URL metadata element</description> + </element> + <element name="che:LocalisedURL"> + <label>Localised URL</label> + <description/> + </element> + <element name="che:language"> + <label>Language</label> + <description>language(s) used within the catalogue</description> + </element> + <element name="gmd:language" context="che:CHE_MD_Metadata" id="39.0"> + <label>Metadata language</label> + <description>language used for documenting metadata</description> + <condition>conditional</condition> + </element> + <element name="gmd:language" context="che:CHE_MD_DataIdentification" id="39.0"> + <label>Language</label> + <description>language(s) used within the dataset</description> + <help>language(s) used within the dataset</help> + <_condition>Mandatory</_condition> + </element> + <element name="gmd:characterSet" id="40.0" context="che:CHE_MD_DataIdentification"> + <label>Character set</label> + <description>full name of the character coding standard used for the dataset</description> + <_condition>Conditional / ISO 10646-1 not used?</_condition> + </element> + <element name="che:inspireServiceType"> + <label>INSPIRE Service type</label> + <description>As defined by the Metadata Implementation Rules f</description> + </element> + + <!-- exist with id --> + <!-- <element name="che:revision"> + <label>revision</label> + <description></description> + <help></help> + </element> + + <element name="che:revisionExtent"> + <label>revisionExtent</label> + <description></description> + <help></help> + </element> + <element name="che:revisionContact"> + <label>revisionContact</label> + <description></description> + <help></help> + </element> --> + + <!-- codelist: <element name="che:CHE_MD_modelTypeCode"> + <label>Model type code</label> + <description>Select from codelist</description> + <help/> + </element> --> + <element name="che:dateOfMonitoringState"> + <label>Date of monitoring state</label> + <description>Date of monitoring for basic geodata</description> + <help>Please fill in only in context of resource maintenance and NOT within metadata maintenance</help> + </element> + <element name="che:historyConcept"> + <label>History concept</label> + <description>Information about a history concept for Data and Metadata</description> + <help>According to the Federal law on Geoinformation a concept for data and metadata history has to be established + </help> + </element> + <element name="che:archiveConcept"> + <label>Archive concept</label> + <description>Information about an archive concept for Data and Metadata</description> + <help>according to the Federal law on Geoinformation a concept for data and metadata archives has to be + established + </help> + </element> + <element name="che:historyConceptCitation"> + <label>History concept title and date</label> + <description/> + <help/> + </element> + <element name="che:historyConceptURL"> + <label>History concept URL</label> + <description>If the history concept is available online, you can add an URL</description> + <help/> + </element> + <element name="che:CHE_MD_HistoryConcept"> + <label>History concept</label> + <description>Information about a history concept for Data and Metadata</description> + <help>according to the Federal law on Geoinformation a concept for data and metadata history has to be established + </help> + </element> + <element name="che:archiveConceptCitation"> + <label>Archive concept title and date</label> + <description/> + <help/> + </element> + <element name="che:archiveConceptURL"> + <label>Archive concept URL</label> + <description>if the archive concept is available online, you can add an URL</description> + <help/> + </element> + <element name="che:CHE_MD_ArchiveConcept"> + <label>Archive concept</label> + <description>Information about an archive concept for Data and Metadata</description> + <help>according to the Federal law on Geoinformation a concept for data and metadata archives has to be + established + </help> + </element> + <!--<element name="che:CHE_MD_MaintenanceInformation"> + <label>Maintenance information</label> + <description>information about the scope and frequency of updating</description> + <help/> + </element> + <element name="che:CHE_MD_LegalConstraints"> + <label>Legal Constraints</label> + <description>restrictions and legal prerequisites for accessing and using the resource or metadata</description> + <help/> + </element>--> + <element name="che:portrayalCatalogueURL"> + <label>Portrayal catalogue URL</label> + <description/> + </element> + <element name="che:CHE_MD_PortrayalCatalogueReference" id="268.0"> + <label>Portrayal catalogue reference</label> + <description>information identifying the portrayal catalogue used</description> + <help/> + </element> + <element name="che:basicGeodataID"> + <label>Basic geodata identifier</label> + <description>Identifier of the basic geodataset according the Annex I of the "Geoinformationsverordnung" or the + "collection of basic geodata". + </description> + <help>Please contact the geocat.ch-Team if you have any question</help> + </element> + <element name="che:basicGeodataIDType"> + <label>Basic geodata identifier type</label> + <description>indication if it is a federal, cantonal, communal or other basic geodataset</description> + <help>Please contact the geocat.ch-Team if you have any question</help> + </element> + <element name="che:CHE_SV_ServiceIdentification" id="40.0"> + <label>Service identification</label> + <description>description of services according the Swiss GM03_2+ profile of ISO 19119</description> + </element> + <!--<element name="che:legislationConstraints"> + <label>Legislation constraints</label> + <description>information about constraints based on (swiss) legislation</description> + <help>You can add here a reference to a law or any other legal text</help> + </element>--> + <element name="che:CHE_MD_ImageDescription" id="243.0"> + <label>Image description</label> + <description>information about an image's suitability for use</description> + </element> + + + <element name="gmd:distance" id="61.0"> + <label>Distance</label> + <description>ground sample distance. INTERLIS values for distance is defined as decimal between 0.00 and + 9999999999.99. + </description> + <condition>Provide a distance if no equivalent Scale is documented</condition> + <helper> + <option value="0.10">10 cm</option> + <option value="0.25">25 cm</option> + <option value="0.50">50 cm</option> + <option value="1">1 m</option> + <option value="30">30 m</option> + <option value="100">100 m</option> + </helper> + </element> + <element name="gmd:Country" id="508.0"> + <label>Country</label> + <description>Country in which the law was issued</description> + </element> + <element name="gmd:MD_RestrictionCode" context="gmd:useConstraints"> + <label>Restriction Code</label> + <description>Code indicating the type of restriction placed on useage of the data.</description> + </element> + <element name="srv:SV_CouplingType"> + <label>Coupling Type</label> + <description>Indicates the tightness of the coupling between the service and the related resource.</description> + </element> + <element name="che:CHE_SV_inspireServiceTypeCode"> + <label>Inspire Service Type</label> + <description></description> + </element> + <element name="che:basicGeodataIDTypeCode"> + <label>Basic Geodata Type Code</label> + <description>Basic Geodata ID Type Code</description> + </element> + <element name="che:MD_geodataTypeCode"> + <label>Geodata Type Code</label> + </element> + <element name="che:geodataType"> + <label>Geodata Type</label> + <description>Characterization of a Dataset</description> + <help>Classification of the dataset in a larger group of similar datasets with the help of the enclosed codelist + </help> + </element> + <!-- SB-422: AAP --> + <element name="che:appraisal"> + <label>Appraisal AAP</label> + <description>Appraisal AAP</description> + </element> + <element name="che:durationOfConservation"> + <label>Duration of conservation</label> + <description>Duration of conservation</description> + </element> + <element name="che:commentOnDurationOfConservation"> + <label>Comment on duration of conservation</label> + <description>Comment on duration of conservation</description> + </element> + <element name="che:appraisalOfArchivalValue"> + <label>Appraisal of archival value</label> + <description>Appraisal of archival value</description> + </element> + <element name="che:CHE_AppraisalOfArchivalValueCode"> + <label>Appraisal of archival value</label> + <description>Appraisal of archival value</description> + </element> + <element name="che:reasonForArchivingValue"> + <label>Reason for archiving value</label> + <description>Reason for archiving value</description> + </element> + <element name="che:CHE_ReasonForArchivingValueCode"> + <label>Reason for archiving value</label> + <description>Reason for archiving value</description> + </element>gnEd + <element name="che:commentOnArchivalValue"> + <label>Comment on archival value</label> + <description>Comment on archival value</description> + </element> + <element name="gmd:protocol" id="398.0" alias="protocol"> + <label>Protocol</label> + <description>Connection protocol to be used</description> + <helper sort="true"> + <option value="WWW:LINK">Web address (URL)</option> + <option value="WWW:DOWNLOAD-URL">File for download (URL)</option> + <option value="OGC:WMS">OGC-WMS Web Map Service</option> + <option value="OGC:WFS">OGC-WFS Web Feature Service</option> + <option value="OGC:WCS">OGC-WCS Web Coverage Service</option> + <option value="OGC:WMTS">OGC-WMTS Web Map Tile Service</option> + <option value="OGC:WMC">OGC-WMC Web Map Context</option> + <option value="ESRI:REST">ArcGIS REST Services</option> + <option value="CHTOPO:specialised-geoportal">Specialised Geoportal</option> + <option value="MAP:Preview">map.geo.admin.ch preview</option> + <option value="OPENDATA:SWISS">Permalink opendata.swiss</option> + <option value="WWW:DOWNLOAD-APP">Download-APP (geoshop)</option> + <option value="Linked:data">Linked:data </option> + </helper> + </element> + + <element name="gmd:extent"> + <label>Extent</label> + <description>Extent information including the bounding polygon, vertical, and temporal + extent of the dataset + </description> + <_condition>Conditional / if hierarchyLevel equals "dataset"? Either + extent.geographicElement.EX_GeographicBoundingBox or + extent.geographicElement.EX_GeographicDescription is required + </_condition> + <class>gn-required</class> + </element> + + <element name="gco:Date"> + <label>date</label> + <description>date</description> + </element> + +</labels> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-aap.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-aap.xml new file mode 100644 index 00000000000..085c3a7bbd3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-aap.xml @@ -0,0 +1,28 @@ +<strings> + <schematron.title>AAP</schematron.title> + + <!--<--> + <mandatoryFields>Check mandatory fields</mandatoryFields> + + <appraisalSectionRequired>Appraisal section has to be defined when AAP keyword is used.</appraisalSectionRequired> + <notAppraisalSectionRequired>AAP keyword is not used or appraisal section is defined.</notAppraisalSectionRequired> + + <durationOfConservationRequired>durationOfConservation is required (integer)</durationOfConservationRequired> + <durationOfConservationReport>duration of conservation:</durationOfConservationReport> + + <appraisalOfArchivalValueRequired>appraisalOfArchivalValue is required (codelist)</appraisalOfArchivalValueRequired> + <appraisalOfArchivalValueReport>appraisal of archival value:</appraisalOfArchivalValueReport> + + <!--<--> + <reasonForArchivalValuePresence>Test presence or absence of reasonForArchivalValue field</reasonForArchivalValuePresence> + + <reasonForArchivalValueAbsent>Field is absent</reasonForArchivalValueAbsent> + <notReasonForArchivalValueAbsent>Field is present or optional</notReasonForArchivalValueAbsent> + + <!--<--> + <officalAndAAP>Official and AAP</officalAndAAP> + + <cantSetManyTopicsWhenOfficalAndAAP>Only one topic category is allowed when using keywords "AAP" and "official geodata.</cantSetManyTopicsWhenOfficalAndAAP> + <notCantSetManyTopicsWhenOfficalAndAAP>Either this metadata is not both official and AAP, or it does not relate to many topics.</notCantSetManyTopicsWhenOfficalAndAAP> + +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-bgdi.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-bgdi.xml new file mode 100644 index 00000000000..1d689015f41 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-bgdi.xml @@ -0,0 +1,32 @@ +<strings> + <schematron.title>BGDI</schematron.title> + <translatedTitle>Title translations</translatedTitle> + <deTitleRequired>Data Identification / Citation / title is required and requires a german translation + </deTitleRequired> + <deTitleReport>German title:</deTitleReport> + <frTitleRequired>Data Identification / Citation / title is required and requires a french translation + </frTitleRequired> + <frTitleReport>French title:</frTitleReport> + + <translatedAltTitle>Alternate Title translations</translatedAltTitle> + <deAltTitleRequired>Data Identification / Citation / alternate title is required and requires a german translation + </deAltTitleRequired> + <deAltTitleReport>German alternate title:</deAltTitleReport> + <deAltTitleMaxLength>German alternate title is too long, max length is 35</deAltTitleMaxLength> + <deAltTitleMaxLengthReport>German alternate title length:</deAltTitleMaxLengthReport> + <frAltTitleRequired>Data Identification / Citation / alternate title is required and requires a french translation + </frAltTitleRequired> + <frAltTitleReport>French alternate title:</frAltTitleReport> + <frAltTitleMaxLength>French alternate title is too long, max length is 35</frAltTitleMaxLength> + <frAltTitleMaxLengthReport>French alternate title length:</frAltTitleMaxLengthReport> + + <translatedAbstract>Abstract translations</translatedAbstract> + <deAbstractRequired>Data Identification / abstract is required and requires a german translation</deAbstractRequired> + <deAbstractReport>German abstract:</deAbstractReport> + <frAbstractRequired>Data Identification / abstract is required and requires a french translation</frAbstractRequired> + <frAbstractReport>French abstract:</frAbstractReport> + + <pointOfContact>Point of Contact</pointOfContact> + <pointOfContactRequired>Identification / Point of Contact is required</pointOfContactRequired> + <pointOfContactReport>Point of contact is present</pointOfContactReport> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-geobasisdatensatz.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-geobasisdatensatz.xml new file mode 100644 index 00000000000..9e8e89c4ce6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-geobasisdatensatz.xml @@ -0,0 +1,18 @@ +<strings> + <schematron.title>Geobasisdatensatz</schematron.title> + <collectivetitle>Collective Title</collectivetitle> + <collectiveTitleRequired>The Data Identification / Citation / Collective Title element is required + </collectiveTitleRequired> + <collectiveTitleReport>Collective Title:</collectiveTitleReport> + + <basicGeoDataInfo>Basic Geodata</basicGeoDataInfo> + <geodataIdRequired>Data Identification / basicGeodataID is required</geodataIdRequired> + <geodataIdReport>Basic Geographic ID:</geodataIdReport> + + <geodataTypeRequired>Data Identification / basicGeodataType is required</geodataTypeRequired> + <geodataTypeReport>Basic Geographic Type:</geodataTypeReport> + + <legislativeInformation>Legislative Information</legislativeInformation> + <legislativeInformationRequired>Metadata / Legislative Information is required</legislativeInformationRequired> + <legislativeInformationReport>Metadata / Legislative Information is present</legislativeInformationReport> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-geonetwork.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-geonetwork.xml new file mode 100644 index 00000000000..0d1b45aa8c9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-geonetwork.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <schematron.title>GeoNetwork Recommendations</schematron.title> + <M500>[Language] - Metadata language is not defined and other language are declared and Main metadata language MUST + NOT be defined in other language section. + </M500> + <alert.M500> + <div>Check that the main metadata language is not defined and other languages (ie. + gmd:locale) elements exist (see Advanced view / metadata section). + <br/> + <span class="validationReportSuggestion">Suggestions: Define main metadata language or + remove other language definition. + </span> + </div> + </alert.M500> + <report.M500>Main metadata language is:</report.M500> + <alert.M501> + <div>Declare the main metadata language only once (see Advanced view / metadata section). + <br/> + <span class="validationReportSuggestion">Suggestions: remove it from the other language + section. + </span> + </div> + </alert.M501> + <report.M501>No duplicate languages found.</report.M501> + + <emptyLang>[Language] - Must not have empty translations</emptyLang> + <alert.emptyURL> + <div>Check that you don't have any empty URL (che:URLGroup or che:LocalisedURL)</div> + </alert.emptyURL> + <report.emptyUrl>URLs must not have empty content</report.emptyUrl> + <alert.emptyText> + <div>Check that you don't have any empty text (gmd:textGroup or che:LocalisedCharacterString)</div> + </alert.emptyText> + <report.emptyText>Localised text must not have empty content</report.emptyText> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-iso-che.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-iso-che.xml new file mode 100644 index 00000000000..e6361c8d13b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-iso-che.xml @@ -0,0 +1,82 @@ +<strings> + <schematron.title>GM03 implementing rules</schematron.title> + <M100>Basic geodata</M100> + <alert.M100> + <div> + <h2>Basic geodata type is mandatory if basic geodata identifier is defined.</h2> + </div> + </alert.M100> + <report.M100> + <div> + <h2>Basic geodata type is mandatory if basic geodata identifier is defined.</h2> + </div> + </report.M100> + <M101>Model type</M101> + <alert.M101> + <div> + <h2>Model type is mandatory</h2> + </div> + </alert.M101> + <report.M101> + <div> + <h2>Model type is mandatory</h2> + </div> + </report.M101> + <M102>Codelist values</M102> + <alert.M102> + <div> + <h2>Select one value from the codelist or remove the element.</h2> + </div> + </alert.M102> + <report.M102> + <div> + <h2>Select one value from the codelist or remove the element.</h2> + </div> + </report.M102> + <M103>Citation titles</M103> + <alert.M103> + <div> + <h2>Citation titles are mandatory, give a title or remove the specific citation-Class.</h2> + </div> + </alert.M103> + <report.M103> + <div> + <h2>Citation titles are mandatory, give a title or remove the specific citation-Class.</h2> + </div> + </report.M103> + <M104>Topic Categories</M104> + <alert.M104> + <div> + <h2>environment, planningCadastre, geoscientificInformation, imageryBaseMapsEarthCover topic category is not a + legal topic category for iso19139.che select a sub-category + </h2> + </div> + </alert.M104> + <report.M104> + <div> + <h2>environment, planningCadastre, geoscientificInformation, imageryBaseMapsEarthCover topic category is not a + legal topic category for iso19139.che select a sub-category + </h2> + </div> + </report.M104> + <M105>Contact country code</M105> + <alert.M105> + <div> + <h2>Country code is not valid for some contact select CH, LI, IT, AT, DE, FR value</h2> + </div> + </alert.M105> + <report.M105> + <div> + <h2>Country code is not valid for some contact select CH, LI, IT, AT, DE, FR value</h2> + </div> + </report.M105> + <hierarchyLevelName>Dataset Hierarchy Level Name</hierarchyLevelName> + <alert.needsHierarchyLevelName> + <div>A hierarchyLevelName is required because hierarchyLevel is not dataset (and is present in metadata). The + solution is to add a hierarchyLevelName, remove hierarchyLevel element, or change hierarchyLevel to dataset + </div> + </alert.needsHierarchyLevelName> + <report.needsHierarchyLevelName> + <div>hierarchyLevelName is defined or hierarchyLevel is dataset or hierarchyLevel is not present in metadata</div> + </report.needsHierarchyLevelName> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-iso.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-iso.xml new file mode 100644 index 00000000000..89c32fb46d1 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-iso.xml @@ -0,0 +1,215 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <schematron.title>ISO 19115/19119 rules</schematron.title> + <M6>CharacterString must have content or its parent must have a valid nilReason attribute.</M6> + <M7>CRS attributes constraints</M7> + <M8>A name is required for contact</M8> + <M9>OtherConstraints required if otherRestrictions</M9> + <M10>Units required for values</M10> + <M11>Description required if no sourceExtent</M11> + <M12>SourceExtent required if no description</M12> + <M13>Content mandatory for dataset or series</M13> + <M14>Lineage</M14> + <M15>Process step required if no statement or source</M15> + <M16>Dataset must have report or lineage</M16> + <M17>LevelDescription needed unless dataset or series</M17> + <M18>Units required for density values</M18> + <M19>Distribution format required</M19> + <M20>Extent element required</M20> + <M21>Dataset must have extent</M21> + <M22>Dataset or series must have a topic category</M22> + <M23>Either aggregateDataSetName or aggregateDataSetIdentifier must be documented</M23> + <M24>Language indication</M24> + <M25>Character set indication</M25> + <M26>Detail required unless simple term</M26> + <M27>Condition</M27> + <M28>DomainCode</M28> + <M29>ShortName</M29> + <M30>Check point description required if available</M30> + <M61>HierarchyLevelName must be documented if hierarchyLevel does not contain "dataset"</M61> + + + <alert.M6> + <div>Topic category is mandatory if MD_Metadata.hierarchyLevel equal 'dataset' or 'series' or doesn't exist.</div> + </alert.M6> + <report.M6>Topic category is:</report.M6> + <alert.M6.characterString> + <div>CharacterString must have content or parent's nilReason attribute must be legitimate.</div> + </alert.M6.characterString> + <alert.M6.directPosition> + <div>The presence of a dimension attribute implies the presence of the srsName attribute.</div> + </alert.M6.directPosition> + <alert.M7.axisAndSrs> + <div>The presence of an axisLabels attribute implies the presence of the srsName attribute.</div> + </alert.M7.axisAndSrs> + <alert.M7.uomAndSrs> + <div>The presence of an uomLabels attribute implies the presence of the srsName attribute.</div> + </alert.M7.uomAndSrs> + <alert.M7.uomAndAxis> + <div>The presence of an uomLabels attribute implies the presence of the axisLabels attribute and vice versa.</div> + </alert.M7.uomAndAxis> + <alert.M8> + <div>You must specify one or more of individualName, organisationName or positionName. + <span class="validationReportSuggestion">Suggestions: Check contact information for metadata contact or cited + responsable party in identification section for example. + </span> + </div> + </alert.M8> + <report.M8>One or more of individualName, organisationName or positionName found in contact:</report.M8> + <alert.M9.access> + <div>Other constraints should be defined if access constraints is set to "Other restrictions". + <br/> + otherConstraints: documented if accessConstraints = 'otherRestrictions'. + <br/> + <span class="validationReportSuggestion">Suggestions: Add an other constraints element and explain the reason. + </span> + </div> + </alert.M9.access> + <report.M9> + <div>Other restrictions set to:</div> + </report.M9> + <alert.M9.use> + <div>Other constraints should be defined if use constraints is set to "Other restrictions". + <br/> + otherConstraints: documented if useConstraints = 'otherRestrictions'. + <br/> + <span class="validationReportSuggestion">Suggestions: Add an other constraints element and explain the reason. + </span> + </div> + </alert.M9.use> + <alert.M9> + <div>'units' is mandatory if 'maxValue' or 'minValue' are provided.</div> + </alert.M9> + <report.M9.units>Units:</report.M9.units> + <report.M9.max>Max value:</report.M9.max> + <report.M9.min>Min value:</report.M9.min> + <alert.M11> + <div>'description' is mandatory if 'sourceExtent' is not documented. + <span class="validationReportSuggestion">Suggestions: Add a description or/and a source extent.</span> + </div> + </alert.M11> + <report.M11> + <div>Description and sourceExtent are documented for lineage.</div> + </report.M11> + <alert.M13> + <div>Statement is mandatory if no source or process step defined for dataset or a serie. + <br/> + If(count(source) + count(processStep) =0) and (DQ_DataQuality.scope.level = 'dataset' or 'series') then statement + is mandatory. + </div> + </alert.M13> + <report.M13> + <div>Statement is documented.</div> + </report.M13> + <alert.M14> + <div>'source' role is mandatory if LI_Lineage.statement and 'processStep' role are not documented. + <br/> + <span class="validationReportSuggestion">Suggestions: Define lineage statement or process step role.</span> + </div> + </alert.M14> + <report.M14>Source required if no statement or processStep.</report.M14> + <alert.M15> + <div>'processStep' role is mandatory if LI_Lineage.statement and 'source' role are not documented. + <br/> + <span class="validationReportSuggestion">Suggestions: Define lineage statement or source role.</span> + </div> + </alert.M15> + <report.M15>Process step required if no statement or source.</report.M15> + <alert.M16> + <div>'report' or 'lineage' role is mandatory if scope.DQ_Scope.level = 'dataset'.</div> + </alert.M16> + <report.M16> + <div>Report or lineage is defined.</div> + </report.M16> + <alert.M17> + <div>'levelDescription' is mandatory if 'level' notEqual 'dataset' or 'series'.</div> + </alert.M17> + <report.M17>Level description set to:</report.M17> + <alert.M18> + <div>'densityUnits' is mandatory if 'density' is provided.</div> + </alert.M18> + <report.M18>Density is:</report.M18> + <alert.M19> + <div>One distributor format is needed. + <br/> + count (distributionFormat + distributor/MD_Distributor/distributorFormat) &gt; 0. + </div> + </alert.M19> + <report.M19>distributor format(s) found.</report.M19> + <alert.M20> + <div>In extent section, one of the following elements need to be defined : description, geographicElement, + temporalElement, verticalElement. + <br/> + count(description + geographicElement + temporalElement + verticalElement) &gt; 0. + </div> + </alert.M20> + <report.M20>One description, geographicElement, + temporalElement, verticalElement found. + </report.M20> + <alert.M21> + <div>For a dataset, an extent has to be defined. + <br/> + MD_Metadata.hierarchyLevel = 'dataset' (i.e. the default value of this property on the parent) implies count + (extent.geographicElement.EX_GeographicBoundingBox) + count (extent.geographicElement.EX_GeographicDescription) + &gt;=1. + </div> + </alert.M21> + <report.M21>Extent defined for dataset.</report.M21> + <alert.M23> + <div>Either 'aggregateDataSetName' or 'aggregateDataSetIdentifier' must be documented.</div> + </alert.M23> + <report.M23>aggregateDataSetName or aggregateDataSetIdentifier documented.</report.M23> + <alert.M24> + <div>language not present.</div> + </alert.M24> + <alert.M26.obligation> + <div>if 'dataType' notEqual 'codelist', 'enumeration' or 'codelistElement' then 'obligation' is mandatory.</div> + </alert.M26.obligation> + <alert.M26.maximumOccurence> + <div>if 'dataType' notEqual 'codelist', 'enumeration' or 'codelistElement' then 'maximumOccurence' is mandatory. + </div> + </alert.M26.maximumOccurence> + <alert.M26.domainValue> + <div>if 'dataType' notEqual 'codelist', 'enumeration' or 'codelistElement' then 'domainValue' is mandatory.</div> + </alert.M26.domainValue> + <alert.M27> + <div>if 'obligation' = 'conditional' then 'condition' is mandatory.</div> + </alert.M27> + <report.M27>Condition defined for conditional element.</report.M27> + <alert.M28> + <div>if 'dataType' = 'codelistElement' then 'domainCode' is mandatory.</div> + </alert.M28> + <report.M28>Domain code documented for code list element.</report.M28> + <alert.M29> + <div>if 'dataType' not equal to 'codelistElement' then 'shortName' is mandatory.</div> + </alert.M29> + <report.M29>Short name documented for none code list element.</report.M29> + <alert.M30> + <div>'checkPointDescription' is mandatory if 'checkPointAvailability' = 1 or true.</div> + </alert.M30> + <report.M30>Check point description documented.</report.M30> + <alert.M61> + <div>hierarchyLevelName must be documented if hierarchyLevel does not contain 'dataset'</div> + </alert.M61> + <report.M61>Hierarchy level name is:</report.M61> + + <alert.requiredAbstract>Abstract is a required element</alert.requiredAbstract> + <report.requiredAbstract>Abstract found</report.requiredAbstract> + <alert.requiredTitle>Title is a required element</alert.requiredTitle> + <report.requiredTitle>Title found</report.requiredTitle> + <alert.requiredDate>Date is a required element</alert.requiredDate> + <report.requiredDate>Date found</report.requiredDate> + <alert.requiredDateType>DateType is a required element</alert.requiredDateType> + <report.requiredDateType>DateType is found</report.requiredDateType> + <alert.requiredContact>Contact is a required Element</alert.requiredContact> + <report.requiredContact>Contact found</report.requiredContact> + <alert.requiredLanguage>Language is a required element</alert.requiredLanguage> + <report.requiredLanguage>Language found</report.requiredLanguage> + <alert.requiredLanguage>Language is a required element</alert.requiredLanguage> + <report.requiredLanguage>Language found</report.requiredLanguage> + <alert.requiredCitation>Citation is a required element</alert.requiredCitation> + <report.requiredCitation>Citation found</report.requiredCitation> + + <requiredElements>Required Elements</requiredElements> + <requireCitation>Citation</requireCitation> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-url-check.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-url-check.xml new file mode 100644 index 00000000000..b849c3383f6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/schematron-rules-url-check.xml @@ -0,0 +1,7 @@ +<strings> + <schematron.title>URL Validation</schematron.title> + <invalidURLCheck>Online Resource Link Check</invalidURLCheck> + <alert.invalidURL> + <div>Url is invalid, a 404 or some other error:</div> + </alert.invalidURL> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/eng/strings.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/strings.xml new file mode 100644 index 00000000000..3c637188a00 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/eng/strings.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <understandResource>Information about the dataset</understandResource> + <relatedResources>Related services and linked data</relatedResources> + <techInfo>Technical information</techInfo> + <contactInfo>Contact information</contactInfo> + <temporalRef>Temporal information</temporalRef> + <constraintInfo>legal constraints</constraintInfo> + + <!-- New strings added for the AngularJS editor --> + <!-- View and tabs --> + <advanced>Full</advanced> + <default>Simple</default> + <simple>Simple</simple> + <inspire>INSPIRE</inspire> + <bgdi>BGDI</bgdi> + <resource>Resource</resource> + <xml>XML</xml> + <metadata>Metadata</metadata> + <identificationInfo>Identification</identificationInfo> + <distributionInfo>Distribution</distributionInfo> + <dataQualityInfo>Quality</dataQualityInfo> + <spatialRepresentationInfo>Spatial rep.</spatialRepresentationInfo> + <referenceSystemInfo>Ref. system</referenceSystemInfo> + <contentInfo>Content</contentInfo> + <portrayalCatalogueInfo>Portrayal</portrayalCatalogueInfo> + <metadataConstraints>Md. constraints</metadataConstraints> + <metadataMaintenance>Md. maintenance</metadataMaintenance> + <applicationSchemaInfo>Schema info</applicationSchemaInfo> + <metadataExtensionInfo>Ext. Info</metadataExtensionInfo> + <legislationInformation>Legislation info</legislationInformation> + <rsIdentifier>Projection code</rsIdentifier> + <spatialResolution>Scale (min or max)</spatialResolution> + <geometricObjectType>Geometry type</geometricObjectType> + + <!-- XSD error translation --> + <invalidElement>Invalid element. Invalid content was found starting with element:</invalidElement> + <onElementOf>One of the following elements</onElementOf> + <isExpected>is expected.</isExpected> + <isNotComplete>is not complete.</isNotComplete> + <elementLocated>Parent element is</elementLocated> + <missingElement>Missing element. The content of element:</missingElement> + <invalidValue>Invalid or missing value.</invalidValue> + <notValidFor>is not a valid value for </notValidFor> + <xsdErrorIs>XSD error is:</xsdErrorIs> + <inElement>in element</inElement> + <enum1>Value</enum1> + <enum2>is not valid for the field</enum2> + <enum3>List of values is :</enum3> + +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/codelists.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/codelists.xml new file mode 100644 index 00000000000..97678f59bcb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/codelists.xml @@ -0,0 +1,846 @@ +<?xml version="1.0" encoding="UTF-8"?> +<codelists xmlns:gmd="http://www.isotc211.org/2005/gmd"> + <!-- + <codelist name="gmd:CI_DateTypeCode"> + <entry><code></code><label></label><description></description></entry> + </codelist>--> + <codelist name="gmd:MD_TopicCategoryCode" alias="topicCategory"> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>imageryBaseMapsEarthCover</code> + <label>A Cartes de référence, couverture du sol, images aériennes</label> + <description>Carte de référence. Exemples : occupation des terres, imagerie aérienne et satellite, cartes thématiques, cartes topographiques</description> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_BaseMaps</code> + <label>A1 Cartes de référence, modèles du territoire</label> + <description/> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_EarthCover</code> + <label>A2 Couverture et utilisation du sol</label> + <description/> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_Imagery</code> + <label>A3 Images aériennes et satellitaires</label> + <description/> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>location</code> + <label>B Localisation, systèmes de référence</label> + <description>Exemples : zones postales, adresses, points de contrôle, réseau géodésique</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>elevation</code> + <label>C Altimétrie</label> + <description>Hauteurs au dessous et dessus du niveau de la mer. Exemples : altitude, bathymétrie, MNT, pentes et calculs dérivés de l’altitude</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>boundaries</code> + <label>D Limites politiques et administratives</label> + <description>Exemples : limites de pays, de provinces, de départements, de communes</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>planningCadastre</code> + <label>E Développement territorial, cadastre foncier</label> + <description>Exemples : carte d’utilisation des terres, plan d’occupation des sols, planification pour la prévention des risques</description> + </entry> + <entry> + <code>planningCadastre_Planning</code> + <label>E1 Développement territorial</label> + <description/> + </entry> + <entry> + <code>planningCadastre_Cadastre</code> + <label>E2 Cadastre foncier</label> + <description/> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>geoscientificInformation</code> + <label>F Géologie, sols, dangers naturels</label> + <description>Informations relatives aux sciences de la terre. Exemples : composants et processus géophysiques, géologie, minéralogie, tectonique, risque sismique</description> + </entry> + <entry> + <code>geoscientificInformation_Geology</code> + <label>F1 Géologie</label> + <description/> + </entry> + <entry> + <code>geoscientificInformation_Soils</code> + <label>F2 Sols</label> + <description/> + </entry> + <entry> + <code>geoscientificInformation_NaturalHazards</code> + <label>F3 Dangers naturels</label> + <description/> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>biota</code> + <label>G Forêt, flore, faune</label> + <description>Flore et faune dans un écosystème naturel. Exemples : habitat, écologie, faune sauvage, faune aquatique, sciences biologiques, zones humides, végétation, biodiversité</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>oceans</code> + <label>H Océans</label> + <description>Composants et caractéristiques du milieu maritime. Exemples : littoral, récifs, marée, etc.</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>inlandWaters</code> + <label>I Hydrographie</label> + <description>Exemples : fleuves, rivières, glaciers, lacs salés, systèmes hydrographiques, barrages, débits, qualité de l’eau</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>climatologyMeteorologyAtmosphere</code> + <label>K Atmosphère, climatologie</label> + <description>Processus et phénomènes atmosphériques. Exemples : climat, météorologie, conditions atmosphériques, changements climatiques, couverture nuageuse</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>environment</code> + <label>L Protection de l'environnement et de la nature</label> + <description>Ressources naturelles, protection, conservation des ressources naturelles. Exemples : pollution, traitement et stockage des déchets, suivi de l’environnement, gestion du risque, réserves naturelles, paysage</description> + </entry> + <entry> + <code>environment_EnvironmentalProtection</code> + <label>L1 Protection de l'environnement, bruit</label> + <description/> + </entry> + <entry> + <code>environment_NatureProtection</code> + <label>L2 Protection de la nature et du paysage</label> + <description>Protection de la nature et du paysage</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>society</code> + <label>M Population, Société, culture</label> + <description>Caractéristiques des sociétés et des cultures. Exemples :lois, anthropologie, éducation, données démographiques, archéologie, suivi des systèmes sociaux, croyances, us et coutumes, crimes et justices</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>health</code> + <label>N Santé</label> + <description>Santé, services de santé, épidémiologie. Exemples : maladies et épidémie, facteurs affectant la santé, santé mentale et physique, services de santé</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>structure</code> + <label>O Edifices, infrastructures, ouvrages</label> + <description>Aménagements urbains. Exemples : musée, église, usines, maisons, monuments, boutiques, immeubles</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>transportation</code> + <label>P Transport</label> + <description>Moyens de transports des personnes et des biens. Exemples : routes, aéroports, tunnels, viaducs, ponts, chemin de fer</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>utilitiesCommunication</code> + <label>Q Approvisionnement, élimination, communication</label> + <description>Systèmes de distribution de gestion ou de stockage de l’énergie, de l’eau, des déchets. Infrastructures et services de communication. Exemples : source d’énergie solaire, hydroélectrique, nucléaire, épuration et distribution des eaux, réseau de distribution électrique, de gaz, réseau de télécommunication, radio.</description> + </entry> + <entry> + <code>utilitiesCommunication_Energy</code> + <label>Q1 Energie</label> + <description>Energie</description> + </entry> + <entry> + <code>utilitiesCommunication_Utilities</code> + <label>Q2 Systèmes des eaux et des déchets</label> + <description></description> + </entry> + <entry> + <code>utilitiesCommunication_Communication</code> + <label>Q3 Communication</label> + <description></description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>intelligenceMilitary</code> + <label>R Armée, sécurité</label> + <description>Bases militaires et infrastructures de sécurité</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>farming</code> + <label>S Agriculture</label> + <description>Elevage et/ou cultures. Exemples : agriculture, irrigation, aquaculture, plantations</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>economy</code> + <label>T Activités économiques</label> + <description>Activités économiques. Exemples : production, travail, revenu, commerce, industrie, tourisme et éco-tourisme, foresterie, pêche, chasse, exploration et exploitation des ressources minières, pétrole, gaz naturel</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + </codelist> + <codelist name="gmd:Country" alias="country"> + <entry> + <code>CH</code> + <label>Suisse</label> + <description/> + </entry> + <entry> + <code>LI</code> + <label>Liechtenstein</label> + <description/> + </entry> + <entry> + <code>DE</code> + <label>Allemagne</label> + <description/> + </entry> + <entry> + <code>FR</code> + <label>France</label> + <description/> + </entry> + <entry> + <code>IT</code> + <label>Italie</label> + <description/> + </entry> + <entry> + <code>AT</code> + <label>Autriche</label> + <description/> + </entry> + </codelist> + <codelist name="gmd:LanguageCode" alias="language"> + <entry> + <code>ger</code> + <label>allemand</label> + <description/> + </entry> + <entry> + <code>fre</code> + <label>français</label> + <description/> + </entry> + <entry> + <code>ita</code> + <label>italien</label> + <description/> + </entry> + <entry> + <code>eng</code> + <label>anglais</label> + <description/> + </entry> + <entry> + <code>roh</code> + <label>romanche</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_CI_LegislationCode" alias="legislation"> + <entry> + <code>cantonalLaw</code> + <label>Loi cantonale</label> + <description/> + </entry> + <entry> + <code>nationalLaw</code> + <label>Loi nationale</label> + <description/> + </entry> + <entry> + <code>nationalDecree</code> + <label>Ordonnance nationale</label> + <description/> + </entry> + <entry> + <code>internationalObligation</code> + <label>Obligation internationale</label> + <description/> + </entry> + <entry> + <code>otherLegalText</code> + <label>Autre texte législatif</label> + <description/> + </entry> + <entry> + <code>bylawsPrivatLaw</code> + <label>Statuts de droit privé</label> + <description/> + </entry> + <entry> + <code>bylawsPublicLaw</code> + <label>Statuts de droit public</label> + <description/> + </entry> + <entry> + <code>communalLaw</code> + <label>Loi communale</label> + <description/> + </entry> + </codelist> + <codelist name="che:CI_NumberTypeCode" alias="numberType"> + <entry> + <code>mainNumber</code> + <label>Numéro principal</label> + <description/> + </entry> + <entry> + <code>directNumber</code> + <label>Numéro direct</label> + <description/> + </entry> + <entry> + <code>mobile</code> + <label>Numéro portable</label> + <description/> + </entry> + <entry> + <code>facsimile</code> + <label>Numéro Fax</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_MD_FilmTypeCode" alias="filmType"> + <entry> + <code>BW</code> + <label>Noir et blanc</label> + <description/> + </entry> + <entry> + <code>C</code> + <label>Couleur</label> + <description/> + </entry> + <entry> + <code>CIR</code> + <label>Infrarouge couleur</label> + <description/> + </entry> + <entry> + <code>IR</code> + <label>Infrarouge</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_CI_projectTypeCode" alias="projectType"> + <entry> + <code>research</code> + <label>Recherche</label> + <description/> + </entry> + <entry> + <code>monitoringProgram</code> + <label>Programme de surveillance</label> + <description/> + </entry> + <entry> + <code>workProgram</code> + <label>Programme de travail</label> + <description/> + </entry> + <entry> + <code>inventory</code> + <label>Inventaire</label> + <description/> + </entry> + <entry> + <code>planning</code> + <label>Planification</label> + <description/> + </entry> + </codelist> + <codelist name="che:basicGeodataIDTypeCode" alias="basicGeodataIDType"> + <entry> + <code>communal</code> + <label>Communal</label> + </entry> + <entry> + <code>cantonal</code> + <label>Cantonal</label> + </entry> + <entry> + <code>federal</code> + <label>Fédéral</label> + <description>Identifiant du jeu de géodonnées de base au niveau fédéral (cf. Recueil des jeux de géodonnées de + base de droit fédéral) + </description> + </entry> + <entry> + <code>other</code> + <label>Autre</label> + </entry> + </codelist> + <codelist name="che:CHE_MD_modelTypeCode" alias="modelType"> + <entry> + <code>FeatureDescription</code> + <label>Description des objets</label> + <description/> + </entry> + <entry> + <code>UMLdiagram</code> + <label>Diagramme UML</label> + <description/> + </entry> + <entry> + <code>EntityRelationshipModel</code> + <label>Diagramme ER</label> + <description>Diagramme Entité-Relation</description> + </entry> + <entry> + <code>INTERLIS1</code> + <label>INTERLIS 1</label> + <description/> + </entry> + <entry> + <code>INTERLIS2</code> + <label>INTERLIS 2</label> + <description/> + </entry> + <entry> + <code>GML</code> + <label>GML</label> + <description/> + </entry> + <entry> + <code>Other</code> + <label>Autre</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_SV_inspireServiceTypeCode"> + <entry> + <code>DiscoveryService</code> + <label>Service de recherche</label> + <description>Services permettant de rechercher des séries et services de données géographiques sur la base du + contenu des + métadonnées correspondantes et d’afficher le contenu des métadonnées. + </description> + </entry> + <entry> + <code>ViewService</code> + <label>Service de consultation</label> + <description>Service permettant au moins de visualiser, de naviguer, de zoomer en avant et en arrière, de déplacer + à l’écran, ou + de superposer des séries de données géographiques qui peuvent être consultées et d’afficher les légendes ainsi + que + tout contenu pertinent de métadonnées. + </description> + </entry> + <entry> + <code>DownloadService</code> + <label>Service de téléchargement</label> + <description>Service permettant de télécharger des copies de séries de données géographiques, ou de parties de ces + séries, et + lorsque cela est réalisable, d’y avoir accès directement. + </description> + </entry> + <entry> + <code>TransformationService</code> + <label>Service de transformation</label> + <description>Service permettant de transformer des séries de données géographiques en vue d’assurer + l’interopérabilité. + </description> + </entry> + <entry> + <code>InvokeSpatialDataService</code> + <label>Service d’appel de services de données géographiques</label> + <description>Service permettant de définir à la fois les données d’entrée et de sortie demandées par le service de + données + géographiques et un processus ou une chaîne de services combinant plusieurs services. Il permet aussi de définir + une interface externe du service internet pour le processus ou la chaîne de services. + </description> + </entry> + <entry> + <code>OtherServices</code> + <label>Autre services</label> + </entry> + </codelist> + <codelist name="gmd:DS_InitiativeTypeCode" alias="initiativeType"/> + <codelist name="gmd:DS_AssociationTypeCode" alias="associationType"> + <entry> + <code>largerWorkCitation</code> + <label>Larger work citation</label> + <description>Référence à un jeu de données maitre dont celui-ci est une partie.</description> + </entry> + <entry> + <code>isTemporalStatOf</code> + <label>Temporal state</label> + <description>Référence provenant d’un jeu de données dans une série chronologique à un autre jeu dans la même + série chronologique. + </description> + </entry> + <entry> + <code>isDescriptionOf</code> + <label>Description</label> + <description>Référence provenant d’un jeu de données décrivant les données référencées.</description> + </entry> + </codelist> + + <codelist name="che:MD_geodataTypeCode"> + <entry> + <code>basicGeodata</code> + <label>Géodonnées de base</label> + </entry> + <entry> + <code>oereb</code> + <label>OEREB</label> + </entry> + <entry> + <code>oerebRegister</code> + <label>Registre OEREB</label> + </entry> + <entry> + <code>openGovernmentData</code> + <label>Données gouvernementales ouvertes</label> + </entry> + <entry> + <code>openData</code> + <label>Données ouvertes</label> + </entry> + <entry> + <code>referenceGeodata</code> + <label>Géodonnées de référence</label> + </entry> + </codelist> + <codelist name="gmd:MD_ScopeCode"> + <entry> + <code>attribute</code> + <label>Attribut</label> + <description>Informations appliquées aux caractéristiques de l’attribut</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>attributeType</code> + <label>Type d'attribut</label> + <description>Informations appliquées aux caractéristiques de l’entité</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionHardware</code> + <label>Collection matérielle</label> + <description>Informations appliquées aux caractéristiques d’une collection matérielle</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionSession</code> + <label>Collection de session</label> + <description>Informations appliquées aux caractéristiques d’une collection de session</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dataset</code> + <label>Jeu de données</label> + <description>Informations appliquées aux caractéristiques de jeu de données</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>series</code> + <label>Collection de données</label> + <description>Informations appliquées aux caractéristiques de la collection de données</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>nonGeographicDataset</code> + <label>Jeux de données non géographiques</label> + <description>Informations appliquées aux caractéristiques de jeux de données non géographiques</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dimensionGroup</code> + <label>Dimension d'un groupe</label> + <description>Informations appliquées à un groupe</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>feature</code> + <label>Entité</label> + <description>Informations appliquées à une entité</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>featureType</code> + <label>Type d’entité</label> + <description>Informations appliquées à un type d’entité</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>propertyType</code> + <label>Type de propriété</label> + <description>Informations appliquées à un type de propriété</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>fieldSession</code> + <label>Champ de session</label> + <description>Informations appliquées aux caractéristiques d’un champ de session</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>software</code> + <label>Logiciel</label> + <description>Informations appliquées à programme ou à une routine</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>service</code> + <label>Service</label> + <description>Informations appliquées à un service Internet</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>model</code> + <label>Modèle</label> + <description>Informations appliquées à modèle décrivant les objets ou un ensemble d'objets</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>tile</code> + <label>Tuile</label> + <description>Tuile</description> + </entry> + <entry> + <code>project</code> + <label>Projet</label> + <description>Le projet décrit le cadre organisationnel défini pour l'accomplissement d'une tâche: il intègre la + description des tenants et des aboutissants du problème, les objectifs, les activités prévues, les étapes de + réalisation, les délais, les ressources... + </description> + </entry> + <entry> + <code>stationSite</code> + <label>Station</label> + <description>Cet élément décrit les activités d'acquisition de données des stations de mesure ; il ne décrit pas + les données mais la manière dont elles ont été saisies (paramètres de saisie, méthodes, instruments) + </description> + </entry> + <entry> + <code>publication</code> + <label>Publication</label> + <description>Ce sont des produits finis tels que les ouvrages, brochures, articles, rapports, matériel + audiovisuel... + </description> + </entry> + + + <!-- Used for facet translation only and not displayed in editor --> + <entry> + <code>map</code> + <label>Carte</label> + <description></description> + </entry> + <entry> + <code>staticMap</code> + <label>Carte statique</label> + <description></description> + </entry> + <entry> + <code>interactiveMap</code> + <label>Carte interactive</label> + <description></description> + </entry> + <entry hideInEditMode="true"> + <code>featureCatalog</code> + <label>Catalogue d'attributs</label> + <description></description> + </entry> + <!--GEOCAT--> + <entry> + <code>basicgeodata</code> + <label>Géodonnée de base</label> + <description></description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>basicgeodata-federal</code> + <label>Géodonnée de base - Fédéral</label> + <description></description> + </entry> + <entry> + <code>basicgeodata-cantonal</code> + <label>Géodonnée de base - Cantonal</label> + <description></description> + </entry> + <entry> + <code>basicgeodata-communal</code> + <label>Géodonnée de base - Communal</label> + <description></description> + </entry> + <entry> + <code>service-OGC:WFS</code> + <label>Services WFS</label> + <description></description> + </entry> + <entry> + <code>service-OGC:WMS</code> + <label>Services WMS</label> + <description></description> + </entry> + </codelist> + + <!-- Geocat override: asked on behalf of SB-422 --> + <codelist name="gmd:CI_RoleCode"> + <entry> + <code>resourceProvider</code> + <label>Fournisseur</label> + <description>Organisme qui fournit la ressource. Acteur qui délivre physiquement la ressource, soit de manière + directe au destinataire, soit par l’intermédiaire d’un diffuseur + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>custodian</code> + <label>Gestionnaire</label> + <description>Acteur responsable de la gestion et de la mise à jour de la ressource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>owner</code> + <label>Propriétaire</label> + <description>Organisme qui est propriétaire de la ressource / Acteur qui détient les droits patrimoniaux de la + ressource + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>user</code> + <label>Utilisateur</label> + <description>Organisme qui utilise ou a utilisé la ressource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>distributor</code> + <label>Distributeur</label> + <description>Organisme qui distribue la ressource. Diffuseur de second niveau de la ressource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>originator</code> + <label>A l’origine de</label> + <description>Organisme qui a commandé la ressource. Acteur qui a été habilité à créer la ressource et qui a mis en + place les moyens pour la constituer + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>pointOfContact</code> + <label>Point de contact</label> + <description>Organisme que l’on peut contacter pour avoir des renseignements détaillés sur la ressource. Acteur à + contacter en premier lieu pour obtenir des informations relatives à la ressource + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>principalInvestigator</code> + <label>Point de recherche</label> + <description>Personne clé pour obtenir des informations sur la ressource et les recherches conduites autour de la + ressource&#xA;Acteur qui a assuré la réalisation de la ressource,éventuellement en faisant appel à des + co-traitants ou des sous traitants + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>processor</code> + <label>Exécutant</label> + <description>Organisme qui a réalisé des traitements sur la ressource. Acteur qui est intervenu lors de la + réalisation de la ressource + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>publisher</code> + <label>Editeur (publication)</label> + <description>Organisme qui assure la publication de la ressource.</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>author</code> + <label>Auteur</label> + <description>Organisme ou personne qui est auteur. Acteur qui dispose des droits moraux relatifs à la ressource + </description> + </entry> + <entry> + <code>editor</code> + <label>Editeur</label> + <description></description> + </entry> + <entry> + <code>partner</code> + <label>Partenaire</label> + <description></description> + </entry> + <entry> + <code>specialistAuthority</code> + <label>Service spécialisé de la Confédération</label> + <description>Service spécialisé de la Confédération</description> + </entry> + </codelist> + <codelist name="che:CHE_AppraisalOfArchivalValueCode"> + <entry> + <code>A</code> + <label>(de) valeur archivistique</label> + <description>(de) valeur archivistique</description> + </entry> + <entry> + <code>N</code> + <label>pas de valeur archivistique</label> + <description>pas de valeur archivistique</description> + </entry> + <entry> + <code>S</code> + <label>sampling / sélection</label> + <description>sampling / sélection</description> + </entry> + </codelist> + <codelist name="che:CHE_ReasonForArchivingValueCode"> + <entry> + <code>legalRelevance</code> + <label>Pertinence juridique</label> + <description>Pertinence juridique</description> + </entry> + <entry> + <code>guaranteeOfLegalCertainty</code> + <label>Garantie de la sécurité juridique</label> + <description>Garantie de la sécurité juridique</description> + </entry> + <entry> + <code>evidenceOfBusinessPractice</code> + <label>Preuve de la pratique courante</label> + <description>Preuve de la pratique courante</description> + </entry> + <entry> + <code>benefitsForResearch</code> + <label>Utilité pour la recherche</label> + <description>Utilité pour la recherche</description> + </entry> + <entry> + <code>contemporaryInterest</code> + <label>Valeur d'actualité</label> + <description>Valeur d'actualité</description> + </entry> + <entry> + <code>sensitivity</code> + <label>Sujets explosifs</label> + <description>Sujets explosifs</description> + </entry> + <entry> + <code>developmentsProgression</code> + <label>Evolution / déroulement</label> + <description>Evolution / déroulement</description> + </entry> + <entry> + <code>definingPowers</code> + <label>Pouvoir d'influence</label> + <description>Pouvoir d'influence</description> + </entry> + </codelist> +</codelists> + diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/labels.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/labels.xml new file mode 100644 index 00000000000..66e830d1070 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/labels.xml @@ -0,0 +1,869 @@ +<?xml version="1.0" encoding="UTF-8"?> +<labels + xmlns:che="http://www.geocat.ch/2008/che"> + <element name="che:individualFirstName" id="521.0"> + <label>Prénom</label> + <description>Prénom</description> + <condition/> + </element> + <element name="che:individualLastName" id="522.0"> + <label>Nom (de famille)</label> + <description>Nom (de famille)</description> + <condition/> + </element> + <element name="che:organisationAcronym" id="501.0"> + <label>Acronyme de l'organisation</label> + <description>Acronyme ou abréviation de l'organisation</description> + <help>Désignation abrégée ou abréviation de l'organisation. Ces informations sont du type + PT_FreeText et sont gérées dans la classe du même nom. + </help> + <condition/> + </element> + <element name="che:parentResponsibleParty" id="518.0"> + <label>Hiérarchie des adresses</label> + <description>Description de la hiérarchie des adresses (par exemple l'adresse de la société mère + et des sous-société) + </description> + <help>Description de hiérarchies d'adresses (exemple : adresse du siège et de filiales). Des + renseignements relatifs au service ou à l'organisation de rang supérieur à la personne ou à + l'organisation responsable (CI_ResponsibleParty) peuvent être fournis ici. Le renvoi s'effectue + vers lui-même et les coordonnées du service de rang supérieur sont du type de données + CI_ResponsibleParty, gérées dans la classe du même nom. + </help> + <condition/> + </element> + <element name="che:CHE_CI_ResponsibleParty" id="374"> + <label>Responsable</label> + <description>Type de données pour l'identification des personnes et organisations, ainsi que pour + la description des modes de communication avec, associées avec le jeu de données + </description> + <help>Type de données destiné à l'identification de personnes et/ou d'organisations en relation + avec le jeu de données (en tant que responsable, en charge du traitement, propriétaire, etc.), + intégrant par ailleurs d'autres informations telles que le numéro de téléphone, l'adresse + (postale, messagerie électronique) permettant d'entrer en contact avec ces personnes et/ou + organisations. Les trois premiers attributs (individualName, organisationName, positionName) de + ce type de données permettent de savoir s'il s'agit de la description d'une personne, d'un + service ou de la domiciliation d'une personne précédemment définie. Une indication au moins est + obligatoire. La liste de sélection CI_RoleCode spécifie alors la nature de la responsabilité + endossée par le service désigné. Cf. CI_Citation pour d'autres informations. + </help> + <condition/> + </element> + <element name="che:streetName" id="529.0"> + <label>Nom de la rue</label> + <description>Nom de la rue associée à la position (emplacement)</description> + <help>Nom de la rue associée à la position (emplacement).</help> + <condition/> + </element> + <element name="che:streetNumber" id="530.0"> + <label>Numéro de la maison</label> + <description>Numéro de la maison associée à la position (emplacement)</description> + <help>Numéro de la maison associée à la position (emplacement).</help> + <condition/> + </element> + <element name="che:addressLine" id="531.0"> + <label>Complément d'adresse</label> + <description>Complément d'adresse (exemple : aux bons soins de (c/o))</description> + <help>Complément d'adresse (exemple : aux bons soins de (c/o)).</help> + <condition/> + </element> + <element name="che:postBox" id="532.0"> + <label>Case postale</label> + <description>Numéro de case postale</description> + <condition/> + </element> + <element name="che:CHE_CI_Address" id="380.0"> + <label>Adresse</label> + <description>Type de données pour la localisation de l'organisation ou la personne individuelle + responsable + </description> + <help>Type de données avec indication d'adresse.</help> + <condition/> + </element> + <element name="che:directNumber"> + <label>Numéro direct</label> + <description/> + </element> + <element name="che:mobile"> + <label>Numéro de portable</label> + <description/> + </element> + <element name="che:CHE_CI_Telephone" id="407.0"> + <label>Téléphone</label> + <description>Type de données pour le numéro de téléphone de la personne ou du service + responsable + </description> + <help>Type de données pour les numéros de téléphone.</help> + <condition/> + </element> + <element name="che:country" id="508.0"> + <label>Pays</label> + <description>Pays d'où provient la loi</description> + <help>Pays dans lequel la loi a été promulguée, sélection dans la liste ISO des pays.</help> + <condition>Obligatoire</condition> + <helper> + <option value="CH">Suisse (CH)</option> + <option value="DE">Allemagne (DE)</option> + <option value="LI">Lichtenstein (LI)</option> + <option value="FR">France (FR)</option> + <option value="IT">Italie (IT)</option> + <option value="AT">Autriche (AT)</option> + </helper> + </element> + <element name="che:language" id="509.0" context="che:CHE_MD_Legislation"> + <label>Langue</label> + <description>Langue dans laquelle la loi est écrite</description> + <condition>Obligatoire</condition> + </element> + <element name="che:legislationType" id="510.0"> + <label>Type de législation</label> + <description>Type de loi</description> + <help>Nature du texte législatif. Sélection dans la liste suivante : statuts de droit privé, + statuts de droit public, arrêté communal, loi cantonale, loi fédérale, ordonnance fédérale, + traité international, autre accord. + </help> + <condition/> + </element> + <element name="che:internalReference" id="511.0"> + <label>Référence interne</label> + <description>Référence interne de la loi (article, paragraphe, etc.)</description> + <help>Référence interne à la loi (article, paragraphe, etc.)</help> + <condition/> + </element> + <element name="che:title" id="507.0"> + <label>Références sur la source légale</label> + <description>Informations de références sur la source légale</description> + <help>Nom de la loi ou référence de la source légale. Ces informations sont du type CI_Citation et sont gérées dans + la classe du même nom. + </help> + <condition>Le titre et la date sont obligatoires</condition> + </element> + <element name="che:CHE_MD_Legislation" id="506"> + <label>Législation</label> + <description>Classe avec l'information sur les bases légales</description> + <help>Classe contenant des informations relatives à des prescriptions légales ou des indications + concernant des lois et des ordonnances. Cette classe fait partie intégrante des informations + relatives aux dispositions légales figurant dans MD_Legislation et DQ_Legislation. Vous trouverez + d'autres informations dans les classes concernées. + </help> + <condition/> + </element> + <!--<element name="che:CHE_CI_LegislationCode"> + <label/> + <description/> + </element>--> + <element name="che:legislationConstraints" id="582.0"> + <label>Restrictions légales</label> + <description>Information relative à la base légale d'une restriction</description> + <help>Information relative à la base légale d'une restriction. Renvoi à une loi, etc.</help> + <condition/> + </element> + <element name="che:CHE_MD_LegalConstraints" id="69.0"> + <label>Contraintes légales</label> + <description>Classe pour les restrictions et conditions préalables légales pour accéder et + utiliser les ressources où de métadonnées + </description> + <help>Classe contenant des informations relatives aux restrictions juridiques s'appliquant à la + ressource, au jeu de métadonnées ou à leur utilisation. Cette classe est une représentation de la + classe MD_Constraints. + </help> + <condition/> + </element> + <element name="che:legislationInformation" id="505.0"> + <label>Informations sur la législation</label> + <description>Informations sur les lois et ordonnances légales concernant les ressources</description> + <help>Informations relatives à des aspects juridiques concernant la ou les ressources. Ces informations sont gérées + dans la classe MD_Legislation. + </help> + </element> + <element name="che:CHE_MD_Metadata" id="1.0"> + <label>Métadonnées</label> + <description>Classe qui définit les métadonnées concernant des ressources</description> + <help>Classe définissant les métadonnées d'une ou de plusieurs ressources. Les métadonnées + peuvent se rapporter à des jeux de données entiers mais également à des objets géométriques, des + attributs, des types d'objets géométriques et d'attributs ou à des agrégations de données, de + séries de données ou de niveaux hiérarchiques ("hierarchyLevel"). Les relations de dépendance + hiérarchique entre jeux de métadonnées peuvent être indiquées par la filiation + ("parentIdentifier"). La norme ISO prévoit une relation monovalente entre jeux de métadonnées + dans ce cadre, une seule filiation pouvant être indiquée et non plusieurs. La classe MD_Metadata + présente également un attribut de contact avec le service compétent pour d'autres informations + relatives aux métadonnées. + </help> + <condition>Obligatoire</condition> + </element> + <element name="che:revisionScope" id="569"> + <label>Etendue de l'actualisation</label> + <description>Etendue des données concernées par l'actualisation</description> + <help>Etendue des données concernées par l'actualisation.</help> + <condition/> + </element> + <element name="che:dateOfLastUpdate" id="570.0"> + <label>Date de la dernière actualisation</label> + <description>Date de la dernière actualisation</description> + <help>Date de la dernière actualisation.</help> + <condition/> + </element> + <element name="che:revisionNote" id="571.0"> + <label>Remarque concernant l'actualisation</label> + <description>Remarque concernant la dernière actualisation</description> + <help>Remarque concernant la dernière actualisation.</help> + <condition/> + </element> + <element name="che:revisionScopeDescription" id="572.0"> + <label>Description de l'étendue de l'actualisation</label> + <description>Informations supplémentaires relatives au champ d'application ou à l'étendue de + l'actualisation + </description> + <help>Informations supplémentaires relatives au champ d'application ou à l'étendue de + l'actualisation. + </help> + <condition/> + </element> + <element name="che:revisionExtent" id="587.0"> + <label>Etendue d'actualisation</label> + <description>Description supplémentaire sur l'étendu d'actualisation</description> + <condition/> + </element> + <element name="che:revisionContact" id="588.0"> + <label>Responsble</label> + <description>Responsable pour l'actualistion</description> + <condition/> + </element> + <element name="che:CHE_MD_Revision" id="568.0"> + <label>Information d'actualisation</label> + <description>Classe relative au champ d'application et à la date de la dernière mise à + jour + </description> + <help>Classe relative au champ d'application et à la date de la dernière mise à jour.</help> + <condition/> + </element> + <element name="che:CHE_CI_projectTypeCode"> + <label>Code du projet</label> + <description/> + </element> + <element name="che:projectType" id="512.0"> + <label>Type de projet</label> + <description>Type d'initiative ou projet</description> + <help>Type de l'initiative ou du projet ayant motivé la saisie des données. Sélection dans la + liste suivante : recherche, programme de surveillance, programme de travail, inventaire. + </help> + <condition/> + </element> + <element name="che:revision" id="567.0"> + <label>Actualisation</label> + <description>Informations concernant la dernière actualisation de la ressource et sa + validité + </description> + <help>Informations concernant la dernière actualisation de la ressource et sa validité. Si le jeu + de données n'est pas actualisé en totalité, "revisionScope" et "revisionScopeDescription" + permettent une description séparée pour chacune des parties actualisées. + </help> + <condition/> + </element> + <element name="che:CHE_MD_DataIdentification" id="36"> + <label>Identification des données</label> + <description>Classe avec l'information utile pour identifier un jeu de données</description> + <help>Classe contenant des informations de base utilisées pour l'identification sans équivoque du + ou des jeux de données. Il s'agit de la description du jeu de données concret. La classe + MD_DataIdentification est la représentation de MD_Identification pour les données. Elle intègre + des informations relatives à la caractérisation spatiale et temporelle des données, au jeu de + caractères et à la langue utilisés, de même que d'autres informations descriptives. Une + extension spatiale minimale des données est à indiquer par l'intermédiaire de l'option + "geographicBox" (rectangle de délimitation géographique), de l'option "geographicDescription" + (description textuelle de l'extension) ou des deux simultanément. Il est en outre possible de + restreindre l'extension par le biais de l'attribut "extent", aussi bien au niveau spatial (via + un polygone) que temporel. La norme prévoit une liste internationale de 19 thèmes + (MD_TopicCategoryCode) pour la classification thématique des données, gérée par l'intermédiaire + de l'attribut "topicCategory". Une recherche standardisée par thèmes est de la sorte possible au + plan international. + </help> + <condition/> + </element> + <element name="che:CHE_MD_MaintenanceInformation" id="142.0"> + <label>Information de maintenance</label> + <description>Classe sur la raison, l'étendue et la fréquence des mises à jour.</description> + <help>Les informations concernant l'étendue, la fréquence et la date de mise à jour des données sont contenues dans + la classe MD_MaintenanceInformation. Cette classe recèle des attributs renseignant sur la fréquence et l'étendue + de la mise à jour et de la réactualisation des données du jeu. Seule l'indication de la fréquence est impérative + et doit être sélectionnée dans la liste MD_MaintenanceFrequencyCode. l'étendue de la mise à jour, les attributs + qu''elle concerne et les descriptions associées sont des informations qu''il est possible d'indiquer via les + attributs "updateScope" et "updateScopeDescription". Il n''est pas prévu d'indiquer l'extension spatiale de la + mise à jour. Si seules des parties d'un jeu de données sont mises à jour ou si toutes ses parties ne sont pas + mises à jour simultanément, alors les parties concernées par la description de la mise à jour peuvent être + précisées via "+updateScopeDescription" dans la classe MD_ScopeDescription. + </help> + <condition/> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_AbstractClass"> + <label>Description</label> + <description>Description</description> + <condition/> + </element> + <element name="che:attribute" id="586.0"> + <label>Attribut</label> + <description>Attribut d´une classe</description> + <condition/> + </element> + <element name="che:baseClass" id="563.0"> + <label>Classe de base</label> + <description>Renvoi à la classe de base</description> + <help>Renvoi à la classe de base (héritage).</help> + <condition/> + </element> + <element name="che:subClass" id="562.0"> + <label>Sous-classe</label> + <description>Renvoi aux classes étendues</description> + <help>Renvoi aux classes étendues (héritage).</help> + <condition/> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_AbstractClass"> + <label>Nom</label> + <description>Nom de la classe abstraite</description> + <condition/> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_AbstractClass"> + <label>Description</label> + <description>Description de la classe abstraite</description> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_Association"> + <label>Nom</label> + <description>Nom de l´association</description> + <condition/> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_Association"> + <label>Description</label> + <description>Description de l´association</description> + <condition/> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_Class"> + <label>Nom</label> + <description>Nom de la classe</description> + <condition/> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_Class"> + <label>Description</label> + <description>Description de la classe</description> + <condition/> + </element> + <element name="che:CHE_MD_AbstractClass" id="559.0"> + <label>Classe abstraite</label> + <description>Classe abstraite, de rang supérieur, de MD_Association et MD_Class</description> + <help>Classe abstraite, de rang supérieur, de MD_Association et MD_Class.</help> + <condition/> + </element> + <element name="che:CHE_MD_Class" id="564.0"> + <label>Classe</label> + <description>Description d'une classe d'un catalogue d'objets géométriques</description> + <help>Description d'une classe d'un catalogue d'objets géométriques. Une classe est un ensemble + d'objets similaires possédant des propriétés identiques. Chacune de ces propriétés est décrite + par un attribut. + </help> + <condition/> + </element> + <element name="che:CHE_MD_Association" id="565.0"> + <label>Association</label> + <description>Description de la relation concrète entre classes</description> + <help>Description de la relation concrète entre classes.</help> + <condition/> + </element> + <element name="che:role" id="566.0"> + <label>Rôle</label> + <description>Renvoi aux extrémités (rôles) d´une relation concrète</description> + </element> + <element name="che:name" id="537.0" context="che:CHE_MD_CodeDomain"> + <label>Nom</label> + <description>Nom de la définition du domaine de valeurs</description> + <help>Nom de la définition du domaine de valeurs (exemple : CoordNat, CharacterString).</help> + <condition/> + </element> + <element name="che:description" id="541.0" context="che:CHE_MD_CodeDomain"> + <label>Description</label> + <description>Description de la définition du domaine de valeurs</description> + <help>Description de la définition du domaine de valeurs.</help> + <condition/> + </element> + <element name="che:type" id="543.0" context="che:CHE_MD_Type"> + <label>Définition du type</label> + <description>Définition du type de données</description> + <help>Définition du type de données, formelle ou informelle (exemple : texte12, ligne).</help> + </element> + <element name="che:type" id="540.0" context="che:CHE_MD_CodeDomain"> + <label>Type</label> + <description>Type de données de la définition du domaine de valeurs</description> + <help>Type de données de la définition du domaine de valeurs.</help> + <condition/> + </element> + <element name="che:subDomain" id="538.0" context="che:CHE_MD_CodeDomain"> + <label>Sous-domaine</label> + <description>Renvoi aux définitions de domaines de valeurs étendues</description> + <help>Renvoi aux définitions de domaines de valeurs étendues (héritage).</help> + <condition/> + </element> + <element name="che:baseDomain" id="539.0" context="che:CHE_MD_CodeDomain"> + <label>Domaine de base</label> + <description>Renvoi aux définitions de domaines de valeurs de base</description> + <help>Renvoi aux définitions de domaines de valeurs de base.</help> + <condition/> + </element> + <element name="che:CHE_MD_CodeDomain" id="534.0"> + <label>Domaine</label> + <description>Domaine de valeurs</description> + <help>Définition explicite de domaine de valeurs dans ce catalogue.</help> + <condition/> + </element> + <element name="che:CHE_MD_Type" id="542.0"> + <label>Type</label> + <description>Type de données décrivant des valeurs</description> + <help>Un type de données décrivant des valeurs, au contraire d'une classe qui décrit des objets. + Les valeurs sont dépourvues d'identité et sont en relation de type "n à un" avec des éléments + définis en dehors du modèle. + </help> + <condition/> + </element> + <element name="che:value" id="544.0"> + <label>Valeur</label> + <description>Liste des valeurs</description> + <help>Liste des différentes valeurs dans le cas d´une liste de codes ou d´une énumération.</help> + </element> + <element name="che:name" id="551.0" context="che:attribute"> + <label>Nom</label> + <description>Nom d'attribut</description> + <condition/> + </element> + <element name="che:description" id="552.0" context="che:attribute"> + <label>Description</label> + <description>Description d'attribut</description> + <condition/> + </element> + <element name="che:namedType" id="553.0"> + <label>Type désigné par un nom</label> + <description>Renvoi à la définition du domaine de valeurs</description> + <help>Renvoi à la définition du domaine de valeurs.</help> + <condition/> + </element> + <element name="che:anonymousType" id="554.0"> + <label>Domaine de valeurs</label> + <description>Domaine de valeurs</description> + <help>Domaine de valeurs défini par les sous-classes MD_Type et MD_CodeValue.</help> + <condition/> + </element> + <element name="che:CHE_MD_Attribute" id="550.0"> + <label>Attribut</label> + <description>Attributs utilisés dans le cadre de classes ou d'associations</description> + <help>Attributs utilisés dans le cadre de classes ou d'associations.</help> + <condition/> + </element> + <element name="che:name" id="556.0" context="che:CHE_MD_Role"> + <label>Nom</label> + <description>Nom de rôle</description> + <condition/> + </element> + <element name="che:description" id="557.0" context="che:CHE_MD_Role"> + <label>Description</label> + <description>Description du rôle</description> + <condition/> + </element> + <element name="che:toClass" id="558.0"> + <label>à la classe</label> + <description>Pointeur sur la classe à laquelle le rôle est associé</description> + <help>Pointeur sur la classe à laquelle le rôle est associé.</help> + <condition/> + </element> + <element name="che:CHE_MD_Role" id="555.0"> + <label>Rôle</label> + <description>Description de l'une des extrémités d'une association</description> + <help>Description de l'une des extrémités d'une association. Toute association comporte deux + extrémités, chacune d'entre elles étant reliée à une classe. Une extrémité peut explicitement + être pourvue d'un nom, lequel est alors indiqué ici. + </help> + <condition/> + </element> + <element name="che:name" id="546.0" context="che:CHE_MD_CodeValue"> + <label>Nom</label> + <description>Nom de la valeur</description> + <condition/> + </element> + <element name="che:code" id="547.0" context="che:CHE_MD_CodeValue"> + <label>Code</label> + <description>Codes de la valeur</description> + <help>Code de la valeur (un nombre par exemple).</help> + <condition/> + </element> + <element name="che:description" id="549.0" context="che:CHE_MD_CodeValue"> + <label>Description de la valeur</label> + <description>Description de la valeur</description> + <help>Description de la valeur.</help> + <condition/> + </element> + <element name="che:subValue" id="548.0"> + <label>Sous-énumération</label> + <description>Sous-énumération</description> + <help>Si une valeur d'une énumération contient un niveau de subdivision supplémentaire (encore + plus fin), il est renvoyé par ce moyen aux valeurs de ce niveau inférieur. + </help> + <condition/> + </element> + <element name="che:CHE_MD_CodeValue" id="545.0"> + <label>Valeur</label> + <description>Valeur</description> + <help>Une des valeurs d'une liste de codes ou d'une énumération.</help> + <condition/> + </element> + <element name="che:dataModel" id="533.0"> + <label>Modèle de données</label> + <description>Renvoi au modèle de données du jeu de données</description> + <help>Renvoi au modèle de données du jeu de données. Ce modèle conceptuel correspond au catalogue + des objets géométriques et est interprétable par un outil informatique (exemple : description + INTERLIS). + </help> + <condition/> + </element> + <element name="che:class" id="535.0" context="che:CHE_MD_FeatureCatalogueDescription"> + <label>Classe</label> + <description>Classes d'objets</description> + <condition/> + </element> + <element name="che:domain" id="536.0" context="che:CHE_MD_FeatureCatalogueDescription"> + <label>Domaine de code</label> + <description>Définition du domaine de valeurs d'un catalogue d'objets désignée par un + nom + </description> + <help>Définition du domaine de valeurs d'un catalogue d'objets désignée par un nom. Cette + définition est réutilisable (exemple : CoordNat, CharacterString). + </help> + <condition/> + </element> + <element name="che:modelType" context="che:CHE_MD_FeatureCatalogueDescription"> + <label>Type de modèle</label> + <description/> + </element> + <element name="che:portrayalCatalogueURL" context="che:CHE_MD_FeatureCatalogueDescription"> + <label/> + <description/> + </element> + <element name="che:CHE_MD_FeatureCatalogueDescription" id="233.0"> + <label>Description du catalogue d'objet</label> + <description>Classe pour l'information qui définit le catalogue d'objets ou le modèle de + donnée + </description> + <help>Classe destinée aux informations identifiant le catalogue d'objets ou le modèle de données + utilisé. Dans cette classe, le catalogue d'objets mis en application est spécifié sans entrer + dans les détails de son contenu. Le catalogue d'objets auquel il est renvoyé par + l'intermédiaire de l'attribut featureCatalogueCitation contient la description des propriétés + des objets figurant dans le jeu de données. Dans la plupart des cas, le catalogue d'objets + consiste en une liste exhaustive enregistrée qui n'est pas définie en fonction du jeu de données + spécifique auquel le jeu de métadonnées se rapporte. La norme ne prévoit pas non plus que les + objets définis dans le catalogue soient listés. Il est uniquement indiqué si le jeu de données + contient effectivement des objets dont les propriétés coïncident avec celles des objets du + catalogue. Vous trouverez d'autres informations sous MD_ContentInformation. + </help> + <condition/> + </element> + <element name="che:filmType" id="577.0"> + <label>Type de film</label> + <description>Type de film ayant servi à la prise de vue</description> + <help>Type de film ayant servi à la prise de vue. Il peut s'agir de l'une des possibilités + suivantes : NB (noir et blanc), C (couleur), IRC (infrarouge couleur) ou IR (infrarouge). + </help> + <condition/> + </element> + <element name="che:focalDistance" id="578"> + <label>Distance focale</label> + <description>Distance focale de la prise de vue</description> + <help>Distance focale de la prise de vue.</help> + <condition/> + </element> + <element name="che:CHE_MD_CoverageDescription" id="239.0"> + <label>Contenu du raster</label> + <description>Classe pour l'information sur le contenu de la cellule de données + raster + </description> + <help>Des contenus physiques et thématiques d'une trame peuvent être décrits dans la classe + MD_CoverageDescription. Si l'on se limite au contenu, les informations générales relatives aux + attributs obligatoires attributeDescription et contentType peuvent convenir, la description de + l'attribut dans attributeDescription devant toutefois s'effectuer via la valeur mesurée. Cf. + MD_ContentInformation pour plus d'informations. + </help> + <condition/> + </element> + <element name="che:CHE_MD_FilmTypeCode"> + <label/> + <description/> + </element> + <element name="che:URLGroup" id="609.0"> + <label>Groupe URL</label> + <description>Informations relatives aux éléments de métadonnées recourant à des URL + multilingues + </description> + <help>Informations permettant la définition de l'élément URL en plusieurs langues (langue, + contenu, etc.). Ces indications sont du type de données PT_URLGroup et sont gérées dans la classe + du même nom. + </help> + <condition/> + </element> + <element name="che:PT_FreeURL" id="608"> + <label>URL libre</label> + <description>Classe destinée à la description d'un élément de métadonnées URL libre + multilingue + </description> + <help>Classe destinée à la description d'un élément de métadonnées URL libre multilingue. Le type + de données PT_FreeText permet de gérer des informations textuelles en plusieurs langues. + </help> + <condition/> + </element> + <!--<element name="che:LocalisedURL"> + <label>URL (multilingue)</label> + <description/> + </element> +element name="che:language"> + <label/> + <description/> + </element> + <element name="gmd:language" id="39.0" context="che:CHE_MD_DataIdentification"> + <label>Langue</label> + <description>Langue utilisée pour le jeu de données</description> + <help>Langue utilisée pour la documentation des métadonnées. La sélection s'opère dans la liste + des langues ISO. Exemple : "fr" pour le français, "de" pour l'allemand, "en" pour l'anglais, + "it" pour l'italien, "rm" pour le romanche.</help> + <condition>Obligatoire</condition> + </element> + <element name="gmd:characterSet" id="40.0" context="che:CHE_MD_DataIdentification"> + <label>Jeu de caractère</label> + <description>Nom entier du standard de code de caractères utilisé pour le jeu de + données</description> + <help>Nom complet du code de caractères normalisé utilisé pour le fichier de métadonnées. Le + paramètre par défaut est "utf8". Les fichiers de texte contiennent normalement des valeurs + d'octets représentant un sous-ensemble de valeurs de caractères via un codage (8859_1, ISO + Latin-1), un format de transfert (Unicode-Transfer-Format UTF8) ou tout autre moyen.</help> + <condition>Par défaut: UTF-8</condition> + </element> + <element name="che:revision"> + <label>Révision</label> + <description></description> + <help></help> + </element> + <element name="che:revisionExtent"> + <label>Etendue de la révision</label> + <description></description> + <help></help> + </element> + <element name="che:revisionContact"> + <label>Contact pour la révision</label> + <description></description> + <help></help> + </element>--> + <element name="che:LocalisedURL"> + <label>URL (multilingue)</label> + <description></description> + <help></help> + </element> + + <element name="che:CHE_MD_modelTypeCode"> + <label>Code du type de modèle</label> + <description>Choix de la codeliste</description> + <condition>obligatoire</condition> + </element> + <element name="che:dateOfMonitoringState"> + <label>Etat du monitoring</label> + <description>Date du monitoring des géodonnées de base</description> + <help>A remplir uniquement dans le contexte des données et non pas des métadonnées</help> + </element> + <element name="che:historyConcept"> + <label>Concept d'historique</label> + <description>Information sur l'établissement de l'historique des données et métadonnées</description> + <help>Selon la législation fédérale sur la géoinformation l'historique des géodonnées de base doit être établi et + documenté + </help> + </element> + <element name="che:archiveConcept"> + <label>Concept d'archivage</label> + <description>Information sur l'archivage des données et métadonnées</description> + <help>Selon la législation fédérale sur la géoinformation l'archivage des géodonnées de base doit être établi et + documenté + </help> + </element> + <element name="che:historyConceptCitation"> + <label>Titre et date du concept d'historique</label> + <description/> + <help/> + </element> + <element name="che:historyConceptURL"> + <label>URL du concept d'historique</label> + <description>Si le concept d'historique est accessible en ligne, l'URL peut être renseigné ici</description> + <help/> + </element> + <element name="che:CHE_MD_HistoryConcept"> + <label>Concept d'historique</label> + <description>Information sur l'établissement de l'historique des données et métadonnées</description> + <help>Selon la législation fédérale sur la géoinformation l'historique des géodonnées de base doit être établi et + documenté + </help> + </element> + <element name="che:archiveConceptCitation"> + <label>Titre et date du concept d'archivage</label> + <description/> + <help/> + </element> + <element name="che:archiveConceptURL"> + <label>URL du concept d'archivage</label> + <description>Si le concept d'archivage est accessible en ligne, l'URL peut être renseigné ici</description> + <help/> + </element> + <element name="che:CHE_MD_ArchiveConcept"> + <label>Concept d'archivage</label> + <description>Information sur l'archivage des données et métadonnées</description> + <help>Selon la législation fédérale sur la géoinformation l'archivage des géodonnées de base doit être établi et + documenté + </help> + </element> + <!--<element name="che:CHE_MD_MaintenanceInformation"> + <label>Information sur la maintenance</label> + <description></description> + <help></help> + </element> + <element name="che:CHE_MD_LegalConstraints"> + <label>Contraintes légales</label> + <description></description> + <help></help> + </element>--> + <element name="che:portrayalCatalogueURL"> + <label>URL du catalogue de présentation</label> + <description/> + </element> + <element name="che:CHE_MD_PortrayalCatalogueReference" id="268.0"> + <label>Référence du catalogue de présentation</label> + <description>Classe avec l'information pour l'identification du catalogue de présentation utilisé</description> + <help>La classe MD_PortrayalCatalogueReference comprend uniquement l'attribut portrayalCatalogueCitation. Le + catalogue utilisé pour la description de la représentation des objets peut être identifié ici via le type de + données CI_Citation. La classe MD_PortrayalCatalogueReference permet uniquement la description des conditions + marginales de la représentation "cartographique" sans tenir compte de leur mise en oeuvre. + </help> + <condition></condition> + </element> + <element name="che:basicGeodataID"> + <label>Identifiant Géodonnées de base</label> + <description>Identifiant de la géodonnée de base selon l'Annexe I de la OGéo, voire de la collection des géodonnées + de base. + </description> + <help>Contactez l'équipe geocat.ch en cas de questions</help> + </element> + <element name="che:basicGeodataIDType"> + <label>Type de géodonnées de base</label> + <description>Indication si l'identifiant ci-dessus appartient au niveau fédéral, cantonal, communal ou autre. + </description> + </element> + <element name="che:CHE_SV_ServiceIdentification" id="40.0"> + <label>Identification des services</label> + <description>Classe pour l'identification des prestations, disponibles auprès un fournisseur de services, via un + ensemble d'interfaces définissant un comportement (Profil GM03_2+ de l'ISO 19119) + </description> + <help>Classe destinée à l'identification des services qu''un prestataire propose à l'utilisateur et dont le contenu + et l'étendue sont définis par un ensemble d'informations(cf. ISO 19119 pour obtenir plus d'information). + </help> + <condition/> + </element> + <element name="che:inspireServiceType"> + <label>Type de service INSPIRE</label> + <description>Type de service tel que décrit dans le "Règlement (CE) No 1205/2008 de la commission portant modalités + d'application de la directive 2007/2/CE du Parlement européen et du Conseil en + ce qui concerne les métadonnées" + </description> + </element> + <!--<element name="che:legislationConstraints"> + <label>legislationConstraints</label> + </element>--> + <element name="che:CHE_MD_ImageDescription" id="243.0"> + <label>Description de l'image</label> + <description>Classe avec l'information sur l'utilisation d'une image</description> + <help>Classe contenant les informations relatives aux possibilités d'utilisation d'une image.</help> + <condition/> + </element> + <element name="che:basicGeodataIDTypeCode"> + <label>Code de type géodonnées de base</label> + <description>Code de type géodonnées de base</description> + </element> + <element name="che:MD_geodataTypeCode"> + <label>Code de type de géodonnées</label> + </element> + <element name="che:geodataType"> + <label>Type de géodonnées</label> + <description>Description du jeu de données</description> + <help>Classification du jeu de données dans un plus grand groupe de jeux de données similaires à l'aide de la liste + de codes ci-jointe + </help> + </element> + + <!-- SB-422: AAP --> + <element name="che:appraisal"> + <label>Évaluation AAP</label> + <description>Évaluation AAP</description> + </element> + <element name="che:durationOfConservation"> + <label>durée de conservation DAD (années)</label> + <description>durée de conservation DAD (années)</description> + </element> + <element name="che:commentOnDurationOfConservation"> + <label>Remarques concernant la durée de conservation</label> + <description>Remarques concernant la durée de conservation</description> + </element> + <element name="che:appraisalOfArchivalValue"> + <label>évaluation de la valeur archivistique</label> + <description>évaluation de la valeur archivistique</description> + </element> + <element name="che:CHE_AppraisalOfArchivalValueCode"> + <label>évaluation de la valeur archivistique</label> + <description>évaluation de la valeur archivistique</description> + </element> + <element name="che:reasonForArchivingValue"> + <label>justification quant à la valeur archivistique</label> + <description>justification quant à la valeur archivistique</description> + </element> + <element name="che:CHE_ReasonForArchivingValueCode"> + <label>justification quant à la valeur archivistique</label> + <description>justification quant à la valeur archivistique</description> + </element> + <element name="che:commentOnArchivalValue"> + <label>Remarques concernant la valeur archivistique</label> + <description>Remarques concernant la valeur archivistique</description> + </element> + <element name="gmd:protocol" id="398.0" alias="protocol"> + <label>Protocole</label> + <description>Protocole de la connexion à utiliser</description> + <help>Protocole de connexion utilisé, par exemple FTP.</help> + <condition/> + <helper sort="true"> + <option value="WWW:LINK">Adresse Internet (URL)</option> + <option value="WWW:DOWNLOAD-URL">Fichier à télécharger (URL)</option> + <option value="OGC:WMS">OGC-WMS Web Map Service</option> + <option value="OGC:WFS">OGC-WFS Web Feature Service</option> + <option value="OGC:WCS">OGC-WCS Web Coverage Service</option> + <option value="OGC:WMTS">OGC-WMTS Web Map Tile Service</option> + <option value="OGC:WMC">OGC-WMC Web Map Context</option> + <option value="ESRI:REST">ArcGIS REST Services</option> + <option value="CHTOPO:specialised-geoportal">Géoportail spécialisé</option> + <option value="MAP:Preview">map.geo.admin.ch preview</option> + <option value="OPENDATA:SWISS">Permalien opendata.swiss</option> + <option value="WWW:DOWNLOAD-APP">Download-APP (geoshop)</option> + <option value="Linked:data">Linked:data </option> + </helper> + </element> + + <element name="gmd:extent" id="45.0"> + <label>Etendue</label> + <description>Information complémentaire sur les étendues spatiales et temporelles du jeu de + données, incluant le polygone de délimitation et les dimensions verticales et temporelles + </description> + <help>Informations supplémentaires concernant l'extension spatiale et temporelle des données, + incluant le polygone de délimitation, les altitudes et la durée de validité. Ces informations + sont du type EX_Extent et sont gérées dans la classe du même nom. + </help> + <condition>Condition</condition> + <class>gn-required</class> + </element> + + <element name="gco:Date"> + <label>date</label> + <description>date</description> + </element> + +</labels> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-aap.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-aap.xml new file mode 100644 index 00000000000..a674a94f9e7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-aap.xml @@ -0,0 +1,28 @@ +<strings> + <schematron.title>AAP</schematron.title> + + <!--<--> + <mandatoryFields>Vérification des champs obligatoires.</mandatoryFields> + + <appraisalSectionRequired>La section "Evaluation AAP" doit être définie quand le mot clé AAP est positionné.</appraisalSectionRequired> + <notAppraisalSectionRequired>Le mot clé AAP n'est pas positionné ou la section "Evaluation AAP" est définie.</notAppraisalSectionRequired> + + <durationOfConservationRequired>la durée de conservation (entier) est requise</durationOfConservationRequired> + <durationOfConservationReport>durée de conservation:</durationOfConservationReport> + + <appraisalOfArchivalValueRequired>l'évaluation de la valeur archivistique est requise (codelist)</appraisalOfArchivalValueRequired> + <appraisalOfArchivalValueReport>évaluation de la valeur archivistique:</appraisalOfArchivalValueReport> + + <!--<--> + <reasonForArchivalValuePresence>Test presence ou absence de justification quant à la valeur archivistique.</reasonForArchivalValuePresence> + + <reasonForArchivalValueAbsent>Si la valeur archivistique est avérée, la justification doit être précisée.</reasonForArchivalValueAbsent> + <notReasonForArchivalValueAbsent>La justification est soit positionnée, soit optionnelle.</notReasonForArchivalValueAbsent> + + <!--<--> + <officalAndAAP>Metadonnée de base et AAP</officalAndAAP> + + <cantSetManyTopicsWhenOfficalAndAAP>L'utilisation conjointe des mots clé "metadata de base" et "AAP" interdit la définition de plusieurs topics.</cantSetManyTopicsWhenOfficalAndAAP> + <notCantSetManyTopicsWhenOfficalAndAAP>Soit les mots clé "metadata de base" et "AAP" ne sont pas utilisés de façon conjointe, soit cette fiche ne fait pas référence à plusieurs catégories.</notCantSetManyTopicsWhenOfficalAndAAP> + +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-bgdi.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-bgdi.xml new file mode 100644 index 00000000000..7c9d699e451 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-bgdi.xml @@ -0,0 +1,39 @@ +<strings> + <schematron.title>BGDI</schematron.title> + <translatedTitle>Traduction du titre</translatedTitle> + <deTitleRequired>Identification des données / Information de référence / le titre est obligatoire et nécessite une + traduction en allemand + </deTitleRequired> + <deTitleReport>Titre Allemand:</deTitleReport> + <frTitleRequired>Identification des données / Information de référence / le titre est obligatoire et nécessite une + traduction en français + </frTitleRequired> + <frTitleReport>Titre Français:</frTitleReport> + + <translatedAltTitle>Traduction d'autre appellation ou acronyme</translatedAltTitle> + <deAltTitleRequired>Identification des données / Information de référence / autre appellation ou acronyme est obligatoire et + nécessite une traduction en allemand + </deAltTitleRequired> + <deAltTitleReport>Autre appellation ou acronyme en allemand:</deAltTitleReport> + <deAltTitleMaxLength>Autre appellation ou acronyme en allemand est trop long, max 35c</deAltTitleMaxLength> + <deAltTitleMaxLengthReport>Longueur d'autre appellation ou acronyme en allemand:</deAltTitleMaxLengthReport> + <frAltTitleRequired>Identification des données / Information de référence / autre appellation ou acronyme est obligatoire et + nécessite une traduction en français + </frAltTitleRequired> + <frAltTitleReport>Autre appellation ou acronyme en français:</frAltTitleReport> + <frAltTitleMaxLength>Autre appellation ou acronyme en français est trop long, max 35c</frAltTitleMaxLength> + <frAltTitleMaxLengthReport>Longueur d'autre appellation ou acronyme en français:</frAltTitleMaxLengthReport> + + <translatedAbstract>Traduction du résumé</translatedAbstract> + <deAbstractRequired>Identification des données / le résumé est obligatoire et nécessite une traduction en allemand + </deAbstractRequired> + <deAbstractReport>Résumé Allemand:</deAbstractReport> + <frAbstractRequired>Identification des données / le résumé est obligatoire et nécessite une traduction en français + </frAbstractRequired> + <frAbstractReport>Résumé Français:</frAbstractReport> + + <pointOfContact>Point de contact</pointOfContact> + <pointOfContactRequired>Identification / Le point de contact est obligatoire + </pointOfContactRequired> + <pointOfContactReport>Le Point de contact est présent</pointOfContactReport> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-geobasisdatensatz.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-geobasisdatensatz.xml new file mode 100644 index 00000000000..fee16b1b8fd --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-geobasisdatensatz.xml @@ -0,0 +1,19 @@ +<strings> + <schematron.title>Géodonnée de base</schematron.title> + <collectivetitle>Titre collectif</collectivetitle> + <collectiveTitleRequired>Identification des données / Information de référence / Titre collectif est obligatoire + </collectiveTitleRequired> + <collectiveTitleReport>Titre collectif:</collectiveTitleReport> + + <basicGeoDataInfo>Géodonnée de base</basicGeoDataInfo> + <geodataIdRequired>Identification des données / Identifiant géodonnées de base est obligatoire</geodataIdRequired> + <geodataIdReport>Identifiant géodonnées de base:</geodataIdReport> + + <geodataTypeRequired>Identification des données / Type de géodonnées de base est obligatoire</geodataTypeRequired> + <geodataTypeReport>Type géodonnées de base:</geodataTypeReport> + + <legislativeInformation>Information sur la législation</legislativeInformation> + <legislativeInformationRequired>Métadonnée / Information sur la législation est obligatoire + </legislativeInformationRequired> + <legislativeInformationReport>Métadonnée / Information sur la législation est présent</legislativeInformationReport> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-geonetwork.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-geonetwork.xml new file mode 100644 index 00000000000..eb6a522d0bc --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-geonetwork.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <schematron.title>Recommendations GeoNetwork</schematron.title> + <M500>[Langue] - La langue principale des métadonnées n'est pas définie alors que d'autres + langues le sont. + </M500> + <alert.M500> + <div>Définir la langue principale et vérifier dans la section autres langues (ie. + gmd:locale) que les autres langues sont définies (voir vue avancée / section métadonnée). + <span class="validationReportSuggestion">Suggestions: Définir la langue par défaut ou supprimer les autres + langues. + </span> + </div> + </alert.M500> + <report.M500>La langue principale est :</report.M500> + <M501>[Langue] - La langue principale ne doit pas être définie dans la section autres + langues. + </M501> + <alert.M501> + <div>Définir la langue principale une seule fois (voir vue avancée / section métadonnée). + <br/> + <span class="validationReportSuggestion">Suggestions: supprimer la langue par défaut de la section autres + langues. + </span> + </div> + </alert.M501> + <report.M501>Aucun doublon identifié sur les langues de la métadonnée.</report.M501> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-iso-che.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-iso-che.xml new file mode 100644 index 00000000000..9efce2653bd --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-iso-che.xml @@ -0,0 +1,82 @@ +<strings> + <schematron.title>Règles d'implémentation GM03</schematron.title> + <M100>Géodonnées de base</M100> + <alert.M100> + <div> + <h2>Le type de géodonnée de base est obligatoire si un identifiant a été saisi.</h2> + </div> + </alert.M100> + <report.M100> + <div> + <h2>Le type de géodonnée de base est obligatoire si un identifiant a été saisi.</h2> + </div> + </report.M100> + <M101>Type de modèle</M101> + <alert.M101> + <div> + <h2>Le type du modèle est obligatoire</h2> + </div> + </alert.M101> + <report.M101> + <div> + <h2>Le type du modèle est obligatoire</h2> + </div> + </report.M101> + <M102>Liste de valeur</M102> + <alert.M102> + <div> + <h2>Sélectionnez une valeur dans la liste de référence ou supprimez l'attribut.</h2> + </div> + </alert.M102> + <report.M102> + <div> + <h2>Sélectionnez une valeur dans la liste de référence ou supprimez l'attribut.</h2> + </div> + </report.M102> + <M103>Titre de la citation</M103> + <alert.M103> + <div> + <h2>Il est obligatoire de saisir le titre des citations dans la langue par défaut de la métadonnée.</h2> + </div> + </alert.M103> + <report.M103> + <div> + <h2>Il est obligatoire de saisir le titre des citations dans la langue par défaut de la métadonnée.</h2> + </div> + </report.M103> + <M104>Catégorie thématique</M104> + <alert.M104> + <div> + <h2>Environnement, Cadastre - aménagement, Sciences de la terre, Carte de base - imagerie - couverture du sol + catégorie thématique non égale à la catégorie thématique pour iso19139.che sélectionner une sous catégorie + </h2> + </div> + </alert.M104> + <report.M104> + <div> + <h2>Environnement, Cadastre - aménagement, Sciences de la terre, Carte de base - imagerie - couverture du sol + atégorie thématique non égale à la catégorie thématique pour iso19139.che sélectionner une sous catégorie + </h2> + </div> + </report.M104> + <M105>Contact country code</M105> + <alert.M105> + <div> + <h2>Le Country code n'est pas valide pour un des contacts, les valeurs acceptées sont CH, LI, IT, AT, DE, FR</h2> + </div> + </alert.M105> + <report.M105> + <div> + <h2>Le Country code n'est pas valide pour un des contacts, les valeurs acceptées sont CH, LI, IT, AT, DE, FR</h2> + </div> + </report.M105> + <hierarchyLevelName>Dataset Hierarchy Level Name</hierarchyLevelName> + <alert.needsHierarchyLevelName> + <div>A hierarchyLevelName is required because hierarchyLevel is not dataset (and is present in metadata). The + solution is to add a hierarchyLevelName, remove hierarchyLevel element, or change hierarchyLevel to dataset + </div> + </alert.needsHierarchyLevelName> + <report.needsHierarchyLevelName> + <div>hierarchyLevelName is defined or hierarchyLevel is dataset or hierarchyLevel is not present in metadata</div> + </report.needsHierarchyLevelName> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-iso.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-iso.xml new file mode 100644 index 00000000000..30345ecabf2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-iso.xml @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <schematron.title>Règles ISO 19115/19119</schematron.title> + <M6>Une chaîne de caractère ne doit pas être vide ou son parent doit avoir un attribut nilReason</M6> + <M7>Contraintes sur les attributs CRS</M7> + <M8>Au moins le nom du contact, le nom de l'organisation ou la fonction du contact doivent être renseignés</M8> + <M9>Les autres contraintes doivent être renseignées si les contraintes d'accès ou d'utilisation ont la valeur 'autres restrictions'</M9> + <M10>L'unité est obligatoire si la valeur min ou la valeur max d'une valeur est renseignée</M10> + <M11>La description du référentiel est obligatoire si l'étendue des données sources n'est pas renseignée</M11> + <M12>Une étendue des données sources est obligatoire si la description du référentiel n'est pas renseignée</M12> + <M13>La généalogie de la donnée est obligatoire pour un jeu de données si le référentiel ou l'évènement dans le processus ne sont pas renseignés</M13> + <M14>La description du référentiel est obligatoire si la généalogie de la donnée ou la description de l'évènement dans le processus ne sont pas renseignés</M14> + <M15>La description de l'evenement dans le processus est obligatoire si la généalogie de la donnée ou la description du référentiel</M15> + <M16>Au moins le rapport sur la qualité ou la généalogie de la donnée doit être renseigné</M16> + <M17>La description du niveau de hiérarchie est obligatoire s'il ne s'agit pas d'un jeu ou d'une collection de données</M17> + <M18>L'unité de densité d'enregistrement est obligatoire si la densité est renseignée</M18> + <M19>Au moins le format de distribution ou de diffusion doit être renseignés</M19> + <M20>Au moins la description de l'étendue, l'élément géographique, temporel ou vertical doit être renseignés</M20> + <M21>Au moins la description ou l'étendue spatiale doit être renseignées pour un jeu de données</M21> + <M22>La thèmatique doit être renseigné pour un jeu ou une collection de données</M22> + <M23>Au moins le nom ou l'identifiant du jeu de données aggregé doit être renseigné</M23> + <M24>La langue est obligatoire</M24> + <M25>Le jeu de caractère est obligatoire</M25> + <M26>L'obligation, le maximum d'occurence et les valeurs valides sont obligatoires + si le type valeur n'est pas 'liste de code', 'énumeration', 'élément de liste de code' + </M26> + <M27>La condition est obligatoire si l'obligation a la valeur 'conditionnelle'</M27> + <M28>Le code est obligatoire si le type de valeur a la valeur 'liste de code'</M28> + <M29>Si le type de valeur n'est pas 'liste de code', alors le nom court est obligatoire</M29> + <M30>La description des points de calage est obligatoire si elle est disponible</M30> + <M61>Le nom du niveau de hiérarchie doit être renseigné si le niveau hierarchique ne contient pas 'jeu de données'</M61> + <alert.M6> + <div>La thèmatique doit être renseigné pour un jeu ou une collection de données.</div> + </alert.M6> + <report.M6>La thématique est :</report.M6> + <alert.M6.characterString> + <div>Une chaîne de caractère ne doit pas être vide ou son parent doit avoir un attribut nilReason</div> + </alert.M6.characterString> + <alert.M6.directPosition> + <div>La présence d'un attribut de dimension implique la présence de l'attribut srsName</div> + </alert.M6.directPosition> + <alert.M7.axisAndSrs> + <div>La présence d'un attribut axisLabels implique la présence de l'attribut srsName</div> + </alert.M7.axisAndSrs> + <alert.M7.uomAndSrs> + <div>La présence d'un attribut uomLabels implique la présence de l'attribut srsName</div> + </alert.M7.uomAndSrs> + <alert.M7.uomAndAxis> + <div>La présence d'un attribut uomLabels implique la présence de l'attribut axisLabels et inversement</div> + </alert.M7.uomAndAxis> + <alert.M8> + <div>Au moins le nom du contact, le nom de l'organisation ou la fonction du contact doivent être renseignés + <span class="validationReportSuggestion">Suggestions : Vérifier les informations relatives aux contacts dans la + section métadonnées ou identificaton par exemple. + </span> + </div> + </alert.M8> + <report.M8>Un ou plusieurs noms, organisations ou positions trouvés pour le contact :</report.M8> + <alert.M9.access> + <div>Les autres contraintes sont obligatoires si les contraintes d'accès ont la valeur 'Autres restrictions'. + <br/> + <span class="validationReportSuggestion">Suggestion : Ajouter un élément autres contraintes.</span> + </div> + </alert.M9.access> + <report.M9>Autres restrictions :</report.M9> + <alert.M9.use> + <div>Les autres contraintes sont obligatoires si les contraintes d'utilisation ont la valeur 'Autres restrictions'. + <br/> + <span class="validationReportSuggestion">Suggestion : Ajouter un élément autres contraintes.</span> + </div> + </alert.M9.use> + <alert.M9> + <div>L'unité de la longueur d'onde est obligatoire si la valeur min ou la valeur max est renseignée. + <span class="validationReportSuggestion">Suggestion : Ajouter une unité.</span> + </div> + </alert.M9> + <report.M9.units>Unités :</report.M9.units> + <report.M9.max>Valeur max :</report.M9.max> + <report.M9.min>Valeur min :</report.M9.min> + <alert.M11> + <div>La description du référentiel est obligatoire si une étendue des données sources n'est pas renseignée. + <br/> + <span class="validationReportSuggestion">Suggestion: Ajouter une description ou une étendue.</span> + </div> + </alert.M11> + <report.M11> + <div>Description et source de l'étendue sont documentées pour la généalogie.</div> + </report.M11> + <alert.M12> + <div>Une étendue des données sources est obligatoire si la description du référentiel n'est pas renseignée</div> + </alert.M12> + <alert.M13> + <div>La généalogie de la donnée est obligatoire pour un jeu ou une collection de données si le référentiel ou + l'évènement dans le processus ne sont pas renseignés. + <br/> + <span class="validationReportSuggestion">Suggestion: Ajouter les informations sur la généalogie.</span> + </div> + </alert.M13> + <report.M13> + <div>L'évènement est documenté.</div> + </report.M13> + <alert.M14> + <div>La description du référentiel est obligatoire si la généalogie de la donnée ou la description de l'évènement + dans le processus ne sont pas renseignés. + <br/> + <span class="validationReportSuggestion">Suggestions: Décrire l'évènement ou ajouter des informations sur la + généalogie. + </span> + </div> + </alert.M14> + <report.M14>Source requis si aucun évènement ou processus.</report.M14> + <alert.M15> + <div>La description de l'évènement dans le processus est obligatoire si la généalogie de la donnée ou la description + du référentiel. + <br/> + <span class="validationReportSuggestion">Suggestions: Décrire le référentiel ou ajouter des informations sur la + généalogie. + </span> + </div> + </alert.M15> + <report.M15>Processus requis si aucun évènement ou source.</report.M15> + <alert.M16> + <div>Au moins le rapport sur la qualité ou la généalogie de la ressource doit être renseigné.</div> + </alert.M16> + <report.M16> + <div>Rapport ou généalogie sont définis.</div> + </report.M16> + <alert.M17> + <div>La description du niveau de hiérarchie est obligatoire s'il ne s'agit pas d'un jeu ou d'une collection de + données + </div> + </alert.M17> + <report.M17>La description du niveau de hiérarchie est :</report.M17> + <alert.M18> + <div>L'unité de densité d'enregistrement est obligatoire si la densité est renseignée</div> + </alert.M18> + <report.M18>La densité est :</report.M18> + <alert.M19> + <div>Au moins le format de distribution ou de diffusion doit être renseignés</div> + </alert.M19> + <report.M19>format(s) de distribution trouvés.</report.M19> + <alert.M20> + <div>Au moins la description de l'étendue, l'élément géographique, temporel ou vertical doit être renseignés</div> + </alert.M20> + <report.M20>Une description, un élément géographique, temporel ou vertical est renseigné.</report.M20> + <alert.M21> + <div>Au moins la description ou l'étendue spatiale doit être renseignées s'il s'agit d'un jeu de données</div> + </alert.M21> + <report.M21>L'étendue est définie.</report.M21> + <alert.M23> + <div>Au moins le nom ou l'identifiant du jeu de données aggregé doit être renseigné</div> + </alert.M23> + <report.M23>aggregateDataSetName ou aggregateDataSetIdentifier renseigné.</report.M23> + <alert.M26.obligation> + <div>L'obligation est obligatoire si le type de valeur n'est pas 'liste de code', 'énumeration', 'élément d'une + liste de code' + </div> + </alert.M26.obligation> + <alert.M26.maximumOccurence> + <div>Le maximum d'occurence est obligatoire si le type de valeur n'est pas 'liste de code', 'énumeration', 'élément + d'une liste de code' + </div> + </alert.M26.maximumOccurence> + <alert.M26.domainValue> + <div>Les valeurs valides sont obligatoires si le type de valeur n'est pas 'liste de code', 'énumeration', 'élément + d'une liste de code' + </div> + </alert.M26.domainValue> + <alert.M27> + <div>La condition est obligatoire si l'obligation a la valeur 'conditionnelle'</div> + </alert.M27> + <report.M27>La condition est documentée.</report.M27> + <alert.M28> + <div>Le code est obligatoire si le type de valeur est 'Elément d'une liste de code'</div> + </alert.M28> + <report.M28>Le code est documenté.</report.M28> + <alert.M29> + <div>Le nom court est obligatoire si le type de valeur n'est pas 'Elément d'une liste de code'</div> + </alert.M29> + <report.M29>Le nom court est obligatoire.</report.M29> + <alert.M30> + <div>La description des points de calage est obligatoire si elle est disponible</div> + </alert.M30> + <report.M30>La description des points de calage est documentée.</report.M30> + <alert.M61> + <div> + <h2>Le nom du niveau de hiérarchie doit être renseigné si le niveau hierarchique ne content pas 'jeu de données' + </h2> + </div> + </alert.M61> + <report.M61>Le niveau de hiérarchie est :</report.M61> + + <alert.requiredAbstract>Résumé est un élément obligatoire</alert.requiredAbstract> + <report.requiredAbstract>Résumé trouvé</report.requiredAbstract> + <alert.requiredTitle>Le titre est un élément obligatoire</alert.requiredTitle> + <report.requiredTitle>Titre trouvé</report.requiredTitle> + <alert.requiredDate>La date est un élément obligatoire</alert.requiredDate> + <report.requiredDate>Date trouvée</report.requiredDate> + <alert.requiredDateType>Type de date est un élément obligatoire</alert.requiredDateType> + <report.requiredDateType>Type de date trouvé</report.requiredDateType> + <alert.requiredContact>Contact est un élément obligatoire</alert.requiredContact> + <report.requiredContact>Contact trouvé</report.requiredContact> + <alert.requiredLanguage>Langue est un élément obligatoire</alert.requiredLanguage> + <report.requiredLanguage>Langue trouvée</report.requiredLanguage> + <alert.requiredLanguage>La langue est un élément obligatoire</alert.requiredLanguage> + <report.requiredLanguage>Langue trouvé</report.requiredLanguage> + <alert.requiredCitation>Information de référence est un élément obligatoire</alert.requiredCitation> + <report.requiredCitation>Information de référence trouvé</report.requiredCitation> + + <requiredElements>Required Elements</requiredElements> + <requireCitation>Citation</requireCitation> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-url-check.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-url-check.xml new file mode 100644 index 00000000000..b849c3383f6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/schematron-rules-url-check.xml @@ -0,0 +1,7 @@ +<strings> + <schematron.title>URL Validation</schematron.title> + <invalidURLCheck>Online Resource Link Check</invalidURLCheck> + <alert.invalidURL> + <div>Url is invalid, a 404 or some other error:</div> + </alert.invalidURL> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/fre/strings.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/strings.xml new file mode 100644 index 00000000000..7642d67813f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/fre/strings.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <understandResource>Information about the dataset</understandResource> + <relatedResources>Related services and linked data</relatedResources> + <techInfo>Technical information</techInfo> + <contactInfo>Contact information</contactInfo> + <temporalRef>Temporal information</temporalRef> + <constraintInfo>Contraintes légales</constraintInfo> + + <!-- New strings added for the AngularJS editor --> + <!-- View and tabs --> + <advanced>Complète</advanced> + <default>Simple</default> + <simple>Simple</simple> + <inspire>INSPIRE</inspire> + <bgdi>BGDI</bgdi> + <resource>Ressource</resource> + <xml>XML</xml> + <metadata>Métadonnées</metadata> + <identificationInfo>Identification</identificationInfo> + <distributionInfo>Distribution</distributionInfo> + <dataQualityInfo>Qualité</dataQualityInfo> + <spatialRepresentationInfo>Information spatiale</spatialRepresentationInfo> + <referenceSystemInfo>Système de réf.</referenceSystemInfo> + <contentInfo>Contenu</contentInfo> + <portrayalCatalogueInfo>Représentation</portrayalCatalogueInfo> + <metadataConstraints>Md. contraintes</metadataConstraints> + <metadataMaintenance>Md. maintenance</metadataMaintenance> + <applicationSchemaInfo>Schéma d'app.</applicationSchemaInfo> + <metadataExtensionInfo>Extension</metadataExtensionInfo> + <legislationInformation>Info sur la législation</legislationInformation> + <rsIdentifier>Référentiel de coordonnées</rsIdentifier> + <spatialResolution>Échelle (min ou max)</spatialResolution> + <geometricObjectType>Type de géométrie</geometricObjectType> + + <!-- XSD error translation --> + <invalidElement>Élément invalide. Contenu invalide pour l'élément :</invalidElement> + <onElementOf>Un des éléments suivants</onElementOf> + <isExpected>est attendu.</isExpected> + <isNotComplete>est incomplet.</isNotComplete> + <elementLocated>L'élément parent est</elementLocated> + <missingElement>Élément manquant. Le contenu de l'élément</missingElement> + <invalidValue>Valeur manquante ou invalide.</invalidValue> + <notValidFor>n'est pas une valeur valide pour </notValidFor> + <xsdErrorIs>L'erreur est :</xsdErrorIs> + <inElement>dont le parent est</inElement> + <enum1>La valeur</enum1> + <enum2>n'est pas valide pour le champ</enum2> + <enum3>Les valeurs possibles sont :</enum3> + +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/codelists.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/codelists.xml new file mode 100644 index 00000000000..9298d422811 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/codelists.xml @@ -0,0 +1,865 @@ +<?xml version="1.0" encoding="UTF-8"?> +<codelists xmlns:gmd="http://www.isotc211.org/2005/gmd"> + + <codelist name="gmd:MD_TopicCategoryCode" alias="topicCategory"> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + + <code>imageryBaseMapsEarthCover</code> + <label>A Basiskarten, Bodenbedeckung, Bilddaten</label> + <description>Basiskarten und -daten, z.B. Landbedeckung, topografische Karten, Luftbilder, Ortsnamen</description> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_BaseMaps</code> + <label>A1 Basiskarten, Landschaftsmodelle</label> + <description/> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_EarthCover</code> + <label>A2 Bodenbedeckung, Bodennutzung</label> + <description/> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_Imagery</code> + <label>A3 Luft-, Satellitenbilder</label> + <description/> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>location</code> + <label>B Ortsangaben, Referenzsysteme</label> + <description>Positionierungsangaben und -dienste, z.B. Adressen, Vermessungsnetze, Kontrollpunkte, Postleitzahlenbereiche, Ortsnamen, Gazetteer</description> + + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>elevation</code> + <label>C Höhen</label> + <description>Höhenangabe bezogen auf ein Höhenreferenzsystem, z.B. Höhenlage, Bathymetrie, digitale Geländemodelle, Hangneigung, Höhenmodelle, abgeleitete Daten</description> + + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>boundaries</code> + <label>D Politische und administrative Grenzen</label> + <description>Gesetzlich festgelegte Grenzen, z.B. politische und administrative Grenzen</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>planningCadastre</code> + <label>E Raumplanung, Grundstückskataster</label> + <description>Informationen für die Flächennutzungsplanung, z.B. Landnutzungspläne, Flächennutzungspläne, Katastervermessung, Liegenschaften, Bebauungspläne, Landschaftsprogramm</description> + </entry> + <entry> + <code>planningCadastre_Planning</code> + <label>E1 Raumplanung, Raumentwicklung</label> + <description/> + </entry> + <entry> + <code>planningCadastre_Cadastre</code> + <label>E2 Grundstückskataster</label> + <description/> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>geoscientificInformation</code> + <label>F Geologie, Boden, naturbedingte Risiken</label> + <description>Geowissenschaftliche Informationen, z.B. geophysikalische Eigenschaften und Prozesse, Geologie, Minerale, Zusammensetzung, Struktur und Entstehung des Erdgesteins, Erdbebenrisikoanalysen, vulkanische Aktivität, Erdrutsche, gravimetrische Informationen, Böden, Permafrost, Hydrogeologie, Erosion</description> + </entry> + <entry> + <code>geoscientificInformation_Geology</code> + <label>F1 Geologie</label> + <description/> + </entry> + <entry> + <code>geoscientificInformation_Soils</code> + <label>F2 Boden</label> + <description/> + </entry> + <entry> + <code>geoscientificInformation_NaturalHazards</code> + <label>F3 Naturbedingte Risiken</label> + <description/> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>biota</code> + <label>G Wald, Flora, Fauna</label> + <description>Flora und/oder Fauna in der natürlichen Umgebung, z.B. wild lebende Tiere, Vegetation, Biowissenschaften, Ökologie, Wildnis, marine Lebewesen, Feuchtgebiete, Habitate, Biotope</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>oceans</code> + <label>H Meere</label> + <description>Merkmale und Charakteristika von salzhaltigen Gewässern (ausser Binnengewässern), z.B. Gezeiten, Tidenwelle, Küsteninformationen, Riffe</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>inlandWaters</code> + <label>I Gewässer</label> + <description>Binnengewässerdaten, Gewässernetze und deren Eigenschaften, z.B. Flüsse und Gletscher, Salzseen, Wassernutzungspläne, Dämme, Strömungen, Hochwasser, Wasserqualität</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>climatologyMeteorologyAtmosphere</code> + <label>K Atmosphäre, Luft, Klima</label> + <description>Prozesse und Naturereignisse der Atmosphäre inkl. Klimatologie und Meteorologie, z.B. Wolkenbedeckung, Wetter, Klima, Witterungsverhältnisse, Klimawandel, Niederschlag</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>environment</code> + <label>L Umwelt-, Naturschutz</label> + <description>Umweltressourcen, Umweltschutz und Umwelterhaltung, z.B. Umweltverschmutzung, Abfalllagerung und -verwertung, Umweltverträglichkeitsstudie, Umweltrisikomonitoring, Naturreservate, Landschaft</description> + </entry> + <entry> + <code>environment_EnvironmentalProtection</code> + <label>L1 Umweltschutz, Lärm</label> + <description/> + </entry> + <entry> + <code>environment_NatureProtection</code> + <label>L2 Natur- und Landschaftsschutz</label> + <description/> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>society</code> + <label>M Bevölkerung, Gesellschaft, Kultur</label> + <description>Kulturelle und gesellschaftliche Merkmale, z.B. Besiedlung, Anthropologie, Archäologie, Bildung, Religion, Sitten und Bräuche, demografische Daten, Erholungsgebiete und -aktivitäten, Sozialstudie, Verbrechen und Justiz, Zensusdaten</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>health</code> + <label>N Gesundheit</label> + <description>Gesundheit, Gesundheitsdienste, Humanökologie und Betriebssicherheit, z.B. Erkrankungen und Krankheit, Gesundheitsfaktoren, Hygiene, Drogenmissbrauch, psychische und physische Gesundheit, Gesundheitsdienste</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + + <code>structure</code> + <label>O Gebäude, Anlagen</label> + <description>Anthropogene Bauten, z.B. Gebäude, Museen, Kirchen, Fabriken, Wohngebäude, Denkmäler, Geschäfte, Türme</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>transportation</code> + + <label>P Verkehr</label> + <description>Mittel und Wege zur Beförderung von Personen und/oder Gütern, z.B. Strassen, Flughäfen/Landepisten, Schifffahrtswege, Tunnel, Seekarten, Positionen von Fahrzeugen, Luftfahrtskarten, Schienennetz</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>utilitiesCommunication</code> + <label>Q Ver-, Entsorgung, Kommunikation</label> + + <description>Energie-, Wasser- und Abfallsysteme, Kommunikationsinfrastruktur und -dienste, z.B. Wasserkraft, geothermische, solare und nukleare Energiequellen, Wasseraufbereitung- und verteilung, Abwassersammlung- und aufbereitung, Hochspannungs- und Gasleitungen, Datenkommunikation, Telekommunikation, Radio, Kommunikationsnetzwerke</description> + </entry> + <entry> + <code>utilitiesCommunication_Energy</code> + <label>Q1 Energie</label> + <description>Energie</description> + </entry> + <entry> + <code>utilitiesCommunication_Utilities</code> + <label>Q2 Wasser- und Abfallsysteme</label> + <description></description> + </entry> + <entry> + <code>utilitiesCommunication_Communication</code> + <label>Q3 Kommunikation</label> + <description></description> + </entry> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>intelligenceMilitary</code> + <label>R Militär, Sicherheit</label> + <description>Militärbasen, militärische Einrichtungen und Aktivitäten, z.B. Kasernen, Truppenübungsplätze, militärisches Transportwesen, Nachrichtendienst</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>farming</code> + <label>S Landwirtschaft</label> + <description>Tierzucht und/oder Pflanzenanbau, z.B. Agrarindustrie, Bewässerung, Aquakultur, Plantage, Beweidung, Schädlinge und Krankheiten, die Anbaupflanzen oder Viehbestände beeinflussen</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>economy</code> + <label>T Wirtschaftliche Aktivitäten</label> + <description>Wirtschaftliche Aktivitäten, Verhältnisse und Beschäftigung, z.B. Produktion, Arbeit, Einkommen, Handel, Industrie, Tourismus und Ökotourismus, Forstwirtschaft, Fischerei, kommerzielle und subsistente Jagd, Erkundung und Ausbeutung von Ressourcen, wie Minerale, Öl und Gas</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + </codelist> + <!-- + <codelist name="gmd:CI_DateTypeCode"> + <entry><code></code><label></label><description></description></entry> + </codelist>--> + <codelist name="gmd:Country"> + <entry> + <code>CH</code> + <label>Schweiz</label> + <description/> + </entry> + <entry> + <code>LI</code> + <label>Liechtenstein</label> + <description/> + </entry> + <entry> + <code>DE</code> + <label>Deutschland</label> + <description/> + </entry> + <entry> + <code>FR</code> + <label>Frankreich</label> + <description/> + </entry> + <entry> + <code>IT</code> + <label>Italien</label> + <description/> + </entry> + <entry> + <code>AT</code> + <label>Österreich</label> + <description/> + </entry> + </codelist> + <codelist name="gmd:LanguageCode"> + <entry> + <code>ger</code> + <label>deutsch</label> + <description/> + </entry> + <entry> + <code>fre</code> + <label>französish</label> + <description/> + </entry> + <entry> + <code>ita</code> + <label>italienisch</label> + <description/> + </entry> + <entry> + <code>eng</code> + <label>englisch</label> + <description/> + </entry> + <entry> + <code>roh</code> + <label>rätoromanisch</label> + <description/> + </entry> + </codelist> + <codelist name="gmd:MD_ScopeCode"> + <entry> + <code>attribute</code> + <label>Attributinstanz</label> + <description>Information gilt für eine konkrete Ausprägung einer Attributart, den Attributwert</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>attributeType</code> + <label>Attributart</label> + <description>Information gilt für eine Attributart</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionHardware</code> + <label>Erfassungsgeräte</label> + <description>Information gilt für die eingesetzten Geräte zur Datenerfassung</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionSession</code> + <label>Erfassungsaktion</label> + <description>Information gilt für die Aktivitäten einer Datenerfassungsaktion</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dataset</code> + <label>Datenbestand</label> + <description>Information gilt für einen Datenbestand</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <!--GEOCAT--> + <entry> + <code>basicgeodata</code> + <label>Geobasisdaten</label> + <description></description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>basicgeodata-federal</code> + <label>Geobasisdaten - Bund</label> + <description></description> + </entry> + <entry> + <code>basicgeodata-cantonal</code> + <label>Geobasisdaten - Kantone</label> + <description></description> + </entry> + <entry> + <code>basicgeodata-communal</code> + <label>Geobasisdaten - Gemeinden</label> + <description></description> + </entry> + <entry> + <code>service-OGC:WFS</code> + <label>WFS-Dienst</label> + <description></description> + </entry> + <entry> + <code>service-OGC:WMS</code> + <label>WMS-Dienst</label> + <description></description> + </entry> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>series</code> + <label>Serie</label> + <description>Information gilt für eine Serie + + Anmerkung: Der Begriff Serie bezieht sich auf jeglichen Zusammenschluss über DS_Aggregate + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>nonGeographicDataset</code> + <label>nichtgeografischer Datenbestand</label> + <description>Information gilt für einen nicht geografischen Datensatz</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dimensionGroup</code> + <label>Dimensionsgruppe</label> + <description>Information gilt für eine Dimensionsgruppe</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>feature</code> + <label>Objektinstanz</label> + <description>Information gilt für ein konkretes Objekt</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>featureType</code> + <label>Objektart</label> + <description>Information gilt für eine Klasse gleichartiger Objektinstanzen</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>propertyType</code> + <label>Eigenschaftsart</label> + <description>Information gilt für die Eigenschaften einer Objektart</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>fieldSession</code> + <label>Feldkampagne</label> + <description>Information gilt für eine Datenerhebungsaktivität im Gelände</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>software</code> + <label>Software</label> + <description>Information gilt für Softwaresysteme, -module oder –routinen</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>service</code> + <label>Service</label> + <description>Information gilt für einen Dienst, welcher von einem Anbieter über definierte Schnittstellen einem + Dienstnutzer zur Verfügung gestellt wird + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>model</code> + <label>Modell</label> + <description>Information gilt für eine Nachbildung eines realen oder hypothetischen Objekts</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>tile</code> + <label>Kachel</label> + <description>Information gilt für eine räumliche Untereinheit von geografischen Daten</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <!--<entry> + <code>stereomate</code> + <label>stereomate</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as a stereo mate (DS_StereoMate)</description> + </entry>--> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <!--<entry> + <code>sensor</code> + <label>Sensor</label> + <description>Einheit oder Teil einer Ausrüstung, welche erfasst oder registriert</description> + </entry> + <entry> + <code>transferAggregate</code> + <label>transferAggregate</label> + + <description>The referencing entity applies to a transfer aggregate which has no existence + outside of the transfer context</description> + </entry>--> + <!-- - - - - - - - - - - - + <entry> + <code>initiative</code> + <label>initiative</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as an initiative (DS_Initiative)</description> + + </entry> + + <entry> + <code>platformSeries</code> + <label>platformSeries</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as a platform series (DS_PlatformSeries)</description> + </entry> + <entry> + + <code>sensorSeries</code> + <label>sensorSeries</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as a sensor series (DS_SensorSeries)</description> + </entry> + <entry> + <code>productionSeries</code> + + <label>productionSeries</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as a production series (DS_ProductionSeries)</description> + </entry> + + <entry> + <code>otherAggregate</code> + <label>otherAggregate</label> + <description>The referencing entity applies to a transfer aggregate which has an existence + outside of the transfer context, but which does not pertains to a specific aggregate + type.</description> + + </entry> + --> + <entry> + <code>project</code> + <label>Projekt</label> + <description>Das Projekt definiert den organisatorischen Rahmen zur Umsetzung eines Auftrags.</description> + </entry> + <entry> + <code>stationSite</code> + <label>Station</label> + <description>Datenerhebungsaktivitäten von Messstationen. Dieser Datentyp beschreibt nicht die Daten selbst, + sondern die Art und Weise der Erfassung (erhobene Parameter, Methoden, Instrumente) + </description> + </entry> + <entry> + <code>publication</code> + <label>Publikation</label> + <description>Publikationen und Produkte (Broschüren, Artikel, Berichte, audiovisuelles Material)</description> + </entry> + </codelist> + <codelist name="che:CHE_CI_LegislationCode"> + <entry> + <code>cantonalLaw</code> + <label>kantonales Gesetz</label> + <description>kantonales Gesetz</description> + </entry> + <entry> + <code>nationalLaw</code> + <label>nationales Gesetz</label> + <description>nationales Gesetz</description> + </entry> + <entry> + <code>nationalDecree</code> + <label>nationale Verordnung</label> + <description>nationale Verordnung</description> + </entry> + <entry> + <code>internationalObligation</code> + <label>internationales Abkommen</label> + <description>internationales Abkommen</description> + </entry> + <entry> + <code>otherLegalText</code> + <label>sonstiger Gesetzestext</label> + <description>sonstiger Gesetzestext</description> + </entry> + <entry> + <code>bylawsPrivatLaw</code> + <label>privat-rechtliche Statuten</label> + <description>privat-rechtliche Statuten</description> + </entry> + <entry> + <code>bylawsPublicLaw</code> + <label>öffentlich-rechtliche Statuten</label> + <description>öffentlich-rechtliche Statuten</description> + </entry> + <entry> + <code>communalLaw</code> + <label>kommunales Gesetz</label> + <description>kommunales Gesetz</description> + </entry> + </codelist> + <codelist name="che:CI_NumberTypeCode"> + <entry> + <code>mainNumber</code> + <label>Hauptnummer</label> + <description>Hauptnummer</description> + </entry> + <entry> + <code>directNumber</code> + <label>Direkte Nummer</label> + <description>Direkte Nummer</description> + </entry> + <entry> + <code>mobile</code> + <label>Natelnummer</label> + <description>Natelnummer</description> + </entry> + <entry> + <code>facsimile</code> + <label>Faxnummer</label> + <description>Faxnummer</description> + </entry> + </codelist> + <codelist name="che:CHE_MD_FilmTypeCode"> + <entry> + <code>BW</code> + <label>SW</label> + <description>Schwarz/Weiss</description> + </entry> + <entry> + <code>C</code> + <label>F</label> + <description>Farbe</description> + </entry> + <entry> + <code>CIR</code> + <label>FIR</label> + <description>Farbe Infrarot</description> + </entry> + <entry> + <code>IR</code> + <label>IR</label> + <description>Infrarot</description> + </entry> + </codelist> + <codelist name="che:CHE_CI_projectTypeCode"> + <entry> + <code>research</code> + <label>Forschung</label> + <description>Forschung</description> + </entry> + <entry> + <code>monitoringProgram</code> + <label>Überwachungsprogramm</label> + <description>Überwachungsprogramm</description> + </entry> + <entry> + <code>workProgram</code> + <label>Arbeitsprogramm</label> + <description>Arbeitsprogramm</description> + </entry> + <entry> + <code>inventory</code> + <label>Inventar</label> + <description>Inventar / Aufnahme</description> + </entry> + <entry> + <code>planning</code> + <label>Planung</label> + <description>Planung</description> + </entry> + </codelist> + <codelist name="che:basicGeodataIDTypeCode"> + <entry> + <code>communal</code> + <label>Gemeinde</label> + <description>Geobasisdatensatz-ID auf Gemeindeebene</description> + </entry> + <entry> + <code>cantonal</code> + <label>Kanton</label> + <description>Geobasisdatensatz-ID auf Kantonsebene</description> + </entry> + <entry> + <code>federal</code> + <label>Bund</label> + <description>Geobasisdatensatz-ID auf Bundesebene (Sammlung der Geobasisdatensätze des Bundesrechts)</description> + </entry> + <entry> + <code>other</code> + <label>Andere</label> + </entry> + </codelist> + <codelist name="che:CHE_MD_modelTypeCode"> + <entry> + <code>FeatureDescription</code> + <label>Objektbeschreibung</label> + <description>Konzeptionelle Beschreibung des Modells</description> + </entry> + <entry> + <code>UMLdiagram</code> + <label>UML-Diagramm</label> + <description>Grafische Beschreibung des Modells in UML</description> + </entry> + <entry> + <code>EntityRelationshipModel</code> + <label>Entity-Relationship-Diagramm</label> + <description>Grafische Beschreibung des Modells als ER-Diagramm</description> + </entry> + <entry> + <code>INTERLIS1</code> + <label>INTERLIS 1</label> + <description>Textuelle Beschreibung des Modells in INTERLIS 1</description> + </entry> + <entry> + <code>INTERLIS2</code> + <label>INTERLIS 2</label> + <description>Textuelle Beschreibung des Modells in INTERLIS 2</description> + </entry> + <entry> + <code>GML</code> + <label>GML</label> + <description>Textuelle Beschreibung des Modells in GML</description> + </entry> + <entry> + <code>Other</code> + <label>Andere</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_SV_inspireServiceTypeCode"> + <entry> + <code>DiscoveryService</code> + <label>Suchdienst</label> + </entry> + <entry> + <code>ViewService</code> + <label>Darstellungsdienst</label> + </entry> + <entry> + <code>DownloadService</code> + <label>Downloaddienst</label> + </entry> + <entry> + <code>TransformationService</code> + <label>Transformationsdienst</label> + </entry> + <entry> + <code>InvokeSpatialDataService</code> + <label>Verkettete Geodatendienste</label> + </entry> + <entry> + <code>OtherServices</code> + <label>Andere Dienste</label> + </entry> + </codelist> + <codelist name="gmd:DS_InitiativeTypeCode" alias="initiativeType"/> + <codelist name="gmd:DS_AssociationTypeCode" alias="associationType"> + <entry> + <code>largerWorkCitation</code> + <label>Larger work citation</label> + <description>Bezug zu einem übergeordneten Datensatz, von dem dieser Datensatz ein Teil ist</description> + </entry> + <entry> + <code>isTemporalStatOf</code> + <label>Temporal state</label> + <description>Bezug zu einem übergeordneten Datensatz, von dem vorliegender Datensatz einen zeitlichen Zustand + beschreibt. + </description> + </entry> + <entry> + <code>isDescriptionOf</code> + <label>Description</label> + <description>Bezug zu einem übergeordneten Datensatz, der durch vorliegenden Datensatz genauer beschrieben wird. + </description> + </entry> + </codelist> + <codelist name="che:MD_geodataTypeCode"> + <entry> + <code>basicGeodata</code> + <label>Basic Geodata</label> + </entry> + <entry> + <code>oereb</code> + <label>oereb</label> + </entry> + <entry> + <code>oerebRegister</code> + <label>oereb Register</label> + </entry> + <entry> + <code>openGovernmentData</code> + <label>Open Government Data</label> + </entry> + <entry> + <code>openData</code> + <label>Open Data</label> + </entry> + <entry> + <code>referenceGeodata</code> + <label>Reference Geodata</label> + </entry> + </codelist> + <!-- Geocat override: asked on behalf of SB-422 --> + <codelist name="gmd:CI_RoleCode"> + <entry> + <code>resourceProvider</code> + <label>Anbieter</label> + <description>Anbieter der Ressource</description> + + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>custodian</code> + <label>Verwalter</label> + <description>Person oder Stelle, welche die Zuständigkeit und Verantwortlichkeit für einen Datensatz übernommen + hat und seine sachgerechte Pflege und Wartung sichert + </description> + </entry> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>owner</code> + <label>Eigentümer / Datenherr</label> + <description>Eigentümer/Datenherr der Ressource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + + <entry> + <code>user</code> + <label>Nutzer</label> + <description>Nutzer der Ressource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + + <code>distributor</code> + <label>Vertrieb</label> + <description>Person oder Stelle, die für den Vertrieb zuständig ist</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>originator</code> + + <label>Urheber</label> + <description>Erzeuger der Ressource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>pointOfContact</code> + <label>Ansprechpartner</label> + + <description>Kontakt für Informationen zur Ressource oder deren Bezugsmöglichkeiten</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>principalInvestigator</code> + <label>Projektleitung</label> + <description>Person oder Stelle, die verantwortlich für die Erhebung der Daten, Untersuchung ist</description> + + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>processor</code> + <label>Bearbeiter</label> + <description>Person oder Stelle, die die Resource in einem Arbeitsschritt verändert hat</description> + </entry> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>publisher</code> + <label>Herausgeber</label> + <description>Person oder Stelle, welche die Ressource veröffentlicht</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + + <entry> + <code>author</code> + <label>Autor</label> + <description>Verfasser der Ressource</description> + </entry> + <entry> + <code>editor</code> + <label>Editor</label> + <description>Verleger einer Publikation</description> + </entry> + <entry> + <code>partner</code> + <label>Partner</label> + <description>Beiteiligter bei der Erstellung der Ressource</description> + </entry> + <entry> + <code>specialistAuthority</code> + <label>Fachstelle des Bundes</label> + <description>Fachstelle des Bundes</description> + </entry> + </codelist> + <codelist name="che:CHE_AppraisalOfArchivalValueCode"> + <entry> + <code>A</code> + <label>archivwürdig</label> + <description>archivwürdig</description> + </entry> + <entry> + <code>N</code> + <label>nicht archivwürdig</label> + <description>nicht archivwürdig</description> + </entry> + <entry> + <code>S</code> + <label>sampling / selektion</label> + <description>sampling / selektion</description> + </entry> + </codelist> + <codelist name="che:CHE_ReasonForArchivingValueCode"> + <entry> + <code>legalRelevance</code> + <label>Rechtliche Relevanz</label> + <description>Rechtliche Relevanz</description> + </entry> + <entry> + <code>guaranteeOfLegalCertainty</code> + <label>Gewährleistung der Rechtssicherheit</label> + <description>Gewährleistung der Rechtssicherheit</description> + </entry> + <entry> + <code>evidenceOfBusinessPractice</code> + <label>Nachweis der Geschäftspraxis</label> + <description>Nachweis der Geschäftspraxis</description> + </entry> + <entry> + <code>benefitsForResearch</code> + <label>Nutzen für die Forschung</label> + <description>Nutzen für die Forschung</description> + </entry> + <entry> + <code>contemporaryInterest</code> + <label>Zeitgenössisches Interesse</label> + <description>Zeitgenössisches Interesse</description> + </entry> + <entry> + <code>sensitivity</code> + <label>Brisanz</label> + <description>Brisanz</description> + </entry> + <entry> + <code>developmentsProgression</code> + <label>Entwicklungen / Verlauf</label> + <description>Entwicklungen / Verlauf</description> + </entry> + <entry> + <code>definingPowers</code> + <label>Definitionsmacht</label> + <description>Definitionsmacht</description> + </entry> + </codelist> +</codelists> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/labels.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/labels.xml new file mode 100644 index 00000000000..35328bd430b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/labels.xml @@ -0,0 +1,754 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<labels xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che"> + <element name="che:CHE_MD_Metadata" id="36"> + <label>Metadaten</label> + <help/> + <condition/> + <description>Metadaten über eine Ressource oder Ressourcen</description> + </element> + <element name="che:CHE_MD_DataIdentification" id="36"> + <label>Basisinformation zum Datenbestand</label> + <help/> + <condition/> + <description>Basisinformation zur eindeutigen Beschreibung des Datenbestands</description> + </element> + <element name="gmd:administrativeArea" context="che:CHE_CI_Address" id="383"> + <label>Verwaltungseinheit</label> + <help/> + <condition/> + <description>Bundesland oder Kanton</description> + </element> + <element name="che:organisationAcronym" context="che:CHE_CI_ResponsibleParty" id="501.0"> + <label>Abkürzung der Organisation</label> + <help>z.B. BAFU, swisstopo...</help> + <condition/> + <description>Kurzbezeichnung oder Abkürzung der Organisation.</description> + </element> + <element name="che:parentResponsibleParty" context="che:CHE_CI_ResponsibleParty" id="518.0"> + <label>Übergeordnete Stelle</label> + <help>Beschreibung von Adresshierarchien (z.B. Adresse des Hauptsitzes und Abteilung). Hier + können Angaben über die übergeordnete Stelle/ Organisation der verantwortlichen Person + oder Stelle (CI_ResponsibleParty) gemacht werden. Der Verweis erfolgt auf sich selbst, + auch die Koordinaten der übergeordneten Stelle sind vom Diese Angaben sind vom Datentyp + CI_ResponsibleParty und werden in der gleichnamigen Klasse verwaltet. + </help> + <condition/> + <description>Beschreibung von Adresshierarchien (z.B. Adresse des Hauptsitzes und + Abteilung) + </description> + </element> + <element name="che:individualFirstName" context="che:CHE_CI_ResponsibleParty" id="521.0"> + <label>Vorname</label> + <help/> + <condition/> + <description/> + </element> + <element name="che:individualLastName" context="che:CHE_CI_ResponsibleParty" id="522.0"> + <label>Nachname</label> + <help/> + <condition>Es muss entweder der Nachname, der Name der Organisation oder die Position angegeben werden</condition> + <description/> + </element> + <element name="che:electronicalMailAddress" context="che:CHE_CI_ResponsibleParty" id="523.0"> + <label>E-Mail</label> + <help/> + <condition/> + <description>E-Mail-Adresse</description> + </element> + <element name="che:linkage" context="che:CHE_CI_ResponsibleParty" id="524.0"> + <label>Online-Information</label> + <help>Hier kann z.B. der Internetauftritt der verantwortlichen Stelle angegeben werden.</help> + <condition/> + <description>Online-Information zur Kontaktaufnahme mit der Person oder Organisation</description> + </element> + <element name="che:address" context="che:CHE_CI_ResponsibleParty" id="525.0"> + <label>Adressangaben</label> + <help/> + <condition/> + <description>Postanschrift, unter der die verantwortliche Person oder Organisation kontaktiert werden kann + </description> + </element> + <element name="che:phone" context="che:CHE_CI_ResponsibleParty" id="526.0"> + <label>Telefon</label> + <help/> + <condition/> + <description>Telefonnummer (Festnetz/Mobil/Fax) der verantwortlichen Person oder Organisation</description> + </element> + <element name="che:number" context="gmd:CHE_CI_Telephone" id="527.0"> + <label>Nummer</label> + <help>Nummer für Telefon, Mobiltelefon oder Fax. Die Art der Nummer wird mit dem Nummerntyp + definiert. + </help> + <condition/> + <description>Nummer für Telefon, Mobiltelefon oder Fax</description> + </element> + <element name="che:numberType" context="gmd:CHE_CI_Telephone" id="528.0"> + <label>Nummerntyp</label> + <help>Art der Nummer, welche aus der folgenden Liste ausgewählt werden kann: Hauptnummer, + Direkte Nummer, Mobiltelefon, Faxnummer + </help> + <condition/> + <description>Nummerntyp</description> + </element> + <element name="che:streetName" context="che:CHE_CI_Address" id="529.0"> + <label>Strassenname</label> + <help/> + <condition/> + <description>Strassenname des Standortes</description> + </element> + <element name="che:streetNumber" context="che:CHE_CI_Address" id="530.0"> + <label>Hausnummer</label> + <help/> + <condition/> + <description>Hausnummer des Standortes</description> + </element> + <element name="che:addressLine" context="che:CHE_CI_Address" id="531.0"> + <label>Addresszusatz</label> + <help/> + <condition/> + <description>Adresszusatz (z.B. c/o)</description> + </element> + <element name="che:postBox" context="che:CHE_CI_Address" id="532.0"> + <label>Postfach</label> + <help/> + <condition/> + <description/> + </element> + <element name="che:CHE_MD_CodeDomain" id="536"> + <label>Code-Domäne</label> + <help>Ein Wertebereich ist z.B. Lkoord, CharacterString, Integer etc.</help> + <condition/> + <description>Benannte Wertebereichsdefinition eines Objektkataloges</description> + </element> + <element name="che:name" context="che:CHE_MD_CodeDomain" id="537.0"> + <label>Bezeichnung</label> + <help/> + <condition/> + <description>Bezeichnung der Wertebereichsdefinition</description> + </element> + <element name="che:subDomain" context="che:CHE_MD_CodeDomain" id="538.0"> + <label>Unterdomäne</label> + <help/> + <condition/> + <description>Verweis auf die erweiterten Wertebereichsdefinitionen (Vererbung).</description> + </element> + <element name="che:baseDomain" context="che:CHE_MD_CodeDomain" id="539.0"> + <label>Basisdomäne</label> + <help/> + <condition/> + <description>Verweis auf die zugrundeliegenden Wertebereichsdefinitionen</description> + </element> + <element name="che:type" context="che:CHE_MD_CodeDomain" id="540.0"> + <label>Datentyp</label> + <help>Ein Datentyp, der Werte beschreibt, im Gegensatz zu einer Klasse, die Objekte + beschreibt. Werte haben keine Identität und stehen in einer "Viele-zu-Eins"-Beziehung + mit Elementen, die ausserhalb des Modells definiert sind. + </help> + <condition/> + <description>Datentyp der Wertebereichsdefinition</description> + </element> + <element name="che:description" context="che:CHE_MD_CodeDomain" id="541.0"> + <label>Beschreibung</label> + <help/> + <condition/> + <description>Beschreibung der Wertebereichsdefinition</description> + </element> + <element name="che:CHE_MD_Type" id="542.0"> + <label>Typ</label> + <help>Ein Datentyp, der Werte beschreibt, im Gegensatz zu einer Klasse, die Objekte + beschreibt. Werte haben keine Identität und stehen in einer "Viele-zu-Eins"-Beziehung + mit Elementen, die ausserhalb des Modells definiert sind. + </help> + <condition/> + <description>Datentyp, der Werte beschreibt</description> + </element> + <element name="che:type" context="che:CHE_MD_Type" id="543.0"> + <label>Typdefinition</label> + <help/> + <condition/> + <description>Datentyp-Definition, formal oder informal (z.B. Text12, Linie)</description> + </element> + <element name="che:value" context="che:CHE_MD_Type" id="544.0"> + <label>Wert</label> + <help>Liste der einzelnen Werte bei einer Codeliste oder Aufzählung.</help> + <condition/> + <description>Liste der Werte</description> + </element> + <element name="che:CHE_MD_CodeValue" id="545.0"> + <label>Wert</label> + <help/> + <condition/> + <description>Einzelner Wert bei einer Codeliste oder Aufzählung.</description> + </element> + <element name="che:name" context="che:CHE_MD_CodeValue" id="546.0"> + <label>Bezeichnung</label> + <help/> + <condition/> + <description>Bezeichnung des Wertes</description> + </element> + <element name="che:code" context="che:CHE_MD_CodeValue" id="547.0"> + <label>Code</label> + <help/> + <condition/> + <description>Codes des Wertes (z.B. eine Zahl)</description> + </element> + <element name="che:subValue" context="che:CHE_MD_CodeValue" id="548.0"> + <label>Unteraufzählung</label> + <help/> + <condition/> + <description>Wird ein Wert einer Auzählung weiter (feiner) unterteilt, wird damit auf die + untergeordneten Werte verwiesen. + </description> + </element> + <element name="che:description" context="che:CHE_MD_CodeValue" id="549.0"> + <label>Beschreibung des Wertes</label> + <help/> + <condition/> + <description/> + </element> + <element name="che:CHE_MD_Attribute" id="550.0"> + <label>Attribut</label> + <help/> + <condition/> + <description>Attribute, welche in Klassen oder Assoziationen benutzt werden</description> + </element> + <element name="che:name" context="che:attribute" id="551.0"> + <label>Name</label> + <help/> + <condition/> + <description>Bezeichnung des Attributs</description> + </element> + <element name="che:description" context="che:attribute" id="552.0"> + <label>Beschreibung</label> + <help/> + <condition/> + <description>Beschreibung des Attributs</description> + </element> + <element name="che:namedType" id="553.0"> + <label>Benannter Typ</label> + <help/> + <condition/> + <description>Verweis auf Wertebereichsedefinition</description> + </element> + <element name="che:anonymousType" id="554.0"> + <label>Wertebereich</label> + <help/> + <condition/> + <description>Wertebereich, der durch die Unterklassen MD_Type und MD_CodeValue definiert + wird. + </description> + </element> + <element name="che:CHE_MD_Role" id="555.0"> + <label>Rolle</label> + <help/> + <condition/> + <description>Beschreibung eines Endes eines Assoziation. Jede Assoziation besitzt 2 Enden, jedes + Ende ist mit einer Klasse verbunden. Ein Ende kann explizit mit einem Namen versehen + werden. Dieser wird hier angegeben. + </description> + </element> + <element name="che:name" context="che:CHE_MD_Role" id="556.0"> + <label>Name</label> + <help/> + <condition/> + <description>Bezeichnung der Rolle</description> + </element> + <element name="che:description" context="che:CHE_MD_Role" id="557.0"> + <label>Beschreibung</label> + <help/> + <condition/> + <description>Beschreibung der Rolle</description> + </element> + <element name="che:toClass" context="che:CHE_MD_Role" id="558.0"> + <label>zur Klasse</label> + <help/> + <condition/> + <description>Zeiger auf jene Klasse, welcher die Rolle zugeordnet ist</description> + </element> + <element name="che:CHE_MD_AbstractClass" id="559.0"> + <label>Abstrakte Klasse</label> + <help/> + <condition/> + <description>Übergeordnete, abstrakte Klasse von MD_Association und MD_Class</description> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_AbstractClass"> + <label>Name</label> + <help/> + <condition/> + <description>Bezeichnung der abstrakten Klasse</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_AbstractClass"> + <label>Beschreibung</label> + <help/> + <condition/> + <description>Beschreibung der abstrakten Klasse</description> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_Association"> + <label>Name</label> + <description>Bezeichnung der Assoziation</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_Association"> + <label>Beschreibung</label> + <description>Beschreibung der Assoziation</description> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_Class"> + <label>Bezeichnung</label> + <description>Bezeichnung der Klasse</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_Class"> + <label>Beschreibung</label> + <description>Beschreibung der Klasse</description> + </element> + <element name="che:subClass" id="562.0"> + <label>Unterklasse</label> + <help/> + <condition/> + <description>Verweis auf die erweiterten Klassen (Vererbung) einer abstrakten Klasse</description> + </element> + <element name="che:baseClass" id="563.0"> + <label>Basisklasse</label> + <help/> + <condition/> + <description>Verweis auf die zugrundeliegende Klasse (Vererbung) einer abstrakten Klasse</description> + </element> + <element name="che:CHE_MD_Class" id="564.0"> + <label>Klasse</label> + <help/> + <condition/> + <description>Beschreibung einer Klasse eines Feature-Kataloges. Eine Klasse ist eine Menge von + gleichartigen Objekten mit gleichen Eigenschaften. Jede Eigenschaft wird durch ein + Attribut beschrieben. + </description> + </element> + <element name="che:CHE_MD_Association" id="565.0"> + <label>Assoziation</label> + <help/> + <condition/> + <description>Beschreibung der konkreten Beziehung zwischen Klassen</description> + </element> + <element name="che:role" id="566.0"> + <label>Rolle</label> + <help/> + <condition/> + <description>Verweis auf die Enden (Rollen) einer konkreten Beziehung</description> + </element> + <element name="che:attribute" id="586.0"> + <label>Attribut</label> + <description>Attribut einer Klasse</description> + <condition/> + </element> + <element name="che:legislationInformation" id="505"> + <label>Gesetzgebung</label> + <help>Informationen über rechtliche Belange, welche die Ressource(n) betreffen. Diese Angaben + werden in der Klasse MD_Legislation verwaltet. + </help> + <condition/> + <description>Informationen über rechtliche Belange, welche die Ressource(n) + betreffen + </description> + </element> + <element name="che:CHE_MD_Legislation" id="506.0"> + <label>Gesetzgebung</label> + <help>z.B. Angaben über Gesetze und Verordnungen.</help> + <condition/> + <description>Informationen über gesetzliche Vorschriften.</description> + </element> + <element name="che:title" id="507.0"> + <label>Gesetzestitel</label> + <help/> + <condition>Titel und Datumsangaben sind obligatorisch</condition> + <description>Bezeichnung und Datum des Gesetzestexts.</description> + </element> + <element name="che:country" context="che:CHE_MD_Legislation" id="508.0"> + <label>Land</label> + <help>Land, in welchem das Gesetz erlassen wurde, Auswahl aus der ISO-Länderliste.</help> + <condition>Obligatorisch</condition> + <description>Land in welchem das Gesetz erlassen wurde.</description> + <helper> + <option value="CH">Schweiz (CH)</option> + <option value="DE">Deutschland (DE)</option> + <option value="LI">Lichtenstein (LI)</option> + <option value="FR">Frankreich (FR)</option> + <option value="IT">Italien (IT)</option> + <option value="AT">Österreich (AT)</option> + </helper> + </element> + <element name="che:language" context="che:CHE_MD_Legislation" id="509.0"> + <label>Sprache</label> + <help/> + <condition>Obligatorisch</condition> + <description>Sprache in welcher das Gesetz verfasst ist.</description> + </element> + <element name="che:legislationType" context="che:CHE_MD_Legislation" id="510.0"> + <label>Gesetzestyp</label> + <help>Auswahl aus folgender Liste: privat-rechtliche Statuten, öffentlich-rechtliche Statuten, kommunales Gesetz, + kantonales Gesetz, nationales Gesetz, nationale Verordnung, internationales Abkommen, sonstige Vereinbarung. + </help> + <condition>Obligatorisch</condition> + <description>Art des Gesetzes.</description> + </element> + <element name="che:internalReference" context="che:CHE_MD_Legislation" id="511.0"> + <label>Interne Referenz</label> + <help/> + <condition/> + <description>gesetzesinterne Referenz (Artikel, Paragraph usw.).</description> + </element> + <element name="che:ProjectType" context="che:CHE_MD_Identification" id="512"> + <label>Projekttyp</label> + <help>Auswahl aus folgender Liste: Forschung, Überwachungsprogramm, Arbeitsprogramm, Inventar.</help> + <condition/> + <description>Typ der Intitiative oder des Projekts, auf Grund dessen die Daten erfasst wurden.</description> + </element> + <element name="che:dataModel" context="che:CHE_MD_FeatureCatalogueDescription" id="533"> + <label>Datenmodell</label> + <help>Dieses konzeptionelle Modell entspricht dem Objektartenkatalog (z.B. INTERLIS-Beschreibung, UML-Diagramm, + Objektkatolog, etc.) + </help> + <condition/> + <description>Verweis auf das Datenmodell des Datenbestandes</description> + </element> + <element name="che:domain" context="che:CHE_MD_FeatureCatalogueDescription" id="534"> + <label>Domäne</label> + <help>Explizite Wertebereichsdefinition in diesem Katalog</help> + <condition/> + <description>Wertebereich</description> + </element> + <element name="che:class" context="che:CHE_MD_FeatureCatalogueDescription" id="535"> + <label>Klasse</label> + <help>Objektklassen</help> + <condition/> + <description>Objektklassen</description> + </element> + <element name="che:revision" id="567"> + <label>Letzte Aktualisierung</label> + <help>Informationen über die letzte Aktualisierung der Ressource und deren Gültigkeit. Falls + nicht der ganze Datenbestand gleichzeitig aktualisiert wird, kann mit "revisionScope" und + "revisionScopeDescription" jeder aktualisierte Teil individuell beschrieben werden. Bsp: + Liegenschaften der AV werden jährlich aktualisiert, Nomenklaturen nur wenn nötig. + </help> + <condition/> + <description>Informationen über die letzte Aktualisierung der Ressource und deren + Gültigkeit + </description> + </element> + <element name="che:CHE_MD_Revision" id="568.0"> + <label>Akualisierungsinformation</label> + <help>Klasse über den Rahmen und das Datum der letzten Nachführung.</help> + <condition/> + <description>Klasse über den Rahmen und das Datum der letzten Nachführung.</description> + </element> + <element name="che:revisionScope" context="che:CHE_MD_Revision" id="569.0"> + <label>Aktualisierungsumfang</label> + <help>Umfang der Daten, die aktualisiert wurden.</help> + <condition/> + <description>Umfang der Daten, die aktualisiert wurden.</description> + </element> + <element name="che:dateOfLastUpdate" context="che:CHE_MD_Revision" id="570.0"> + <label>Datum der letzten Aktualisierung</label> + <help>Datum der letzten Aktualisierung</help> + <condition/> + <description>Datum der letzten Aktualisierung</description> + </element> + <element name="che:revisionNote" context="che:CHE_MD_Revision" id="571.0"> + <label>Bemerkung zur Aktualisierung</label> + <help>Bemerkung zur letzten Aktualisierung</help> + <condition/> + <description>Bemerkung zur letzten Aktualisierung</description> + </element> + <element name="che:revisionScopeDescription" context="che:CHE_MD_Revision" id="572.0"> + <label>Beschreibung des Aktualisierungsumfangs</label> + <help>Zusätzliche Informationen über den Bereich oder Umfang der Aktualisierung</help> + <condition/> + <description>Zusätzliche Informationen über den Bereich oder Umfang der + Aktualisierung + </description> + </element> + <element name="che:filmType" id="577"> + <label>Filmtyp</label> + <help>Filmtyp, mit dem das Bild gemacht wurde. Es kann ausgewählt werden aus folgender Liste: SW + (schwarz/weiss), F (farbig), FIR (farbig infrarot), IR (infrarot) + </help> + <condition/> + <description>Filmtyp, mit dem das Bild gemacht wurde</description> + </element> + <element name="che:focalDistance" id="578"> + <label>Brennweite</label> + <help>Brennweite, mit dem das Bild gemacht wurde.</help> + <condition/> + <description>Brennweite, mit dem das Bild gemacht wurde</description> + </element> + <element name="che:modelType"> + <label>Art des Modells</label> + <help/> + <condition/> + <description>Auswahl aus Codeliste</description> + </element> + <element name="che:CHE_MD_FeatureCatalogueDescription"> + <label>Objektartenkatalog</label> + <help/> + <condition/> + <description>Information zum Objektartenkatalog oder zum konzeptionellen Schema</description> + </element> + <element name="che:CHE_CI_ResponsibleParty"> + <label>Verantwortliche Stelle</label> + <help/> + <condition/> + <description>Kontaktinformation zur Person und Organisation, welche im Bezug zur Ressource steht</description> + </element> + <element name="che:CHE_CI_Telephone"> + <label>Telefon</label> + <help/> + <condition/> + <description>Telefonnummern (Festnetz/Mobil/Fax) der verantwortlichen Person oder Organisation</description> + </element> + <element name="che:CHE_CI_Address"> + <label>Adressangaben</label> + <help/> + <condition/> + <description>Adressangaben zur verantwortlichen Stelle</description> + </element> + + <element name="che:projectType"> + <label>Projekttyp</label> + <description>Typ der Intitiative oder des Projekts.</description> + <help>Typ der Intitiative oder des Projekts, auf grund dessen die Daten erfasst wurden. Auswahl aus folgender Liste: + Forschung, Überwachungsprogramm, Arbeitsprogramm, Inventar. + </help> + </element> + <element name="che:revisionExtent" context="che:CHE_MD_Revision"> + <label>Aktualisierungsausdehnung</label> + <description>Die von der letzten Nachführung betroffene Ausdehnung</description> + <help></help> + </element> + <element name="che:revisionContact" context="che:CHE_MD_Revision"> + <label>Aktualisierungskontakt</label> + <description>Kontaktangaben bezüglich der letzten Aktualisierung</description> + <help></help> + </element> + <element name="che:LocalisedURL"> + <label>URL (mehrsprachig)</label> + <description></description> + <help></help> + </element> + <element name="che:CHE_MD_modelTypeCode" context="che:CHE_MD_FeatureCatalogueDescription"> + <label>Art des Modells</label> + <description>Art des Modells</description> + <help></help> + </element> + <element name="che:dateOfMonitoringState" context="che:CHE_MD_MaintenanceInformation"> + <label>Stand Monitoringdaten</label> + <description>Datum des Erfassungsstandes der Monitoringdaten</description> + <help>Bitte nur bei Nachführung der Daten und nicht der Metadaten angeben.</help> + </element> + <element name="che:historyConcept"> + <label>Historisierungskonzept</label> + <description>Angaben zum Historisierungskonzept der Daten und Metadaten.</description> + <help>Laut GeoIG soll für alle Geobasisdaten des Bundesrechts ein Historisierungskonzept erstellt werden.</help> + </element> + <element name="che:archiveConcept"> + <label>Archivierungskonzept</label> + <description>Angaben zum Archivierungskonzept der Daten und Metadaten.</description> + <help>Laut GeoIG soll für alle Geobasisdaten des Bundesrechts ein Archivierungskonzept erstellt werden.</help> + </element> + <element name="che:historyConceptCitation"> + <label>Bezeichnung des Historisierungskonzepts</label> + <description>Titel und Datum</description> + <help></help> + </element> + <element name="che:historyConceptURL"> + <label>URL zum Historisierungskonzept</label> + <description>Falls das Historisierungskonzept online zugänglich ist, kann hier dessen URL angegeben werden + </description> + <help></help> + </element> + <element name="che:CHE_MD_HistoryConcept"> + <label>Historisierungskonzept</label> + <description>Angaben zum Historisierungskonzept der Daten und Metadaten.</description> + <help>Laut GeoIG soll für alle Geobasisdaten des Bundesrechts ein Historisierungskonzept erstellt werden.</help> + </element> + <element name="che:archiveConceptCitation"> + <label>Bezeichnung des Archivierungskonzepts</label> + <description>Titel und Datum</description> + <help></help> + </element> + <element name="che:archiveConceptURL"> + <label>URL zum Archivierungskonzept</label> + <description>Falls das Archivierungskonzept online zugänglich ist, kann hier dessen URL angegeben werden + </description> + <help></help> + </element> + <element name="che:CHE_MD_ArchiveConcept"> + <label>Archivierungskonzept</label> + <description>Angaben zum Archivierungskonzept der Daten und Metadaten.</description> + <help>Laut GeoIG soll für alle Geobasisdaten des Bundesrechts ein Archivierungskonzept erstellt werden.</help> + </element> + <element name="che:CHE_MD_MaintenanceInformation"> + <label>Datenpflege</label> + <description>Information zu Umfang und Turnus der Aktualisierung</description> + <help>z.B. Nachführungsinformationen</help> + </element> + <element name="che:CHE_MD_LegalConstraints"> + <label>Rechtliche Einschränkungen</label> + <description>Einschränkungen und rechtliche Voraussetzungen für den Zugriff sowie die Verwendung + der Ressource oder der Metadaten + </description> + <help></help> + </element> + <element name="che:portrayalCatalogueURL"> + <label>URL zum Darstellungskatalog</label> + <description>Wenn der Darstellungskatalog online zugänglich ist, kann hier dessen URL angegeben werden. + </description> + </element> + <element name="che:CHE_MD_PortrayalCatalogueReference" id="268.0"> + <label>Darstellungskatalog</label> + <description>Information über das Regelwerk für die Darstellung einer Ressource</description> + <help>z.B. Signaturenkatalog</help> + </element> + <element name="che:basicGeodataID"> + <label>Identifikator des Geobasisdatensatzes</label> + <description>Identifikator des Geobasisdatensatzes nach Anhang I der Geoinformationsverordnung, bzw. der Sammlung + der Geobasisdaten. + </description> + <help>Bei Fragen wenden Sie sich ans geocat.ch-Team</help> + </element> + <element name="che:basicGeodataIDType"> + <label>Art des Identifikators</label> + <description>Angabe, ob es sich beim obigen Identifikator um einen Geobasisdatensatz in der Zuständigkeit des + Bundes, der Kantone oder der Gemeinden handelt. + </description> + <help/> + </element> + <element name="che:CHE_SV_ServiceIdentification" id="40.0"> + <label>Basisinformation zum Dienst</label> + <description>Allgemeine Angaben zur Beschreibung von Diensten nach ISO 19119 (Profil GM03_2+)</description> + </element> + <element name="che:inspireServiceType"> + <label>INSPIRE Dienstetyp</label> + <description>Klassifizierung der Dienste laut den INSPIRE Durchführungsbestimmungen für Metadaten</description> + </element> + <element name="che:PT_FreeURL"> + <label>Freie URL</label> + <description>Klasse für die Beschreibung einer mehrsprachigen URL.</description> + </element> + <element name="che:URLGroup"> + <label>URL Gruppe</label> + <description>Klasse für die Verwaltung von mehrsprachigen URLs.</description> + </element> + <element name="che:directNumber"> + <label>Direkte Nummer</label> + <description/> + </element> + <element name="che:mobile"> + <label>Natelnummer</label> + <description/> + </element> + <element name="che:legislationConstraints" id="582.0"> + <label>Gesetzliche Einschränkungen</label> + <description>Informationen über die gesetzliche Grundlage einer Einschränkung</description> + <help>z.B. ein Verweis auf ein Gesetz oder eine Verordnung</help> + </element> + <element name="che:CHE_MD_ImageDescription" id="243.0"> + <label>Aufnahmeeigenschaften</label> + <help/> + <condition/> + <description>Information über die Verwendbarkeit eines Bildes</description> + </element> + <element name="che:CHE_MD_CoverageDescription" id="239.0"> + <label>Rasterdateninhalt</label> + <help/> + <condition/> + <description>Information zum Inhalt einer Rasterdatenzelle</description> + </element> + <element name="che:basicGeodataIDTypeCode"> + <label>Art des Identifikators</label> + <description>Art des Identifikators</description> + </element> + <element name="che:CHE_CI_LegislationCode"> + <label>Gesetzestyp</label> + <description>Gesetzestyp</description> + </element> + <element name="che:MD_geodataTypeCode"> + <label>Geodata Type Code</label> + </element> + <element name="che:geodataType"> + <label>Geodata Type</label> + <description>Characterization of a Dataset</description> + <help>Classification of the dataset in a larger group of similar datasets with the help of the enclosed codelist + </help> + </element> + + <!-- SB-422: AAP --> + <element name="che:appraisal"> + <label>Bewertung AAP</label> + <description>Bewertung AAP</description> + </element> + <element name="che:durationOfConservation"> + <label>Aufbewahrungsdauer NV in Jahren</label> + <description>Aufbewahrungsdauer NV in Jahren</description> + </element> + <element name="che:commentOnDurationOfConservation"> + <label>Bemerkung zur Aufbewahrungsdauer</label> + <description>Bemerkung zur Aufbewahrungsdauer</description> + </element> + <element name="che:appraisalOfArchivalValue"> + <label>Bewertung Archivwürdigkeit</label> + <description>Bewertung Archivwürdigkeit</description> + </element> + <element name="che:CHE_AppraisalOfArchivalValueCode"> + <label>Bewertung Archivwürdigkeit</label> + <description>Bewertung Archivwürdigkeit</description> + </element> + <element name="che:reasonForArchivingValue"> + <label>Begründung Archivwürdigkeit</label> + <description>Begründung Archivwürdigkeit</description> + </element> + <element name="che:CHE_ReasonForArchivingValueCode"> + <label>Begründung Archivwürdigkeit</label> + <description>Begründung Archivwürdigkeit</description> + </element> + <element name="che:commentOnArchivalValue"> + <label>Bemerkung zur Archivwürdigkeit</label> + <description>Bemerkung zur Archivwürdigkeit</description> + </element> + <element name="gmd:protocol" id="398.0" alias="protocol"> + <label>Protokoll</label> + <description>Zu verwendendes Verbindungsprotokoll</description> + <helper sort="true"> + <option value="WWW:LINK">Webadresse (URL)</option> + <option value="WWW:DOWNLOAD-URL">Datei zum Download (URL)</option> + <option value="OGC:WMS">OGC-WMS Web Map Service</option> + <option value="OGC:WFS">OGC-WFS Web Feature Service</option> + <option value="OGC:WCS">OGC-WCS Web Coverage Service</option> + <option value="OGC:WMTS">OGC-WMTS Web Map Tile Service</option> + <option value="OGC:WMC">OGC-WMC Web Map Context</option> + <option value="ESRI:REST">ArcGIS REST Services</option> + <option value="CHTOPO:specialised-geoportal">Spezialisiertes Geoportal</option> + <option value="MAP:Preview">map.geo.admin.ch preview</option> + <option value="OPENDATA:SWISS">Permalink opendata.swiss</option> + <option value="WWW:DOWNLOAD-APP">Download-APP (geoshop)</option> + <option value="Linked:data">Linked:data </option> + </helper> + </element> + + <element name="gmd:extent"> + <label>Ausdehnung</label> + <help/> + <condition>Wenn Hierarchieebene = Datenbestand, muss entweder eine + BoundingBox, ein BoundingPolygon oder eine geografische Beschreibung + ausgefüllt werden. + </condition> + <description>Ausdehnungsinformation einschliesslich des + Begrenzungsrechtecks (Bounding Box), des + Begrenzungspolygons sowie der vertikalen und zeitlichen Ausdehnung des + Datenbestands + </description> + <class>gn-required</class> + </element> + <element name="gco:Date"> + <label>Datum</label> + <description>Datum</description> + </element> + +</labels> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-aap.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-aap.xml new file mode 100644 index 00000000000..085c3a7bbd3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-aap.xml @@ -0,0 +1,28 @@ +<strings> + <schematron.title>AAP</schematron.title> + + <!--<--> + <mandatoryFields>Check mandatory fields</mandatoryFields> + + <appraisalSectionRequired>Appraisal section has to be defined when AAP keyword is used.</appraisalSectionRequired> + <notAppraisalSectionRequired>AAP keyword is not used or appraisal section is defined.</notAppraisalSectionRequired> + + <durationOfConservationRequired>durationOfConservation is required (integer)</durationOfConservationRequired> + <durationOfConservationReport>duration of conservation:</durationOfConservationReport> + + <appraisalOfArchivalValueRequired>appraisalOfArchivalValue is required (codelist)</appraisalOfArchivalValueRequired> + <appraisalOfArchivalValueReport>appraisal of archival value:</appraisalOfArchivalValueReport> + + <!--<--> + <reasonForArchivalValuePresence>Test presence or absence of reasonForArchivalValue field</reasonForArchivalValuePresence> + + <reasonForArchivalValueAbsent>Field is absent</reasonForArchivalValueAbsent> + <notReasonForArchivalValueAbsent>Field is present or optional</notReasonForArchivalValueAbsent> + + <!--<--> + <officalAndAAP>Official and AAP</officalAndAAP> + + <cantSetManyTopicsWhenOfficalAndAAP>Only one topic category is allowed when using keywords "AAP" and "official geodata.</cantSetManyTopicsWhenOfficalAndAAP> + <notCantSetManyTopicsWhenOfficalAndAAP>Either this metadata is not both official and AAP, or it does not relate to many topics.</notCantSetManyTopicsWhenOfficalAndAAP> + +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-bgdi.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-bgdi.xml new file mode 100644 index 00000000000..04ba4514a21 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-bgdi.xml @@ -0,0 +1,41 @@ +<strings> + <schematron.title>BGDI</schematron.title> + <translatedTitle>Übersetzung des Titels</translatedTitle> + <deTitleRequired>Basisinformation zum Datenbestand / Bibliografische Angaben / Titel ist obligatorisch und verlangt + eine deutsche Übersetzung + </deTitleRequired> + <deTitleReport>Deutscher Titel:</deTitleReport> + <frTitleRequired>Basisinformation zum Datenbestand / Bibliografische Angaben / Titel ist obligatorisch und verlangt + eine französische Übersetzung + </frTitleRequired> + <frTitleReport>Französischer Titel:</frTitleReport> + + <translatedAltTitle>Übersetzung Alternativtitel</translatedAltTitle> + <deAltTitleRequired>Basisinformation zum Datenbestand / Bibliografische Angaben / Alternativitel ist obligatorisch und + verlangt eine deutsche Übersetzung + </deAltTitleRequired> + <deAltTitleReport>Deutscher Alternativitel:</deAltTitleReport> + <deAltTitleMaxLength>Der deutsche Alternativitel ist zu lang - max. 35 Zeichen</deAltTitleMaxLength> + <deAltTitleMaxLengthReport>Länge des deutschen Alternativtitel:</deAltTitleMaxLengthReport> + <frAltTitleRequired>Basisinformation zum Datenbestand / Bibliografische Angaben / Alternativitel ist obligatorisch und + verlangt eine französische Übersetzung + </frAltTitleRequired> + <frAltTitleReport>Französischer Alternativtitel:</frAltTitleReport> + <frAltTitleMaxLength>Der französische Alternativitel ist zu lang - max. 35 Zeichen</frAltTitleMaxLength> + <frAltTitleMaxLengthReport>Länge des französischen Alternativtitels:</frAltTitleMaxLengthReport> + + <translatedAbstract>Übersetzung der Kurzbeschreibung</translatedAbstract> + <deAbstractRequired>Basisinformation zum Datenbestand / Kurzbeschreibung ist obligatorisch und verlangt eine deutsche + Übersetzung + </deAbstractRequired> + <deAbstractReport>Deutsche Kurzbeschreibung:</deAbstractReport> + <frAbstractRequired>Basisinformation zum Datenbestand / Kurzbeschreibung ist obligatorisch und verlangt eine + französische Übersetzung + </frAbstractRequired> + <frAbstractReport>Französische Kurzbeschreibung:</frAbstractReport> + + <pointOfContact>Ansprechpartner</pointOfContact> + <pointOfContactRequired>Basisinformation / Ansprechpartner ist obligatorisch + </pointOfContactRequired> + <pointOfContactReport>Ansprechpartner ist präsent</pointOfContactReport> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-geobasisdatensatz.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-geobasisdatensatz.xml new file mode 100644 index 00000000000..8ef3764fb49 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-geobasisdatensatz.xml @@ -0,0 +1,21 @@ +<strings> + <schematron.title>Geobasisdatensatz</schematron.title> + <collectivetitle>Gemeinsamer Titel</collectivetitle> + <collectiveTitleRequired>Basisinformation zum Datenbestand / Bibliografische Angaben / Gemeinsamer Titel ist + obligatorisch + </collectiveTitleRequired> + <collectiveTitleReport>Gemeinsamer Titel:</collectiveTitleReport> + + <basicGeoDataInfo>Geobasisdaten</basicGeoDataInfo> + <geodataIdRequired>Basisinformation zum Datenbestand / Identifikator des Geobasisdatensatzes ist obligatorisch + </geodataIdRequired> + <geodataIdReport>Identifikator des Geobasisdatensatzes:</geodataIdReport> + + <geodataTypeRequired>Basisinformation zum Datenbestand / Art des Identifikators ist obligatorisch + </geodataTypeRequired> + <geodataTypeReport>Art des Identifikators:</geodataTypeReport> + + <legislativeInformation>Gesetzgebung</legislativeInformation> + <legislativeInformationRequired>Metadata / Gesetzgebung ist obligatorisch</legislativeInformationRequired> + <legislativeInformationReport>Metadata / Gesetzgebung ist präsent</legislativeInformationReport> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-geonetwork.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-geonetwork.xml new file mode 100644 index 00000000000..e0e0c31e84f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-geonetwork.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <schematron.title>Empfehlungen GeoNetwork</schematron.title> + <M500>[Sprache] - Die Grundsprache des Metadateneintrags ist nicht definiert, gleichzeitig wurden andere Sprachen + deklariert. Die Grundsprache des Metadatensatzes DARF jedoch NICHT in anderen Sprachfeldern definiert werden + </M500> + <alert.M500> + <div>Definieren Sie eine Grundsprache und überprüfen Sie, dass weitere Sprachen im Bereich Sprachraum definiert + sind.(ie. + gmd:locale)(s. erweiterte Ansicht / Metadaten). + <br/> + <span class="validationReportSuggestion">Vorschlag: Definieren Sie eine Grundsprache oder löschen Sie das + entsprechende Sprachraum-Feld. + </span> + </div> + </alert.M500> + <report.M500>Die Grundsprache des Metadatensatzes ist:</report.M500> + <alert.M501> + <div>Geben Sie die Grundsprache des Metadatensatzes nur einmal an (s. erweiterte Ansicht / Metadaten). + <br/> + <span class="validationReportSuggestion">Vorschlag: Löschen Sie die Sprache im Sprachraum-Feld.</span> + </div> + </alert.M501> + <report.M501>Es wurde keine Mehrfachvergabe des Sprachenfeldes im Metadatensatz gefunden.</report.M501> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-iso-che.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-iso-che.xml new file mode 100644 index 00000000000..af903f5614a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-iso-che.xml @@ -0,0 +1,82 @@ +<strings> + <schematron.title>GM03 implementing rules</schematron.title> + <M100>Geobasisdaten</M100> + <alert.M100> + <div> + <h2>Art des Geobasisdaten-Identifikators ist obligatorisch, wenn ein Identifikator angegeben wurde.</h2> + </div> + </alert.M100> + <report.M100> + <div> + <h2>Art des Geobasisdaten-Identifikators ist obligatorisch, wenn ein Identifikator angegeben wurde.</h2> + </div> + </report.M100> + <M101>Art des Modells</M101> + <alert.M101> + <div> + <h2>Die Art des Modells ist obligatorisch anzugeben</h2> + </div> + </alert.M101> + <report.M101> + <div> + <h2>Die Art des Modells ist obligatorisch anzugeben</h2> + </div> + </report.M101> + <M102>Auswahlliste</M102> + <alert.M102> + <div> + <h2>Es soll ein Wert aus der Liste ausgewählt werden, bzw. das Element entfernt werden.</h2> + </div> + </alert.M102> + <report.M102> + <div> + <h2>Es soll ein Wert aus der Liste ausgewählt werden, bzw. das Element entfernt werden.</h2> + </div> + </report.M102> + <M103>Titel</M103> + <alert.M103> + <div> + <h2>Alle Titel in der Klasse "Bibliografische Angaben sind obligatorisch.</h2> + </div> + </alert.M103> + <report.M103> + <div> + <h2>Alle Titel in der Klasse "Bibliografische Angaben sind obligatorisch.</h2> + </div> + </report.M103> + <M104>Topic Categories</M104> + <alert.M104> + <div> + <h2>environment, planningCadastre, geoscientificInformation, imageryBaseMapsEarthCover: Thematik ist keine + offizielle Thematik gemäss iso19139.che - wählen Sie eine Subkategorie + </h2> + </div> + </alert.M104> + <report.M104> + <div> + <h2>environment, planningCadastre, geoscientificInformation, imageryBaseMapsEarthCover: Thematik ist keine + offizielle Thematik gemäss iso19139.che - wählen Sie eine Subkategorie + </h2> + </div> + </report.M104> + <M105>Contact country code</M105> + <alert.M105> + <div> + <h2>Country code is not valid for some contact select CH, LI, IT, AT, DE, FR value</h2> + </div> + </alert.M105> + <report.M105> + <div> + <h2>Country code is not valid for some contact select CH, LI, IT, AT, DE, FR value</h2> + </div> + </report.M105> + <hierarchyLevelName>Dataset Hierarchy Level Name</hierarchyLevelName> + <alert.needsHierarchyLevelName> + <div>A hierarchyLevelName is required because hierarchyLevel is not dataset (and is present in metadata). The + solution is to add a hierarchyLevelName, remove hierarchyLevel element, or change hierarchyLevel to dataset + </div> + </alert.needsHierarchyLevelName> + <report.needsHierarchyLevelName> + <div>hierarchyLevelName is defined or hierarchyLevel is dataset or hierarchyLevel is not present in metadata</div> + </report.needsHierarchyLevelName> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-iso.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-iso.xml new file mode 100644 index 00000000000..89b8ffea70f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-iso.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <schematron.title>ISO 19115/19119 rules</schematron.title> + <M6>Attribut darf nicht leer sein</M6> + <M7>Bedingungen für CRS Attribute</M7> + <M8>Name, Organisation oder Position ist obligatorisch.</M8> + <M9>"Andere Einschränkungen" muss ausgefüllt werden, wenn unter + Zugriffseinschränkungen oder Nutzungseinschränkungen "benutzerdefinierte Einschränkungen" ausgewält wurde. + </M9> + <M10>Einheiten für Werte sind obligatorisch.</M10> + <M11>(Quelldaten-)Beschreibung obligatorisch wenn keine Ausdehnung (sourceExtent) angegeben ist.</M11> + <M12>Ausdehnung (sourceExtent) ist obligatorisch wenn keine (Quelldaten-)Beschreibung angegeben ist.</M12> + <M13>Inhalt obligatorisch für Datenbestand oder Serie</M13> + <M14>Angabe der Datenquelle ist obligatorisch wenn Erläuterung oder Bearbeitungsschritt nicht ausgefüllt sind.</M14> + <M15>Bearbeitungsschritt ist obligatorisch, wenn Erläuterung oder Datenquelle nicht ausgefüllt ist</M15> + <M16>Für Datenbestand muss entweder "Qualitätsbericht" oder "Herkunft" ausgefüllt werden.</M16> + <M17>Ebenenbeschreibung ist obligatorisch ausser für "Datenbestand" oder "Serie".</M17> + <M18>Einheit ist obligatorisch für Dichte-Werte.</M18> + <M19>Format (MD_Format) muss ausgefüllt werden.</M19> + <M20>Element erforderlich</M20> + <M21>Der Datenbestand muss eine Ausdehnung haben.</M21> + <M22>Datenbestand und Serie müssen ein Thema (topicCategory) haben.</M22> + <M23>Entweder Assoziierter Datenbestand (aggregateDataSetName) oder Identifikator + (aggregateDataSetIdentifier) müssen ausgefüllt werden. + </M23> + <M24>Sprache ist obligatorisch</M24> + <M25>Zeichensatz ist obligatorisch</M25> + <M26>Detail obligatorisch ausser es handelt sich um einen einfachen Ausdruck</M26> + <M27>Bedingung</M27> + <M28>Code</M28> + <M29>shortName</M29> + <M30>Kontrollpunktbeschreibung ist obligatorisch</M30> + <M61>Bezeichnung der Hierarchieebene</M61> + + + <alert.M6> + <div>Thematik (ISO-Thema) ist obligatorisch, wenn Hierarchieebene entweder mit "Datenbestand", "Serie" oder gar + nicht ausgefüllt ist. + </div> + </alert.M6> + <alert.M6.characterString> + <div> + <h2>Attribut darf nicht leer sein (ausfüllen oder entfernen)</h2> + </div> + </alert.M6.characterString> + <alert.M6.directPosition> + <div>Wenn das Attribut Dimension ausgefüllt ist, muss auch ein srsName angegeben werden.</div> + </alert.M6.directPosition> + <alert.M7.axisAndSrs> + <div>Wenn ein "axisLabels" Attribut vorhanden ist, braucht es auch ein "srsName" Attribut.</div> + </alert.M7.axisAndSrs> + <alert.M7.uomAndSrs> + <div>Wenn ein "uomLabels" Attribut vorhanden ist, braucht es auch ein "srsName" Attribut.</div> + </alert.M7.uomAndSrs> + <alert.M7.uomAndAxis> + <div>Wenn ein "uomLabels" Attribut vorhanden ist, braucht es auch ein "axisLabels" Attribut und umgekehrt.</div> + </alert.M7.uomAndAxis> + <alert.M8> + <div>Es muss entweder ein Nachname, eine Organisation oder eine Position angegeben werden.</div> + </alert.M8> + <alert.M9.access> + <div>"Andere Einschränkungen" muss ausgefüllt werden, wenn unter Zugriffseinschränkungen "benutzerdefinierte + Einschränkungen" ausgewält wurde. + </div> + </alert.M9.access> + <alert.M9.use> + <div>"Andere Einschränkungen" muss ausgefüllt werden, wenn unter Nutzungseinschränkungen "benutzerdefinierte + Einschränkungen" ausgewält wurde. + </div> + </alert.M9.use> + <alert.M10> + <div>Die Angabe von Einheiten ist obligatorisch, wenn ein Maximalwert oder ein Minimalwert ausgefüllt wurde.</div> + </alert.M10> + <alert.M11> + <div>Die (Quelldaten-)Beschreibung obligatorisch wenn keine Ausdehnung (sourceExtent) angegeben ist.</div> + </alert.M11> + <alert.M13> + <div>Wenn (count(Quelldaten) + count(Bearbeitungsschritt) = 0) und (DQ_DataQuality.scope.level = "Datenbestand" oder + "Serie") dann ist eine Erläuterung (statement) obligatorisch. + </div> + </alert.M13> + <alert.M14> + <div>Obligatorisch wenn Erläuterung und Bearbeitungsschritt nicht ausgefüllt sind.</div> + </alert.M14> + <alert.M15> + <div>Obligatorisch wenn Erläuterung und Datenquelle nicht ausgefüllt sind.</div> + </alert.M15> + <alert.M16> + <div>Für Datenbestand muss entweder "Qualitätsbericht" oder "Herkunft" ausgefüllt werden.</div> + </alert.M16> + <alert.M17> + <div>Ebenenbeschreibung ist obligatorisch ausser es gibt einen "Datenbestand" oder eine "Serie".</div> + </alert.M17> + <alert.M18> + <div>Die Angabe einer Einheit ist obligatorisch für Dichte-Werte.</div> + </alert.M18> + <alert.M19> + <div>Es ist entweder das Datenformat beim Vertrieb (MD_Distribution.distributionFormat) oder + bei der Vertriebsstelle (MD_Distributor.distributorFormat) anzugeben. + </div> + </alert.M19> + <alert.M20> + <div>count(description + geographicElement + temporalElement + verticalElement) &gt; 0.</div> + </alert.M20> + <alert.M21> + <div>Wenn MD_Metadata.hierarchyLevel = 'dataset' (Defaultwert "Datenbestand") muss folgende Bedingung erfüllt sein: + count (extent.geographicElement.EX_GeographicBoundingBox) + count + (extent.geographicElement.EX_GeographicDescription) &gt;=1. D.h. es braucht entweder eine BBOX oder eine + geografische Beschreibung. + </div> + </alert.M21> + <alert.M22> + <div>Datenbestand und Serie müssen ein Thema (topicCategory) haben.</div> + </alert.M22> + <alert.M23> + <div>Entweder Assoziierter Datenbestand (aggregateDataSetName) oder Identifikator (aggregateDataSetIdentifier) + müssen ausgefüllt werden. + </div> + </alert.M23> + <alert.M26.obligation> + <div>Angabe der Verbindlichkeit ist obligatorisch ausser: Datentyp = "codelist", "enumeration" oder + "codelistElement" + </div> + </alert.M26.obligation> + <alert.M26.maximumOccurence> + <div>Angabe des Maximalen Vorkommens ist obligatorisch ausser: Datentyp = "codelist", "enumeration" oder + "codelistElement" + </div> + </alert.M26.maximumOccurence> + <alert.M26.domainValue> + <div>Angabe des Wertebereichs ist obligatorisch ausser: Datentyp = "codelist", "enumeration" oder + "codelistElement" + </div> + </alert.M26.domainValue> + <alert.M27> + <div>Angabe einer Bedingung ist obligatorisch falls Verbindlichkeit = "bedingt"</div> + </alert.M27> + <alert.M28> + <div>Angabe eines Codes (domainCode) ist obligatorisch wenn Datentyp = "codelistElement"</div> + </alert.M28> + <alert.M29> + <div>Angebe eines Shortnames ist obligatorisch ausser wenn Datentyp = CodelistElement</div> + </alert.M29> + <alert.M30> + <div>Kontrollpunktbeschreibung obligatorisch wenn unter "Kontrollpunktverfügbarkeit" mit Ja geantwortet wird</div> + </alert.M30> + <alert.M61> + <div> + <h2>Bezeichnung der Hierarchieebene ist obligatorisch wenn Hierarchiebene nicht "Datenbestand"</h2> + </div> + </alert.M61> + + <alert.requiredAbstract>Abstract is a required element</alert.requiredAbstract> + <report.requiredAbstract>Abstract found</report.requiredAbstract> + <alert.requiredTitle>Title is a required element</alert.requiredTitle> + <report.requiredTitle>Title found</report.requiredTitle> + <alert.requiredDate>Date is a required element</alert.requiredDate> + <report.requiredDate>Date found</report.requiredDate> + <alert.requiredDateType>DateType is a required element</alert.requiredDateType> + <report.requiredDateType>DateType is found</report.requiredDateType> + <alert.requiredContact>Contact is a required Element</alert.requiredContact> + <report.requiredContact>Contact found</report.requiredContact> + <alert.requiredLanguage>Language is a required element</alert.requiredLanguage> + <report.requiredLanguage>Language found</report.requiredLanguage> + <alert.requiredLanguage>Language is a required element</alert.requiredLanguage> + <report.requiredLanguage>Language found</report.requiredLanguage> + <alert.requiredCitation>Citation is a required element</alert.requiredCitation> + <report.requiredCitation>Citation found</report.requiredCitation> + + <requiredElements>Required Elements</requiredElements> + <requireCitation>Citation</requireCitation> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-url-check.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-url-check.xml new file mode 100644 index 00000000000..b849c3383f6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/schematron-rules-url-check.xml @@ -0,0 +1,7 @@ +<strings> + <schematron.title>URL Validation</schematron.title> + <invalidURLCheck>Online Resource Link Check</invalidURLCheck> + <alert.invalidURL> + <div>Url is invalid, a 404 or some other error:</div> + </alert.invalidURL> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ger/strings.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/strings.xml new file mode 100644 index 00000000000..418914b3668 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ger/strings.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <understandResource>Information about the dataset</understandResource> + <relatedResources>Related services and linked data</relatedResources> + <techInfo>Technical information</techInfo> + <contactInfo>Contact information</contactInfo> + <temporalRef>Temporal information</temporalRef> + <constraintInfo>rechtliche Einschränkungen</constraintInfo> + + <!-- New strings added for the AngularJS editor --> + <!-- View and tabs --> + <advanced>Full</advanced> + <default>Simple</default> + <simple>Simple</simple> + <inspire>INSPIRE</inspire> + <bgdi>BGDI</bgdi> + <resource>Resource</resource> + <xml>XML</xml> + <metadata>Metadaten</metadata> + <identificationInfo>Basisinfo</identificationInfo> + <distributionInfo>Vertriebsinfo</distributionInfo> + <dataQualityInfo>Datenqualität</dataQualityInfo> + <spatialRepresentationInfo>Struktur der räumlichen Daten</spatialRepresentationInfo> + <referenceSystemInfo>Referenzsystem</referenceSystemInfo> + <contentInfo>Dateninhalt</contentInfo> + <portrayalCatalogueInfo>Darstellungskatalog</portrayalCatalogueInfo> + <metadataConstraints>Metadateneinschränkungen</metadataConstraints> + <metadataMaintenance>Metadatenpflege</metadataMaintenance> + <applicationSchemaInfo>Anwendungsschema</applicationSchemaInfo> + <metadataExtensionInfo>Metadatenerweiterungen</metadataExtensionInfo> + <legislationInformation>Gesetzgebung</legislationInformation> + <rsIdentifier>Projektions-Code</rsIdentifier> + <spatialResolution>Maßstab (min. oder max.)</spatialResolution> + <geometricObjectType>Geometrie-Typ</geometricObjectType> + + <!-- XSD error translation --> + <invalidElement>Ungültiger Inhalt im Element</invalidElement> + <onElementOf>Eines der folgenden Elemente: </onElementOf> + <isExpected> wird erwartet.</isExpected> + <isNotComplete>ist nicht vollständig.</isNotComplete> + <elementLocated> Übergeordnetes Element ist</elementLocated> + <missingElement>Fehlendes Element im</missingElement> + <invalidValue>Ungültiger oder fehlender Wert.</invalidValue> + <notValidFor> ist kein gültiger Wert für </notValidFor> + <xsdErrorIs>XSD Fehler ist: </xsdErrorIs> + <inElement> vorhanden in </inElement> + <enum1>Wert </enum1> + <enum2> ist nicht gültig für das Feld </enum2> + <enum3>Mögliche Werte sind: </enum3> + +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/codelists.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/codelists.xml new file mode 100644 index 00000000000..ed3b2a4be8d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/codelists.xml @@ -0,0 +1,1058 @@ +<?xml version="1.0" encoding="UTF-8"?> +<codelists xmlns:gmd="http://www.isotc211.org/2005/gmd"> + <codelist name="gmd:MD_TopicCategoryCode" alias="topicCategory"> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>imageryBaseMapsEarthCover</code> + <label>A Carte di base, copertura del suolo, immagini aeree</label> + <description>Mappe di base + Esempi: copertura territoriale, carte topografiche, immagini</description> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_BaseMaps</code> + <label>A1 Carte di base, modelli del territorio</label> + </entry> + + <entry> + <code>imageryBaseMapsEarthCover_EarthCover</code> + <label>A2 Copertura e utilizzo del suolo</label> + </entry> + <entry> + <code>imageryBaseMapsEarthCover_Imagery</code> + <label>A3 Immagini aeree e satellitari</label> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>location</code> + <label>B Localizzazione, sistemi di riferimento</label> + <description>Informazioni e servizi sulla + localizzazione + Esempi: indirizzi, reti + geodetiche, punti di controllo, + zone e servizi postali, + toponimi + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>elevation</code> + <label>C Altimetria</label> + <description>Quote sopra o sotto il livello del mare + Esempi: altitudine, DEM, batimetria, pendenze e prodotti derivati</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>boundaries</code> + <label>D Confini politici ed amministrativi</label> + <description>Descrizione legale del territorio + Esempi: limiti politici e amministrativi</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>planningCadastre</code> + <label>E Pianificazione territoriale, catasto fondiario</label> + <description>Pianificazione del territorio + Esempi: carte dell’uso del + suolo, carte di zonizzazione, + indagini catastali, proprietà + terriere + </description> + </entry> + <entry> + <code>planningCadastre_Planning</code> + <label>E1 Pianificazione e sviluppo territoriale</label> + </entry> + <entry> + <code>planningCadastre_Cadastre</code> + <label>E2 Catasto fondiario</label> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>geoscientificInformation</code> + <label>F Geologia, suolo, rischi naturali</label> + <description>Informazioni riguardanti le Scienze della Terra + Esempi: entità e processi geofisici, geologia, minerali, + struttura e origine delle rocce terrestri, rischi di terremoti, + attività vulcanica, suoli, idrogeologia, erosione. + </description> + </entry> + <entry> + <code>geoscientificInformation_Geology</code> + <label>F1 Geologia</label> + </entry> + <entry> + <code>geoscientificInformation_Soils</code> + <label>F2 Suolo</label> + </entry> + <entry> + <code>geoscientificInformation_NaturalHazards</code> + <label>F3 Rischi naturali</label> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>biota</code> + <label>G Bosco, flora, fauna</label> + <description>Flora e/o fauna nell’ambiente naturale + Esempi: fauna selvatica, vegetazione, scienze biologiche, ecologia, habitat + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>oceans</code> + <label>H Oceani</label> + <description>Entità e caratteristiche dei + corpi d’acqua salata (escluse + le acque interne) + Esempi: maree, informazioni + sulle linee di costa + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>inlandWaters</code> + <label>I Idrografia</label> + <description>Caratteristiche delle acque + interne, sistemi di drenaggio e + loro caratteristiche + Esempi: fiumi e ghiacciai,laghi salati, piani di + utilizzazione dell’acqua, + dighe, correnti, inondazioni, + qualità dell’acqua + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>climatologyMeteorologyAtmosphere</code> + <label>K Atmosfera, climatologia</label> + <description>Processi e fenomeni dell’atmosfera + Esempi: annuvolamento, clima, condizioni atmosferiche, cambiamenti climatici, precipitazioni</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>environment</code> + <label>L Protezione dell'ambiente e della natura</label> + <description>Risorse ambientali, protezione e conservazione dell’ambiente + Esempi: inquinamento ambientale, trattamento dei rifiuti, valutazione di impatto ambientale, + monitoraggio del rischio ambientale, riserve naturali, paesaggio + </description> + </entry> + <entry> + <code>environment_EnvironmentalProtection</code> + <label>L1 Protezione ambiente, rumore</label> + </entry> + <entry> + <code>environment_NatureProtection</code> + <label>L2 Protezione della natura e del paesaggio</label> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>society</code> + <label>M Popolazione, società, cultura</label> + <description>Caratteristiche sociali e + culturali + Esempi: antropologia, + archeologia, educazione, + costumi, dati demografici, + aree e attività per la + ricreazione, valutazione di + impatto sociale, giustizia, + informazioni fiscali + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>health</code> + <label>N Salute</label> + <description>Salute, servizi sanitari, ecologia umana e sicurezza + Esempi: malattie, fattori che interessano la salute, igiene, abuso di sostanze, + salute fisica e mentale, servizi sanitari</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>structure</code> + <label>O Edifici, infrastrutture, costruzioni</label> + <description>Costruzioni, manufatti + Esempi: palazzi, musei, + chiese, fabbriche, monumenti, + negozi, torri + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>transportation</code> + <label>P Trasporto</label> + <description>Mezzi e servizi per il + trasporto delle persone e/o + delle merci + Esempi: strade, aeroporti, + carte nautiche, posizione dei + veicoli, carte aeronautiche, + ferrovie + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>utilitiesCommunication</code> + <label>Q Approvvigionamento, smaltimento, comunicazione</label> + <description>Energia, acqua e sistemi dei + rifiuti, infrastrutture e servizi + di comunicazione + Esempi: idro-elettricità, + sorgenti di energia + geotermica, solare e + nucleare, potabilizzazione e + </description> + </entry> + <entry> + <code>utilitiesCommunication_Energy</code> + <label>Q1 Energia</label> + <description></description> + </entry> + <entry> + <code>utilitiesCommunication_Utilities</code> + <label>Q2 Sistemi dell'acqua e dei rifiuti</label> + <description></description> + </entry> + <entry> + <code>utilitiesCommunication_Communication</code> + <label>Q3 Comunicazioni</label> + <description></description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>intelligenceMilitary</code> + <label>R Esercito, sicurezza</label> + <description>Basi, strutture e attività militari + Esempi: addestramento, trasporto militare, raccolta di informazioni</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>farming</code> + <label>S Agricoltura</label> + <description>Allevamento di animali e/o coltivazione di piante + Esempi:agricoltura, irrigazioni, acquacoltura, piantagioni, parassiti e malattie che interessano i raccolti e il bestiame</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>economy</code> + <label>T Attività economiche</label> + <description>Attività economiche + Esempi: produzione, lavoro, commercio, reddito, industria, turismo, ecoturismo, silvicoltura, + pesca, esplorazione e sfruttamento delle risorse come minerali, petrolio e gas.</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + </codelist> + <codelist name="gmd:Country"> + <entry> + <code>CH</code> + <label>Svizzera</label> + <description/> + </entry> + <entry> + <code>LI</code> + <label>Liechtenstein</label> + <description/> + </entry> + <entry> + <code>DE</code> + <label>Germania</label> + <description/> + </entry> + <entry> + <code>FR</code> + <label>Francia</label> + <description/> + </entry> + <entry> + <code>IT</code> + <label>Italia</label> + <description/> + </entry> + <entry> + <code>AT</code> + <label>Austria</label> + <description/> + </entry> + </codelist> + <codelist name="gmd:LanguageCode"> + <entry> + <code>ger</code> + <label>tedesco</label> + <description/> + </entry> + <entry> + <code>fre</code> + <label>francese</label> + <description/> + </entry> + <entry> + <code>ita</code> + <label>italiano</label> + <description/> + </entry> + <entry> + <code>eng</code> + <label>inglese</label> + <description/> + </entry> + <entry> + <code>roh</code> + <label>romancio</label> + <description/> + </entry> + </codelist> + <codelist name="gmd:MD_ScopeCode"> + <entry> + <code>attribute</code> + <label>Istanza di attributo</label> + <description>Informazione valida per una concreta assegnazione di in genere di attributo, il valore + dell'attributo + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>attributeType</code> + <label>Genere di attributo</label> + <description>Informazione valida per un genere di attributo</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionHardware</code> + <label>Strumenti di rilevamento</label> + <description>Informazione valida per gli strumenti impiegati per la raccolta di dati</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionSession</code> + <label>Operazione di rilevamento</label> + <description>Informazione valida per le attività di un'operazione di rilevamento</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dataset</code> + <label>Set di dati</label> + <description>Informazione valida per un set di dati</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>series</code> + <label>Serie</label> + <description>Informazione valida per una serie + + Annotazione: Il termine serie si riferisce a qualsiasi unione di DS_Aggregate + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>nonGeographicDataset</code> + <label>Set di dati non geografico</label> + <description>Informazione valida per un set di dati non geografico</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dimensionGroup</code> + <label>Gruppo di dimensioni</label> + <description>Informazione valida per un gruppo di dimensioni</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>feature</code> + <label>Istanza di oggetto</label> + <description>Informazione valida per un oggetto concreto</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>featureType</code> + <label>Genre di oggetto</label> + <description>Informazione valida per una classe di istanze simili di oggetti</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>propertyType</code> + <label>Genre di proprietà</label> + <description>Informazione valida per la proprietà di un genere di oggetto</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>fieldSession</code> + <label>Campagna sul terreno</label> + <description>Informazione per un'attività di raccolta di dati sul terreno</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>software</code> + <label>Software</label> + <description>Informazione per sistemi, moduli o procedure di software</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>service</code> + <label>Servizio</label> + <description>Informazione valida per un servizio che viene messo a disposizione da un offerente ad un utilizzatore + attraverso determinate interfacce + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>model</code> + <label>Modello</label> + <description>Informazione valida per una riproduzione di un oggetto reale o ipotetico</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>tile</code> + <label>Piastrella</label> + <description>Informazione valida per un'unità spaziale inferiore (tile) di dati geografici</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <!--<entry> + <code>stereomate</code> + <label>stereomate</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as a stereo mate (DS_StereoMate)</description> + </entry>--> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <!--<entry> + <code>sensor</code> + <label>Sensor</label> + <description>Einheit oder Teil einer Ausrüstung, welche erfasst oder registriert</description> + </entry> + <entry> + <code>transferAggregate</code> + <label>transferAggregate</label> + + <description>The referencing entity applies to a transfer aggregate which has no existence + outside of the transfer context</description> + </entry>--> + <!-- - - - - - - - - - - - + <entry> + <code>initiative</code> + <label>initiative</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as an initiative (DS_Initiative)</description> + + </entry> + + <entry> + <code>platformSeries</code> + <label>platformSeries</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as a platform series (DS_PlatformSeries)</description> + </entry> + <entry> + + <code>sensorSeries</code> + <label>sensorSeries</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as a sensor series (DS_SensorSeries)</description> + </entry> + <entry> + <code>productionSeries</code> + + <label>productionSeries</label> + <description>The referencing entity applies to a transfer aggregate which was originally + identified as a production series (DS_ProductionSeries)</description> + </entry> + + <entry> + <code>otherAggregate</code> + <label>otherAggregate</label> + <description>The referencing entity applies to a transfer aggregate which has an existence + outside of the transfer context, but which does not pertains to a specific aggregate + type.</description> + + </entry> + --> + <entry> + <code>project</code> + <label>Progetto</label> + <description>Il progetto definisce il quadro organizzativo per l'esecuzione di un compito</description> + </entry> + <entry> + <code>stationSite</code> + <label>Stazione</label> + <description>Attività di rilevamento di dati di stazioni di misurazione. Questo tipo di dati non descrive i dati + medesimi ma il genere e il modo di raccolta (parametri registrati, metodi, strumenti) + </description> + </entry> + <entry> + <code>publication</code> + <label>Pubblicazione</label> + <description>Pubblicazioni e prodotti (opuscoli, articoli, rapporti, materiale audiovisivo)</description> + </entry> + </codelist> + <codelist name="che:CHE_CI_LegislationCode"> + <entry> + <code>cantonalLaw</code> + <label>Legge cantonale</label> + <description>Legge cantonale</description> + </entry> + <entry> + <code>nationalLaw</code> + <label>Legge federale</label> + <description>Legge federale</description> + </entry> + <entry> + <code>nationalDecree</code> + <label>Ordinanza federale</label> + <description>Ordinanza federale</description> + </entry> + <entry> + <code>internationalObligation</code> + <label>Convenzione internazionale</label> + <description>Convenzione internazionale</description> + </entry> + <entry> + <code>otherLegalText</code> + <label>Altro testo legislativo</label> + <description>Altro testo legislativo</description> + </entry> + <entry> + <code>bylawsPrivatLaw</code> + <label>Statuti di diritto privato</label> + <description>Statuti di diritto privato</description> + </entry> + <entry> + <code>bylawsPublicLaw</code> + <label>Statuti di diritto pubblico</label> + <description>Statuti di diritto pubblico</description> + </entry> + <entry> + <code>communalLaw</code> + <label>Legge comunale</label> + <description>Legge comunale</description> + </entry> + </codelist> + <codelist name="che:CI_NumberTypeCode"> + <entry> + <code>mainNumber</code> + <label>Numero principale</label> + <description>Numero principale</description> + </entry> + <entry> + <code>directNumber</code> + <label>Numero diretto</label> + <description>Numero diretto</description> + </entry> + <entry> + <code>mobile</code> + <label>Numero di cellulare</label> + <description>Numero di cellulare</description> + </entry> + <entry> + <code>facsimile</code> + <label>Numero di fax</label> + <description>Numero di fax</description> + </entry> + </codelist> + <codelist name="che:CHE_MD_FilmTypeCode"> + <entry> + <code>BW</code> + <label>BN</label> + <description>Bianco/nero</description> + </entry> + <entry> + <code>C</code> + <label>C</label> + <description>A colori</description> + </entry> + <entry> + <code>CIR</code> + <label>IRC</label> + <description>Infrarosso a colori</description> + </entry> + <entry> + <code>IR</code> + <label>IR</label> + <description>Infrarosso</description> + </entry> + </codelist> + <codelist name="che:CHE_CI_projectTypeCode"> + <entry> + <code>research</code> + <label>Ricerca</label> + <description>Ricerca</description> + </entry> + <entry> + <code>monitoringProgram</code> + <label>Programma di monitoraggio</label> + <description>Programma di monitoraggio</description> + </entry> + <entry> + <code>workProgram</code> + <label>Programma di lavoro</label> + <description>Programma di lavoro</description> + </entry> + <entry> + <code>inventory</code> + <label>Inventario</label> + <description>Inventario / ripresa</description> + </entry> + <entry> + <code>planning</code> + <label>Pianificazione</label> + <description>Pianificazione</description> + </entry> + </codelist> + <codelist name="che:basicGeodataIDTypeCode"> + <entry> + <code>communal</code> + <label>Comune</label> + <description>ID del geodato di base a livello comunale</description> + </entry> + <entry> + <code>cantonal</code> + <label>Cantone</label> + <description>ID del geodato di base a livello cantonale</description> + </entry> + <entry> + <code>federal</code> + <label>Confederazione</label> + <description>ID del geodato di base a livello federale (cfr. raccolta dei geodati di base del diritto federale) + </description> + </entry> + <entry> + <code>other</code> + <label>Altro</label> + </entry> + </codelist> + <codelist name="che:CHE_MD_modelTypeCode"> + <entry> + <code>FeatureDescription</code> + <label>Descrizione di oggetto</label> + <description>Descrizione concettuale del modello</description> + </entry> + <entry> + <code>UMLdiagram</code> + <label>Diagramma UML</label> + <description>Descrizione grafica del modello in UML</description> + </entry> + <entry> + <code>EntityRelationshipModel</code> + <label>Diagramma entità-relazione</label> + <description>Descrizione grafica del modello in forma di diagramma E-R</description> + </entry> + <entry> + <code>INTERLIS1</code> + <label>INTERLIS 1</label> + <description>Descrizione testuale del modello in INTERLIS 1</description> + </entry> + <entry> + <code>INTERLIS2</code> + <label>INTERLIS 2</label> + <description>Descrizione testuale del modello in INTERLIS 2</description> + </entry> + <entry> + <code>GML</code> + <label>GML</label> + <description>Descrizione testuale del modello in GML</description> + </entry> + <entry> + <code>Other</code> + <label>Altro</label> + <description/> + </entry> + </codelist> + <codelist name="che:CHE_SV_inspireServiceTypeCode"> + <entry> + <code>DiscoveryService</code> + <label>Servizio di ricerca</label> + </entry> + <entry> + <code>ViewService</code> + <label>Servizio di consultazione</label> + </entry> + <entry> + <code>DownloadService</code> + <label>Servizio di scaricamento</label> + </entry> + <entry> + <code>TransformationService</code> + <label>Servizio di conversione</label> + </entry> + <entry> + <code>InvokeSpatialDataService</code> + <label>Servizio di richiesta dei servizi di dati territoriali</label> + </entry> + <entry> + <code>OtherServices</code> + <label>Altri servizi</label> + </entry> + </codelist> + <codelist name="gmd:DS_InitiativeTypeCode" alias="initiativeType"/> + <codelist name="gmd:DS_AssociationTypeCode" alias="associationType"> + <entry> + <code>largerWorkCitation</code> + <label>Larger work citation</label> + <description>Riferimento ad un set di dati principale, del quale il presente è parte.</description> + </entry> + <entry> + <code>isTemporalStatOf</code> + <label>Temporal state</label> + <description>Riferimento da un set di dati in una serie temporale ad un altro set nella stessa serie. + </description> + </entry> + <entry> + <code>isDescriptionOf</code> + <label>Description</label> + <description>Riferimento da un set di dati che descrive i dati referenziati.</description> + </entry> + </codelist> + <codelist name="che:MD_geodataTypeCode"> + <entry> + <code>basicGeodata</code> + <label>Basic Geodata</label> + </entry> + <entry> + <code>oereb</code> + <label>oereb</label> + </entry> + <entry> + <code>oerebRegister</code> + <label>oereb Register</label> + </entry> + <entry> + <code>openGovernmentData</code> + <label>Open Government Data</label> + </entry> + <entry> + <code>openData</code> + <label>Open Data</label> + </entry> + <entry> + <code>referenceGeodata</code> + <label>Reference Geodata</label> + </entry> + </codelist> + <codelist name="gmd:MD_ScopeCode"> + <entry> + <code>attribute</code> + <label>Attribute</label> + <description>Information applies to the attribute class</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>attributeType</code> + <label>Attribute type</label> + <description>Information applies to the characteristic of a feature</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionHardware</code> + <label>Collection hardware</label> + <description>Information applies to the collection hardware class</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>collectionSession</code> + <label>Collection session</label> + <description>Information applies to the collection session</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dataset</code> + <label>Dataset</label> + <description>Information applies to the dataset</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>series</code> + <label>Series</label> + <description>Information applies to the series</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>nonGeographicDataset</code> + <label>Non geographic dataset</label> + <description>Information applies to non-geographic data</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>dimensionGroup</code> + <label>Dimension group</label> + <description>Information applies to a dimension group</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>feature</code> + <label>Feature</label> + <description>Information applies to a feature</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>featureType</code> + <label>Feature type</label> + <description>Information applies to a feature type</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>propertyType</code> + <label>Property type</label> + <description>Information applies to a property type</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>fieldSession</code> + <label>Field session</label> + <description>Information applies to a field session</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>software</code> + <label>Software</label> + <description>Information applies to a computer program or routine</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>service</code> + <label>Service</label> + <description>Information applies to a capability which a service provider entity makes + available to a service user entity through a set of interfaces that define a behaviour, + such as a use case + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>model</code> + <label>Model</label> + <description>Information applies to a copy or imitation of an existing or hypothetical + object + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>tile</code> + <label>Tile</label> + <description>Information applies to a tile, a spatial subset of geographic + data + </description> + </entry> + <entry> + <code>project</code> + <label>Project</label> + <description></description> + </entry> + <entry> + <code>stationSite</code> + <label>Station site</label> + <description></description> + </entry> + <entry> + <code>publication</code> + <label>Publication</label> + <description>Publication</description> + </entry> + + <!-- Used for facet translation only and not displayed in editor --> + <entry hideInEditMode="true"> + <code>map</code> + <label>Map</label> + <description></description> + </entry> + <entry hideInEditMode="true"> + <code>staticMap</code> + <label>Static map</label> + <description></description> + </entry> + <entry hideInEditMode="true"> + <code>interactiveMap</code> + <label>Interactive map</label> + <description></description> + </entry> + <entry hideInEditMode="true"> + <code>featureCatalog</code> + <label>Feature catalog</label> + <description></description> + </entry> + <!--GEOCAT--> + <entry> + <code>basicgeodata</code> + <label>Basic Geodata</label> + <description></description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>basicgeodata-federal</code> + <label>Basic Geodata - federal</label> + <description></description> + </entry> + <entry> + <code>basicgeodata-federal</code> + <label>Basic Geodata - federal</label> + <description></description> + </entry> + <entry> + <code>basicgeodata-communal</code> + <label>Basic Geodata - communal</label> + <description></description> + </entry> + <entry> + <code>service-OGC:WFS</code> + <label>WFS Services</label> + <description></description> + </entry> + <entry> + <code>service-OGC:WMS</code> + <label>WMS Services</label> + <description></description> + </entry> + + </codelist> + + <!-- Geocat override: asked on behalf of SB-422 --> + <codelist name="gmd:CI_RoleCode"> + <entry> + <code>resourceProvider</code> + <label>Resource provider</label> + <description>Party that supplies the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>custodian</code> + <label>Custodian</label> + <description>Party that accepts accountability and + responsability for the data and ensures + appropriate care + and maintenance of the resource + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>owner</code> + <label>Owner</label> + <description>Party that owns the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>user</code> + <label>User</label> + <description>Party who uses the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>distributor</code> + <label>Distributor</label> + <description>Party who distributes the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>originator</code> + <label>Originator</label> + <description>Party who created the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>pointOfContact</code> + <label>Point of contact</label> + <description>Party who can be contacted for acquiring + knowledge about or acquisition of the + resource + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>principalInvestigator</code> + <label>Principal investigator</label> + <description>Key party responsible for gathering information + and conducting + research + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>processor</code> + <label>Processor</label> + <description>Party wha has processed the data in a manner + such that the resource has been + modified + </description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>publisher</code> + <label>Publisher</label> + <description>Party who published the resource</description> + </entry> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - --> + <entry> + <code>author</code> + <label>Author</label> + <description>Party who authored the resource</description> + </entry> + <entry> + <code>editor</code> + <label>Editor</label> + <description></description> + </entry> + <entry> + <code>partner</code> + <label>Partner</label> + <description></description> + </entry> + <entry> + <code>specialistAuthority</code> + <label>Specialist authority</label> + <description>Specialist authority</description> + </entry> + </codelist> + <codelist name="che:CHE_AppraisalOfArchivalValueCode"> + <entry> + <code>A</code> + <label>of archival value</label> + <description>of archival value</description> + </entry> + <entry> + <code>N</code> + <label>no archival value</label> + <description>no archival value</description> + </entry> + <entry> + <code>S</code> + <label>sampling / selection</label> + <description>sampling / selection</description> + </entry> + </codelist> + <codelist name="che:CHE_ReasonForArchivingValueCode"> + <entry> + <code>legalRelevance</code> + <label>Legal relevance</label> + <description>Legal relevance</description> + </entry> + <entry> + <code>guaranteeOfLegalCertainty</code> + <label>Guarantee of legal certainty</label> + <description>Guarantee of legal certainty</description> + </entry> + <entry> + <code>evidenceOfBusinessPractice</code> + <label>Evidence of business practice</label> + <description>Evidence of business practice</description> + </entry> + <entry> + <code>benefitsForResearch</code> + <label>Benefits for research</label> + <description>Benefits for research</description> + </entry> + <entry> + <code>contemporaryInterest</code> + <label>Contemporary interest</label> + <description>Contemporary interest</description> + </entry> + <entry> + <code>sensitivity</code> + <label>Sensitivity</label> + <description>Sensitivity</description> + </entry> + <entry> + <code>developmentsProgression</code> + <label>Developments / Progression</label> + <description>Developments / Progression</description> + </entry> + <entry> + <code>definingPowers</code> + <label>Defining powers</label> + <description>Defining powers</description> + </entry> + </codelist> + +</codelists> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/labels.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/labels.xml new file mode 100644 index 00000000000..089ee4e333e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/labels.xml @@ -0,0 +1,756 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<labels xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che"> + <element name="che:CHE_MD_Metadata" id="36"> + <label>Metadata</label> + <help/> + <condition/> + <description>Root entity which defines metadata about a resource or resources</description> + </element> + <element name="che:CHE_MD_DataIdentification" id="36"> + <label>Informazione di base sul set di dati</label> + <help/> + <condition/> + <description>Informazione di base per la descrizione univoca del set di dati</description> + </element> + <element name="gmd:administrativeArea" context="che:CHE_CI_Address" id="383"> + <label>Unità amministrativa</label> + <help/> + <condition/> + <description>Regione o Cantone</description> + </element> + <element name="che:organisationAcronym" context="che:CHE_CI_ResponsibleParty" id="501.0"> + <label>Abbreviazione dell'organizzazione</label> + <help>per es. UFAM, swisstopo...</help> + <condition/> + <description>Abbreviazione o sigla dell'organizzazione</description> + </element> + <element name="che:parentResponsibleParty" context="che:CHE_CI_ResponsibleParty" id="518.0"> + <label>Ente superiore</label> + <help>Descrizione di gerarchie di indirizzo (per es. indirizzo della sede principale o sezione). Qui + possono essere inserite indicazioni sull'ente / organizzazione superiore nella scala gerarchica, sulla persona + o sull'ente responsabile (CI_ResponsibleParty). Il rinvio è effettuato verso sé stesso + e anche le coordinate dell'ente superiore sono del tipo di dati + CI_ResponsibleParty e vengono gestite nella classe omonima. + </help> + <condition/> + <description>Descrizione di gerarchie di indirizzo (per es. indirizzo della sede principale o + sezione) + </description> + </element> + <element name="che:individualFirstName" context="che:CHE_CI_ResponsibleParty" id="521.0"> + <label>Nome</label> + <help/> + <condition/> + <description/> + </element> + <element name="che:individualLastName" context="che:CHE_CI_ResponsibleParty" id="522.0"> + <label>Cognome</label> + <help/> + <condition>Indicare il cognome oppure il nome dell'organizzazione oppure la posizione</condition> + <description/> + </element> + <element name="che:electronicalMailAddress" context="che:CHE_CI_ResponsibleParty" id="523.0"> + <label>E-mail</label> + <help/> + <condition/> + <description>Indirizzo e-mail</description> + </element> + <element name="che:linkage" context="che:CHE_CI_ResponsibleParty" id="524.0"> + <label>Informazione online</label> + <help>Qui può essere inserito per es. il sito internet dell'ente responsabile.</help> + <condition/> + <description>Informazione online per la presa di contatto con la persona o l'ente</description> + </element> + <element name="che:address" context="che:CHE_CI_ResponsibleParty" id="525.0"> + <label>Indirizzo</label> + <help/> + <condition/> + <description>Recapito postale con il quale può essere contattata la persona o l'ente responsabile</description> + </element> + <element name="che:phone" context="che:CHE_CI_ResponsibleParty" id="526.0"> + <label>Telefono</label> + <help/> + <condition/> + <description>Numero di telefono (rete fissa/mobile/fax) della persona o dell'ente responsabile</description> + </element> + <element name="che:number" context="gmd:CHE_CI_Telephone" id="527.0"> + <label>Numero</label> + <help>Numero per telefono, cellulare o fax. Il genere del numero è definito con il tipo di + numero. + </help> + <condition/> + <description>Numero per telefono, cellulare o fax</description> + </element> + <element name="che:numberType" context="gmd:CHE_CI_Telephone" id="528.0"> + <label>Tipo di numero</label> + <help>Tipo del numero che può essere selezionato dalla seguente lista: numero principale, + numero diretto, numero di cellulare, numero di fax. + </help> + <condition/> + <description>Tipo di numero</description> + </element> + <element name="che:streetName" context="che:CHE_CI_Address" id="529.0"> + <label>Via</label> + <help/> + <condition/> + <description>Nome della via della localizzazione</description> + </element> + <element name="che:streetNumber" context="che:CHE_CI_Address" id="530.0"> + <label>Numero</label> + <help/> + <condition/> + <description>Numero civico della localizzazione</description> + </element> + <element name="che:addressLine" context="che:CHE_CI_Address" id="531.0"> + <label>Complemento indirizzo</label> + <help/> + <condition/> + <description>Informazione complementare dell'indirizzo (per es. c/o)</description> + </element> + <element name="che:postBox" context="che:CHE_CI_Address" id="532.0"> + <label>Casella postale</label> + <help/> + <condition/> + <description/> + </element> + <element name="che:CHE_MD_CodeDomain" id="536"> + <label>Domini dei codici</label> + <help>Un dominio di valori è per es. Lcoord, CharacterString, Integer ecc.</help> + <condition/> + <description>Definizione denominata del dominio di valori di un catalogo di oggetti</description> + </element> + <element name="che:name" context="che:CHE_MD_CodeDomain" id="537.0"> + <label>Designazione</label> + <help/> + <condition/> + <description>Designazione della definizione del dominio di valori</description> + </element> + <element name="che:subDomain" context="che:CHE_MD_CodeDomain" id="538.0"> + <label>Sottodomini</label> + <help/> + <condition/> + <description>Rimando alle definizioni estese dei domini di valori (ereditarietà).</description> + </element> + <element name="che:baseDomain" context="che:CHE_MD_CodeDomain" id="539.0"> + <label>Domini di base</label> + <help/> + <condition/> + <description>Rimando alle definizioni basilari dei domini di valori</description> + </element> + <element name="che:type" context="che:CHE_MD_CodeDomain" id="540.0"> + <label>Tipo di dati</label> + <help>Un tipo di dati che descrive dei valori, al contrario un classe che descrive degli + oggetti. I valori non hanno nessuna identità e possiedono una relazione "uno-a-molti" + con elementi che sono definiti al di fuori del modello. + </help> + <condition/> + <description>Tipo di dati della definizione del dominio di valori</description> + </element> + <element name="che:description" context="che:CHE_MD_CodeDomain" id="541.0"> + <label>Descrizione</label> + <help/> + <condition/> + <description>Descrizione della definizione del dominio di valori</description> + </element> + <element name="che:CHE_MD_Type" id="542.0"> + <label>Tipo</label> + <help>Un tipo di dati che descrive dei valori, al contrario un classe che descrive degli + oggetti. I valori non hanno nessuna identità e possiedono una relazione "uno-a-molti" + con elementi che sono definiti al di fuori del modello. + </help> + <condition/> + <description>Tipo di dati che descrive dei valori</description> + </element> + <element name="che:type" context="che:CHE_MD_Type" id="543.0"> + <label>Definizione del tipo</label> + <help/> + <condition/> + <description>Definizione del tipo, formale o informale (per es. Testo12, Linea)</description> + </element> + <element name="che:value" context="che:CHE_MD_Type" id="544.0"> + <label>Valore</label> + <help>Lista dei singoli valori per una lista di codici o enumerazione.</help> + <condition/> + <description>Lista dei valori</description> + </element> + <element name="che:CHE_MD_CodeValue" id="545.0"> + <label>Valore</label> + <help/> + <condition/> + <description>Valore singolo per una lista di codici o enumerazione</description> + </element> + <element name="che:name" context="che:CHE_MD_CodeValue" id="546.0"> + <label>Designazione</label> + <help/> + <condition/> + <description>Designazione del valore</description> + </element> + <element name="che:code" context="che:CHE_MD_CodeValue" id="547.0"> + <label>Codice</label> + <help/> + <condition/> + <description>Codice del valore (per es. una cifra)</description> + </element> + <element name="che:subValue" context="che:CHE_MD_CodeValue" id="548.0"> + <label>Sottoenumerazione</label> + <help/> + <condition/> + <description>Se un valore di un'enumerazione è ulteriormente suddiviso (più dettagliato), si rimanda + ai valori subordinati + </description> + </element> + <element name="che:description" context="che:CHE_MD_CodeValue" id="549.0"> + <label>Descrizione del valore</label> + <help/> + <condition/> + <description/> + </element> + <element name="che:CHE_MD_Attribute" id="550.0"> + <label>Attributo</label> + <help/> + <condition/> + <description>Attributi che sono utilizzato in classi o associazioni</description> + </element> + <element name="che:name" context="che:attribute" id="551.0"> + <label>Nome</label> + <help/> + <condition/> + <description>Designazione dell'attributo</description> + </element> + <element name="che:description" context="che:attribute" id="552.0"> + <label>Descrizione</label> + <help/> + <condition/> + <description>Descrizione dell'attributo</description> + </element> + <element name="che:namedType" id="553.0"> + <label>Tipo denominato</label> + <help/> + <condition/> + <description>Rimando alla definizione del dominio di valori</description> + </element> + <element name="che:anonymousType" id="554.0"> + <label>Dominio dei valori</label> + <help/> + <condition/> + <description>Dominio dei valori che è definito tramite le sottoclassi MD_Type e + MD_Code + </description> + </element> + <element name="che:CHE_MD_Role" id="555.0"> + <label>Ruolo</label> + <help/> + <condition/> + <description>Descrizione di un'estremità di un'associazione. Ogni associazione possiede 2 estremità, ogni + estremità è collegata a una classe. Un'estremità può essere contrassegnata esplicitamente con un + nome. Esso viene indicato qui + </description> + </element> + <element name="che:name" context="che:CHE_MD_Role" id="556.0"> + <label>Nome</label> + <help/> + <condition/> + <description>Designazione del ruolo</description> + </element> + <element name="che:description" context="che:CHE_MD_Role" id="557.0"> + <label>Descrizione</label> + <help/> + <condition/> + <description>Descrizione del ruolo</description> + </element> + <element name="che:toClass" context="che:CHE_MD_Role" id="558.0"> + <label>verso la classe</label> + <help/> + <condition/> + <description>Puntamento alla classe alla quale è attibuito il ruolo</description> + </element> + <element name="che:CHE_MD_AbstractClass" id="559.0"> + <label>Classe astratta</label> + <help/> + <condition/> + <description>Classe astratta di rango superiore di MD_Association e MD_Class</description> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_AbstractClass"> + <label>Nome</label> + <help/> + <condition/> + <description>Designazione della classe astratta</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_AbstractClass"> + <label>Descrizione</label> + <help/> + <condition/> + <description>Desscrizione della classe astratta</description> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_Association"> + <label>Nome</label> + <description>Designazione dell'associazione</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_Association"> + <label>Descrizione</label> + <description>Descrizione dell'associazione</description> + </element> + <element name="che:name" id="560.0" context="che:CHE_MD_Class"> + <label>Designazione</label> + <description>Designazione della classe</description> + </element> + <element name="che:description" id="561.0" context="che:CHE_MD_Class"> + <label>Descrizione</label> + <description>Descrizione della classe</description> + </element> + <element name="che:subClass" id="562.0"> + <label>Sottoclasse</label> + <help/> + <condition/> + <description>Rimando alle classi estese (ereditarietà) di una classe astratta</description> + </element> + <element name="che:baseClass" id="563.0"> + <label>Classe di base</label> + <help/> + <condition/> + <description>Rimando alla classe basilare (ereditarietà) di una classe astratta</description> + </element> + <element name="che:CHE_MD_Class" id="564.0"> + <label>Classe</label> + <help/> + <condition/> + <description>Descrizione di una classe di un catalogo di oggetti. Una classe è un insieme di + oggetti simili con le stesse proprietà. Ogni proprietà è descritta mediante un + attributo + </description> + </element> + <element name="che:CHE_MD_Association" id="565.0"> + <label>Associazione</label> + <help/> + <condition/> + <description>Descrizione di una relazione concreta tra classi</description> + </element> + <element name="che:role" id="566.0"> + <label>Ruolo</label> + <help/> + <condition/> + <description>Rimando alla estremità (ruoli) di una relazione concreta</description> + </element> + <element name="che:attribute" id="586.0"> + <label>Attributo</label> + <description>Attributo di una classe</description> + <condition/> + </element> + <element name="che:CHE_SV_ServiceIdentification" id="40.0"> + <label>Informazione di base sul servizio</label> + <description>Informazione di base sulla capacità di prestazione del servizio già in funzione secondo la norma ISO + 19119, risp. il profilo GM03_2+ + </description> + </element> + <element name="che:inspireServiceType"> + <label>Tipo dei servizi INSPIRE</label> + <description></description> + </element> + <element name="che:legislationInformation" id="505"> + <label>Base giuridica</label> + <help>Informazione su riferimenti legislativi concernenti la/e risorsa/e. Queste indicazioni + sono gestite nella classe MD_Legislation. + </help> + <condition/> + <description>Informazioni sui riferimenti legislativi concernenti la/e + risorsa/e + </description> + </element> + <element name="che:CHE_MD_Legislation" id="506.0"> + <label>Base giuridica</label> + <help>Per es. indicazioni su leggi e ordinanze.</help> + <condition/> + <description>Informazioni su prescrizioni legislative</description> + </element> + <element name="che:title" id="507.0"> + <label>Titolo della legge</label> + <help/> + <condition>Titolo e indicazione della data sono obbligatori</condition> + <description>Designazione e data del testo legislativo</description> + </element> + <element name="che:country" context="che:CHE_MD_Legislation" id="508.0"> + <label>Paese</label> + <help>Paese nel quale è stata messa in vigore la legge, selezione dalla lista dei paesi ISO.</help> + <condition>Obbligatorio</condition> + <description>Paese nel quale è stata messa in vigore la legge</description> + <helper> + <option value="CH">Svizzera (CH)</option> + <option value="DE">Germania (DE)</option> + <option value="LI">Lichtenstein (LI)</option> + <option value="FR">Francia (FR)</option> + <option value="IT">Italia (IT)</option> + <option value="AT">Austria (AT)</option> + </helper> + </element> + <element name="che:language" context="che:CHE_MD_Legislation" id="509.0"> + <label>Lingua</label> + <help/> + <condition>Obbligatorio</condition> + <description>Lingua nella quale è redatta la legge</description> + </element> + <element name="che:legislationType" context="che:CHE_MD_Legislation" id="510.0"> + <label>Tipo di legge</label> + <help>Selezione dalla seguente lista: statuti di diritto privato, statuti di diritto pubblico, legge comunale, legge + cantonale, legge federale, ordinanza federale, convenzione internazionale, altro accordo. + </help> + <condition>Obbligatorio</condition> + <description>Genere della legge</description> + </element> + <element name="che:internalReference" context="che:CHE_MD_Legislation" id="511.0"> + <label>Riferimento interno</label> + <help/> + <condition/> + <description>Riferimento interno alla legge (articolo, capoverso, ecc.).</description> + </element> + <element name="che:ProjectType" context="che:CHE_MD_Identification" id="512"> + <label>Tipo di progetto</label> + <help>Selezione dalla seguente lista: ricerca, programma di monitoraggio, programma di lavoro, inventario.</help> + <condition/> + <description>Tipo dell'attività o del progetto con il quale sono stati raccolti i dati</description> + </element> + <element name="che:dataModel" context="che:CHE_MD_FeatureCatalogueDescription" id="533"> + <label>Modello di dati</label> + <help>Questo modello concettuale corrisponde al catalogo degli oggetti (per es. descrizione INTERLIS, diagramma UML, + catalogo degli oggetti, ecc.). + </help> + <condition/> + <description>Rimando al modello di dati del set di dati</description> + </element> + <element name="che:domain" context="che:CHE_MD_FeatureCatalogueDescription" id="534"> + <label>Domini</label> + <help>Definizione esplicita dei domini dei valori nel suddetto catalogo.</help> + <condition/> + <description>Dominio dei valori</description> + </element> + <element name="che:class" context="che:CHE_MD_FeatureCatalogueDescription" id="535"> + <label>Classe</label> + <help>Classi di oggetti.</help> + <condition/> + <description>Classi di oggetti</description> + </element> + <element name="che:revision" id="567"> + <label>Ultimo aggiornamento</label> + <help>Informazioni sull'ultimo aggiornamento della risorsa e sulla sua validità. Nel caso + non venga aggiornato contemporaneamente tutto il set di dati, con "revisionScope" e + "revisionScopeDescription" si può descrivere individualmente ogni parte aggiornata. Per es.: + i beni immobili della MU sono aggiornati annualmente, la nomenclatura solo se necessario. + </help> + <condition/> + <description>Informazioni sull'ultimo aggiornamento della risorsa e sulla sua + validità + </description> + </element> + <element name="che:CHE_MD_Revision" id="568.0"> + <label>Informazione sull'aggiornamento</label> + <help>Informazione sul contesto e la data dell'ultimo aggiornamento.</help> + <condition/> + <description>Informazione sul contesto e la data dell'ultimo aggiornamento</description> + </element> + <element name="che:revisionScope" context="che:CHE_MD_Revision" id="569.0"> + <label>Volume dell'aggiornamento</label> + <help>Volume dei dati che sono stati aggiornati.</help> + <condition/> + <description>Volume dei dati che sono stati aggiornati</description> + </element> + <element name="che:dateOfLastUpdate" context="che:CHE_MD_Revision" id="570.0"> + <label>Data dell'ultimo aggiornamento</label> + <help>Data dell'ultimo aggiornamento.</help> + <condition/> + <description>Data dell'ultimo aggiornamento</description> + </element> + <element name="che:revisionNote" context="che:CHE_MD_Revision" id="571.0"> + <label>Osservazioni sull'aggiornamento</label> + <help>Osservazioni sull'ultimo aggiornamento.</help> + <condition/> + <description>Osservazioni sull'ultimo aggiornamento</description> + </element> + <element name="che:revisionScopeDescription" context="che:CHE_MD_Revision" id="572.0"> + <label>Descrizione del volume di aggiornamento</label> + <help>Informazioni supplementari sull'estensione o il volume dell'aggiornamento.</help> + <condition/> + <description>Informazioni supplementari sull'estensione o il volume + dell'aggiornamento + </description> + </element> + <element name="che:filmType" id="577"> + <label>Tipo di film</label> + <help>Tipo di pellicola con la quale è stata ripresa l'immagine. Si può selezionare dalla seguente lista: BN + (bianco/nero), C (a colori), IRC (infrarosso a colori), IR (infrarosso). + </help> + <condition/> + <description>Tipo di pellicola con la quale è stata ripresa l'immagine</description> + </element> + <element name="che:focalDistance" id="578"> + <label>Distanza focale</label> + <help>Distanza focale con la quale è stata ripresa l'immagine.</help> + <condition/> + <description>Distanza focale con la quale è stata ripresa l'immagine</description> + </element> + <element name="che:modelType"> + <label>Genere del modello</label> + <help/> + <condition/> + <description>Selezione da lista di codici</description> + </element> + <element name="che:CHE_MD_FeatureCatalogueDescription"> + <label>Catalogo dei generi di oggetto</label> + <help/> + <condition/> + <description>Informazione sul catalogo dei generi di oggetto o sullo schema concettuale</description> + </element> + <element name="che:CHE_CI_ResponsibleParty"> + <label>Servizio responsabile</label> + <help/> + <condition/> + <description>Informazione di contatto sulla persona o l'ente, che è in relazione con la risorsa</description> + </element> + <element name="che:CHE_CI_Telephone"> + <label>Telefono</label> + <help/> + <condition/> + <description>Numero di telefono (rete fissa/mobile/fax) della persona o dell'ente responsabile</description> + </element> + <element name="che:CHE_CI_Address"> + <label>Indirizzo</label> + <help/> + <condition/> + <description>Indirizzo del servizio responsabile</description> + </element> + + <element name="che:projectType"> + <label>Tipo di progetto</label> + <description>Tipo dell'attività o del progetto</description> + <help>Tipo dell'attività o del progetto con il quale sono stati raccolti i dati. Selezione dalla seguente lista: + ricerca, programma di monitoraggio, programma di lavoro, inventario. + </help> + </element> + <element name="che:revisionExtent" context="che:CHE_MD_Revision"> + <label>Ampiezza dell'aggiornamento</label> + <description>Ampiezza interessata dall'ultimo aggiornamento</description> + <help></help> + </element> + <element name="che:revisionContact" context="che:CHE_MD_Revision"> + <label>Contatto per l'aggiornamento</label> + <description>Indicazioni di contatto in merito all'ultimo aggiornamento</description> + <help></help> + </element> + <element name="che:LocalisedURL"> + <label>URL (multilingue)</label> + <description></description> + <help></help> + </element> + <!-- codelist <element name="che:CHE_MD_modelTypeCode" context="che:CHE_MD_FeatureCatalogueDescription"> + <label>Art des Modells</label> + <description>Codeliste zur Auswahl</description> + <help></help> + </element>--> + <element name="che:dateOfMonitoringState" context="che:CHE_MD_MaintenanceInformation"> + <label>Stato dei dati di monitoraggio</label> + <description>Data dello stato di raccolta dei dati di monitoraggio</description> + <help>Si prega di indicare solo in caso di aggiornamento dei dati e non dei metadati.</help> + </element> + <element name="che:historyConcept"> + <label>Concetto di storicizzazione</label> + <description>Indicazioni sul concetto di storicizzazione dei dati e dei metadati</description> + <help>Secondo la LGI per i geodati di base di diritto federale deve essere allestito un concetto di + storicizzazione. + </help> + </element> + <element name="che:archiveConcept"> + <label>Cocetto di archiviazione</label> + <description>Indicazioni sul concetto di archiviazione dei dati e dei metadati</description> + <help>Secondo la LGI per i geodati di base di diritto federale deve essere allestito un concetto di archiviazione. + </help> + </element> + <element name="che:historyConceptCitation"> + <label>Designazione del concetto di storicizzazione</label> + <description>Titolo e data</description> + <help></help> + </element> + <element name="che:historyConceptURL"> + <label>URL del concetto di storicizzazione</label> + <description>Se il concetto di storicizzazione è accessibile online, qui si può indicare il suo indirizzo URL + </description> + <help></help> + </element> + <element name="che:CHE_MD_HistoryConcept"> + <label>Concetto di storicizzazione</label> + <description>Indicazioni sul concetto di storicizzazione dei dati e dei metadati</description> + <help>Secondo la LGI per i geodati di base di diritto federale deve essere allestito un concetto di + storicizzazione. + </help> + </element> + <element name="che:archiveConceptCitation"> + <label>Designazione del concetto di archiviazione</label> + <description>Titolo e data</description> + <help></help> + </element> + <element name="che:archiveConceptURL"> + <label>URL del concetto di archiviazione</label> + <description>Se il concetto di archiviazione è accessibile online, qui si può indicare il suo indirizzo URL + </description> + <help></help> + </element> + <element name="che:CHE_MD_ArchiveConcept"> + <label>Concetto di archiviazione</label> + <description>Indicazioni sul concetto di archiviazione dei dati e dei metadati</description> + <help>Secondo la LGI per i geodati di base di diritto federale deve essere allestito un concetto di archiviazione. + </help> + </element> + <element name="che:CHE_MD_MaintenanceInformation"> + <label>Tenuta a giorno dei dati</label> + <description>Informazione sul volume e il ritmo dell'aggiornamento</description> + <help>Per es. informazioni sulla tenuta a giorno.</help> + </element> + <element name="che:CHE_MD_LegalConstraints"> + <label>Restrizioni giuridiche</label> + <description>Restrizioni e condizioni giuridiche per l'accessibilità nonché per l'utilizzo + della risorsa o dei metadati + </description> + <help></help> + </element> + <element name="che:portrayalCatalogueURL"> + <label>URL del modello di rappresentazione</label> + <description>Se il modello di rappresentazione è accessibile online, qui si può indicare il suo indirizzo URL + </description> + </element> + <element name="che:CHE_MD_PortrayalCatalogueReference" id="268.0"> + <label>Modello di rappresentazione</label> + <description>Informazione sulle regole per la rappresentazione di una risorsa</description> + <help>Per es. catalogo dei simboli.</help> + </element> + <element name="che:basicGeodataID"> + <label>Identificatore del geodato di base</label> + <description>Identificatore del geodato (o del set di geodati) di base secondo Allegato 1 dell'Ordinanza sulla + geoinformazione (OGI), risp. della raccolta dei geodati di base + </description> + <help>In caso di domande si prega di rivolgersi al team geocat.ch.</help> + </element> + <element name="che:basicGeodataIDType"> + <label>Genere dell'identificatore</label> + <description>Indicazione se nel caso del suddetto identificatore si tratta di un geodato (o di un set di geodati) di + base di competenza federale, cantonale o comunale + </description> + <help/> + </element> + <element name="che:inspireServiceType"> + <label>Tipo dei servizi INSPIRE</label> + <description>Classificazione dei servizi secondo le direttive esecutive di INSPIRE per metadati</description> + </element> + <element name="che:PT_FreeURL"> + <label>URL libero</label> + <description>Classe per la descrizione di un indirizzo URL in più lingue</description> + </element> + <element name="che:URLGroup"> + <label>Gruppo URL</label> + <description>Classe per la gestione di indirizzi URL in più lingue</description> + </element> + <element name="che:directNumber"> + <label>Numero diretto</label> + <description/> + </element> + <element name="che:mobile"> + <label>Numero di cellulare</label> + <description/> + </element> + <element name="che:legislationConstraints" id="582.0"> + <label>Restrizioni giuridiche</label> + <description>Informazioni sulla base giuridica di una restrizione</description> + <help>Per es. rimando ad una legge o a un'ordinanza.</help> + </element> + <element name="che:CHE_MD_ImageDescription" id="243.0"> + <label>Caratteristiche di ripresa di un'immagine</label> + <help/> + <condition/> + <description>Informazione sull'utilizzazione di un'immagine</description> + </element> + <element name="che:CHE_MD_CoverageDescription" id="239.0"> + <label>Contenuto di un dato raster</label> + <help/> + <condition/> + <description>Informazione sul contenuto di una cella (pixel) di un dato raster</description> + </element> + <element name="che:basicGeodataIDTypeCode"> + <label>Geodata Type Code</label> + <description>Basic Geodata ID Type Code</description> + </element> + <element name="che:MD_geodataTypeCode"> + <label>Geodata Type Code</label> + </element> + <element name="che:geodataType"> + <label>Geodata Type</label> + <description>Characterization of a Dataset</description> + <help>Classification of the dataset in a larger group of similar datasets with the help of the enclosed codelist + </help> + </element> + + <!-- SB-422: AAP --> + <element name="che:appraisal"> + <label>Appraisal AAP</label> + <description>Appraisal AAP</description> + </element> + <element name="che:durationOfConservation"> + <label>Duration of conservation</label> + <description>Duration of conservation</description> + </element> + <element name="che:commentOnDurationOfConservation"> + <label>Comment on duration of conservation</label> + <description>Comment on duration of conservation</description> + </element> + <element name="che:appraisalOfArchivalValue"> + <label>Appraisal of archival value</label> + <description>Appraisal of archival value</description> + </element> + <element name="che:CHE_AppraisalOfArchivalValueCode"> + <label>Appraisal of archival value</label> + <description>Appraisal of archival value</description> + </element> + <element name="che:reasonForArchivingValue"> + <label>Reason for archiving value</label> + <description>Reason for archiving value</description> + </element> + <element name="che:CHE_ReasonForArchivingValueCode"> + <label>Reason for archiving value</label> + <description>Reason for archiving value</description> + </element> + <element name="che:commentOnArchivalValue"> + <label>Comment on archival value</label> + <description>Comment on archival value</description> + </element> + <element name="gmd:protocol" id="398.0" alias="protocol"> + <label>Protocollo</label> + <description>Protocollo di connessione utilizzato</description> + <helper> + <option value="WWW:LINK">Web address (URL)</option> + <option value="WWW:DOWNLOAD-URL">File per il download (URL)</option> + <option value="OGC:WMS">OGC-WMS Web Map Service</option> + <option value="OGC:WFS">OGC-WFS Web Feature Service</option> + <option value="OGC:WCS">OGC-WCS Web Coverage Service</option> + <option value="OGC:WMTS">OGC-WMTS Web Map Tile Service</option> + <option value="OGC:WMC">OGC-WMC Web Map Context</option> + <option value="ESRI:REST">ArcGIS REST Services</option> + <option value="CHTOPO:specialised-geoportal">Geoportale specializzato</option> + <option value="MAP:Preview">map.geo.admin.ch preview</option> + <option value="OPENDATA:SWISS">Permalink opendata.swiss</option> + <option value="WWW:DOWNLOAD-APP">Download-APP (geoshop)</option> + <option value="Linked:data">Linked:data </option> + </helper> + </element> + + <element name="gmd:extent"> + <label>Estensione</label> + <description>Estensione spaziale e temporale dei dati</description> + <_condition>Conditional / if hierarchyLevel equals "dataset"? Either + extent.geographicElement.EX_GeographicBoundingBox or + extent.geographicElement.EX_GeographicDescription is required + </_condition> + <class>gn-required</class> + </element> + <element name="gco:Date"> + <label>data</label> + <description>data</description> + </element> + +</labels> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-aap.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-aap.xml new file mode 100644 index 00000000000..67031c4b2f8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-aap.xml @@ -0,0 +1,27 @@ +<strings> + <!--<--> + + <mandatoryFields>Check mandatory fields</mandatoryFields> + + <appraisalSectionRequired>Appraisal section has to be defined when AAP keyword is used.</appraisalSectionRequired> + <notAppraisalSectionRequired>AAP keyword is not used or appraisal section is defined.</notAppraisalSectionRequired> + + <durationOfConservationRequired>durationOfConservation is required (integer)</durationOfConservationRequired> + <durationOfConservationReport>duration of conservation:</durationOfConservationReport> + + <appraisalOfArchivalValueRequired>appraisalOfArchivalValue is required (codelist)</appraisalOfArchivalValueRequired> + <appraisalOfArchivalValueReport>appraisal of archival value:</appraisalOfArchivalValueReport> + + <!--<--> + <reasonForArchivalValuePresence>Test presence or absence of reasonForArchivalValue field</reasonForArchivalValuePresence> + + <reasonForArchivalValueAbsent>Field is absent</reasonForArchivalValueAbsent> + <notReasonForArchivalValueAbsent>Field is present or optional</notReasonForArchivalValueAbsent> + + <!--<--> + <officalAndAAP>Official and AAP</officalAndAAP> + + <cantSetManyTopicsWhenOfficalAndAAP>Only one topic category is allowed when using keywords "AAP" and "official geodata.</cantSetManyTopicsWhenOfficalAndAAP> + <notCantSetManyTopicsWhenOfficalAndAAP>Either this metadata is not both official and AAP, or it does not relate to many topics.</notCantSetManyTopicsWhenOfficalAndAAP> + +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-bgdi.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-bgdi.xml new file mode 100644 index 00000000000..7371466b4d9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-bgdi.xml @@ -0,0 +1,41 @@ +<strings> + <schematron.title>BGDI</schematron.title> + <translatedTitle>Traduzioni titolo</translatedTitle> + <deTitleRequired>Identificazione dei dati / Citazione / il titolo è obbligatorio e richiede una traduzione in + tedesco + </deTitleRequired> + <deTitleReport>Titolo in tedesco:</deTitleReport> + <frTitleRequired>Identificazione dei dati / Citazione / il titolo è obbligatorio e richiede una traduzione in + francese + </frTitleRequired> + <frTitleReport>Titolo in francese:</frTitleReport> + + <translatedAltTitle>Traduzioni titolo alternativo</translatedAltTitle> + <deAltTitleRequired>Identificazione dei dati / Citazione / il titolo alternativo è obbligatorio e richiede una + traduzione in tedesco + </deAltTitleRequired> + <deAltTitleReport>Titolo alternativo in tedesco:</deAltTitleReport> + <deAltTitleMaxLength>Il titolo alternativo in tedesco è troppo lungo: la lunghezza massima è di 35 caratteri + </deAltTitleMaxLength> + <deAltTitleMaxLengthReport>Lunghezza titolo alternativo in tedesco:</deAltTitleMaxLengthReport> + <frAltTitleRequired>Identificazione dei dati / Citazione / il titolo alternativo è obbligatorio e richiede una + traduzione in francese + </frAltTitleRequired> + <frAltTitleReport>Titolo alternativo in francese:</frAltTitleReport> + <frAltTitleMaxLength>Il titolo alternativo in francese è troppo lungo: la lunghezza massima è di 35 caratteri + </frAltTitleMaxLength> + <frAltTitleMaxLengthReport>Lunghezza titolo alternativo in francese:</frAltTitleMaxLengthReport> + + <translatedAbstract>Traduzioni sommario</translatedAbstract> + <deAbstractRequired>Identificazione dei dati / il sommario è obbligatorio e richiede una traduzione in tedesco + </deAbstractRequired> + <deAbstractReport>Sommario in tedesco:</deAbstractReport> + <frAbstractRequired>Identificazione dei dati / il sommario è obbligatorio e richiede una traduzione in francese + </frAbstractRequired> + <frAbstractReport>Sommario in francese:</frAbstractReport> + + <pointOfContact>Punto di Contatto</pointOfContact> + <pointOfContactRequired>Identificazione / il Punto di Contatto è obbligatorio + </pointOfContactRequired> + <pointOfContactReport>Punto di Contatto è presente</pointOfContactReport> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-geobasisdatensatz.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-geobasisdatensatz.xml new file mode 100644 index 00000000000..62378030bf5 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-geobasisdatensatz.xml @@ -0,0 +1,18 @@ +<strings> + <schematron.title>Set di geodati di base</schematron.title> + <collectivetitle>Titolo collettivo</collectivetitle> + <collectiveTitleRequired>Identificazione dei dati / Citazione / il titolo collettivo è obbligatorio + </collectiveTitleRequired> + <collectiveTitleReport>Titolo collettivo:</collectiveTitleReport> + + <basicGeoDataInfo>Geodati di base</basicGeoDataInfo> + <geodataIdRequired>Identificazione dei dati / l’identificatore dei geodati di base è obbligatorio</geodataIdRequired> + <geodataIdReport>Identificatore geografico:</geodataIdReport> + + <geodataTypeRequired>Identificazione dei dati / il tipo dei geodati di base è obbligatorio</geodataTypeRequired> + <geodataTypeReport>Tipo geografico di base:</geodataTypeReport> + + <legislativeInformation>Base giuridica</legislativeInformation> + <legislativeInformationRequired>Metadata / Base giuridica è obbligatorio</legislativeInformationRequired> + <legislativeInformationReport>Metadata / Base giuridica è presente</legislativeInformationReport> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-geonetwork.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-geonetwork.xml new file mode 100644 index 00000000000..04ee8dc6cc7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-geonetwork.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <schematron.title>GeoNetwork Recommendations</schematron.title> + <M500>[Language] - la lingua del metadato non è definita e sono dichiarati in altre lingue e la lingua principale per + il metadato NON DEVE essere definita nella sezione lingua. + </M500> + <alert.M500> + <div>Verifica se la lingua principale non è impostata quando sono definite più lingue (es. gmd:locale) + (vedi la sezione Vista Avanzata / Metadato). + <br/> + <span class="validationReportSuggestion">Suggerimento: Definire una lingua principale per il metadato + oppure eliminare le altre lingue. + </span> + </div> + </alert.M500> + <report.M500>La lingua principale per il metadato è:</report.M500> + <alert.M501> + <div>Dichiarare la lingua principale per il metadato solo una volta (vedi Advanced view / metadata section). + <br/> + <span class="validationReportSuggestion">Suggerimento: rimuoverlo dalla sezione di lingua.</span> + </div> + </alert.M501> + <report.M501>Nessuna lingua duplicata trovata</report.M501> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-iso-che.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-iso-che.xml new file mode 100644 index 00000000000..2a9f99d2755 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-iso-che.xml @@ -0,0 +1,84 @@ +<strings> + <schematron.title>Regole di implementazione GM03</schematron.title> + <M100>Geodati di base</M100> + <alert.M100> + <div> + <h2>Il tipo di Geodati di base e obbligatorio se c'è un'identificatore di Geodati di base.</h2> + </div> + </alert.M100> + <report.M100> + <div> + <h2>Il tipo di Geodati di base e obbligatorio se c'è un'identificatore di Geodati di base.</h2> + </div> + </report.M100> + <M101>Tipo di modello</M101> + <alert.M101> + <div> + <h2>Il tipo di modello è obbligatorio</h2> + </div> + </alert.M101> + <report.M101> + <div> + <h2>Il tipo di modello è obbligatorio</h2> + </div> + </report.M101> + <M102>Valori dei Codelist</M102> + <alert.M102> + <div> + <h2>Selezionare un valore del codelist o rimuovere l'elemento completamente.</h2> + </div> + </alert.M102> + <report.M102> + <div> + <h2>Selezionare un valore del codelist o rimuovere l'elemento completamente.</h2> + </div> + </report.M102> + <M103>Titolo</M103> + <alert.M103> + <div> + <h2>I titoli sono obbligatori. Aggiungere un titolo o rimuove tutta la classe di citazione respettiva.</h2> + </div> + </alert.M103> + <report.M103> + <div> + <h2>I titoli sono obbligatori. Aggiungere un titolo o rimuove tutta la classe di citazione respettiva.</h2> + </div> + </report.M103> + <M104>Topic Categories</M104> + <alert.M104> + <div> + <h2>protezione dell’ambiente e della natura, pianificazione territoriale – catasto fondiario, + geologia-suolo-rischi naturali, carte di base-copertura del suolo-immagini aeree non è una categoria tematica + valida secondo iso19139.che: selezionare una sotto-categoria + </h2> + </div> + </alert.M104> + <report.M104> + <div> + <h2>protezione dell’ambiente e della natura, pianificazione territoriale – catasto fondiario, + geologia-suolo-rischi naturali, carte di base-copertura del suolo-immagini aeree non è una categoria tematica + valida secondo iso19139.che: selezionare una sotto-categoria + </h2> + </div> + </report.M104> + <M105>Contact country code</M105> + <alert.M105> + <div> + <h2>Country code is not valid for some contact select CH, LI, IT, AT, DE, FR value</h2> + </div> + </alert.M105> + <report.M105> + <div> + <h2>Country code is not valid for some contact select CH, LI, IT, AT, DE, FR value</h2> + </div> + </report.M105> + <hierarchyLevelName>Dataset Hierarchy Level Name</hierarchyLevelName> + <alert.needsHierarchyLevelName> + <div>A hierarchyLevelName is required because hierarchyLevel is not dataset (and is present in metadata). The + solution is to add a hierarchyLevelName, remove hierarchyLevel element, or change hierarchyLevel to dataset + </div> + </alert.needsHierarchyLevelName> + <report.needsHierarchyLevelName> + <div>hierarchyLevelName is defined or hierarchyLevel is dataset or hierarchyLevel is not present in metadata</div> + </report.needsHierarchyLevelName> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-iso.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-iso.xml new file mode 100644 index 00000000000..adc3d0b0eea --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-iso.xml @@ -0,0 +1,223 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <schematron.title>ISO 19115/19119 rules</schematron.title> + <M6>Il testo deve avere un contenuto oppure il suo genitore deve avere un attributo nilReason valido.</M6> + <M7>CRS attributes constraints</M7> + <M8>E' richiesto un nome per il contatto</M8> + <M9>Altri vincoli legali sono neccesari se altri vincoli giuridici</M9> + <M10>E' richiesta l'unità di misura</M10> + <M11>E' richiesta la descrizione se non c'è il Estensione di origine</M11> + <M12>E' richiesto l'Estensione di origine se non c'è la descrizione</M12> + <M13>Contenuto obbligatorio per dataset o la serie</M13> + <M14>Lingua</M14> + <M15>Process step required if no statement or source</M15> + <M16>Il dataset deve avere un report o un linguaggio</M16> + <M17>E' necessario il livello di descrizione a meno del dataset o serie</M17> + <M18>E' richiesta l'unita di misura per i valori di densità</M18> + <M19>E' richiesto il formato di descrizione</M19> + <M20>E' richiesto l'elemento esteso</M20> + <M21>Il dataset deve avere un estensione</M21> + <M22>Il dataset o la serie devono avere un tema principale</M22> + <M23>Sia il nome del dataset aggregato che l'identificatore aggregato del dataset devono essere documentati</M23> + <M24>Indicatore di lingua</M24> + <M25>Indicatore del set di caratteri</M25> + <M26>E' richiesto il dettaglio a meno di un termine semplice</M26> + <M27>Condition</M27> + <M28>Domain code</M28> + <M29>Nome breve</M29> + <M30>Verificare se possibile il punto della descrizione richiesto</M30> + <M61>Il nome del livello gerarchico deve essere documentato se il livello gerarchico non contiene "dataset"</M61> + + + <alert.M6> + <div>Topic category is mandatory if MD_Metadata.hierarchyLevel equal 'dataset' or 'series' or doesn't exist.</div> + </alert.M6> + <report.M6>Il tema principale è:</report.M6> + <alert.M6.characterString> + <div>Il testo deve avere un contenuto oppure il genitore di nilReason attribute deve essere legittimo.</div> + </alert.M6.characterString> + <alert.M6.directPosition> + <div>La presenza di un attributo della dimensione implica la presenza dell'attributo srsName.</div> + </alert.M6.directPosition> + <alert.M7.axisAndSrs> + <div>La presenza di un attributo axisLabels implica la presenza dell'attributo srsName.</div> + </alert.M7.axisAndSrs> + <alert.M7.uomAndSrs> + <div>La presenza di un attributo uomLabels implica la presenza dell'attributo srsName.</div> + </alert.M7.uomAndSrs> + <alert.M7.uomAndAxis> + <div>La presenza di un attributo uomLabels implica la presenza dell'attributo axisLabels e viceversa.</div> + </alert.M7.uomAndAxis> + <alert.M8> + <div>È necessario specificare uno o più nomi del responsabile, nome dell'ente. + <span class="validationReportSuggestion">Suggerimento: Verificare le informazioni sui contatti per i metadati + oppure della parte responsabile citata nella sezione di ientificazione. + </span> + </div> + </alert.M8> + <report.M8>Uno o più nomi dei responsabili o nome dell'ente si trovano in contatto:</report.M8> + <alert.M9.access> + <div>Altri vincoli dovrebbero essere definiti se i vincoli di accesso sono impostati su "Altre restrizioni". + <br/> + Altri vincoli: documentato se i vincoli di accesso = 'otherRestrictions'. + <br/> + <span class="validationReportSuggestion">Suggerimento: Aggiungere un altro vincolo all'elemento e spiegare il + motivo. + </span> + </div> + </alert.M9.access> + <report.M9> + <div>Altre restrizioni impostate su:</div> + </report.M9> + <alert.M9.use> + <div>Altri vincoli dovrebbero essere definiti se i vincoli di accesso sono impostati su "Altre restrizioni". + <br/> + Altri vincoli: documentato se i vincoli di accesso = 'otherRestrictions'. + <br/> + <span class="validationReportSuggestion">Suggerimento: Aggiungere un altro vincolo al elemento e spiegare il + motivo. + </span> + </div> + </alert.M9.use> + <alert.M9> + <div>'valore unitario' è obbligatorio se sono forniti 'valore massimo' o 'valore minimo'.</div> + </alert.M9> + <report.M9.units>Valore unitario:</report.M9.units> + <report.M9.max>Valore massimo:</report.M9.max> + <report.M9.min>Valore minimo:</report.M9.min> + <alert.M11> + <div>'la descrizione' è obbligatoria se 'estensione di origine' non è documentata. + <span class="validationReportSuggestion">Suggerimento: Aggiungere una descrizione o/e una sorgente di + estensione. + </span> + </div> + </alert.M11> + <report.M11> + <div>La descrizione e L'estensione di origine sono documentati per lignaggio.</div> + </report.M11> + <alert.M13> + <div>La dichiarazione è obbligatoria se non è definito nesun processo o fonte per dataset o per la serie. + <br/> + If(count(source) + count(processStep) =0) and (DQ_DataQuality.scope.level = 'dataset' or 'series') allora + dichiarazione è obbligatoria. + </div> + </alert.M13> + <report.M13> + <div>L'affermazione è documentata.</div> + </report.M13> + <alert.M14> + <div>La 'fonte' il ruolo è obbligatorio se Genealogia.dichiarazione e la 'fase del processo' sono ruoli non + documentati. + <br/> + <span class="validationReportSuggestion">Suggerimento: Definire la discendenza o dichiarare process step role. + </span> + </div> + </alert.M14> + <report.M14>Source required if no statement or processStep.</report.M14> + <alert.M15> + <div>La 'fase del processo' il ruolo è obbligatorio se Genealogia.dichiarazione e la 'fonte' sono ruoli non + documentati. + <br/> + <span class="validationReportSuggestion">Suggerimento: Definire la discendenza o dichiarare source role.</span> + </div> + </alert.M15> + <report.M15>Fase di processamento richiesta quando non sono presenti informazioni su sorgente.</report.M15> + <alert.M16> + <div>Il 'report' o 'genealogia' il ruolo è obbligatorio se scope.DQ_Scope.level = 'dataset'.</div> + </alert.M16> + <report.M16> + <div>Il report o la genealogia sono definiti.</div> + </report.M16> + <alert.M17> + <div>Il 'livello di descrizione' è obbligatorio se il 'livello' notEqual 'dataset' o 'series'.</div> + </alert.M17> + <report.M17>La descrizione del livello impostato:</report.M17> + <alert.M18> + <div>La 'densityUnits' è obbligatoria se è fornita la 'densità'.</div> + </alert.M18> + <report.M18>La densita è:</report.M18> + <alert.M19> + <div>E' necessario un formato di distribuzione. + <br/> + count (distributionFormat + distributor/MD_Distributor/distributorFormat) &gt; 0. + </div> + </alert.M19> + <report.M19>Formato/i del distributore.</report.M19> + <alert.M20> + <div>Nella sezione di estensione, uno dei seguenti elementi deve essere definito: descrizione, Elemento geografico, + Elemento temporale, Elemento verticale. + <br/> + count(description + geographicElement + temporalElement + verticalElement) &gt; 0. + </div> + </alert.M20> + <report.M20>Trovato una descrizione, elemento geografico, + elemento temporale, elemento verticale. + </report.M20> + <alert.M21> + <div>Una estensione deve essere definita per un dataset. + <br/> + MD_Metadata.hierarchyLevel = 'dataset' (cioè il valore predefinito di questa proprietà a favore del genitore) + implies count (extent.geographicElement.EX_GeographicBoundingBox) + count + (extent.geographicElement.EX_GeographicDescription) &gt;=1. + </div> + </alert.M21> + <report.M21>Estensione definita per il dataset.</report.M21> + <alert.M23> + <div>Sia 'nome del dataset aggregato' o 'identificatore aggregato del dataset' devono essere documentati.</div> + </alert.M23> + <report.M23>Il nome del dataset aggregato o l'identificatore aggregato del dataset documentati.</report.M23> + <alert.M24> + <div>lingua non è presente.</div> + </alert.M24> + <alert.M26.obligation> + <div>if 'dataType' notEqual 'codelist', 'enumeration' or 'codelistElement' then 'obligation' is mandatory.</div> + </alert.M26.obligation> + <alert.M26.maximumOccurence> + <div>if 'dataType' notEqual 'codelist', 'enumeration' or 'codelistElement' then 'maximumOccurence' is mandatory. + </div> + </alert.M26.maximumOccurence> + <alert.M26.domainValue> + <div>if 'dataType' notEqual 'codelist', 'enumeration' or 'codelistElement' then 'domainValue' is mandatory.</div> + </alert.M26.domainValue> + <alert.M27> + <div>if 'obligation' = 'conditional' then 'condition' is mandatory.</div> + </alert.M27> + <report.M27>La condizione per l'elemento condizionale è definita.</report.M27> + <alert.M28> + <div>if 'dataType' = 'codelistElement' then 'domainCode' is mandatory.</div> + </alert.M28> + <report.M28>Codice di dominio documentato per l'elemento del code list.</report.M28> + <alert.M29> + <div>if 'dataType' not equal to 'codelistElement' then 'shortName' is mandatory.</div> + </alert.M29> + <report.M29>Nome breve documentato per l'elemento nullo della code list.</report.M29> + <alert.M30> + <div>'checkPointDescription' is mandatory if 'checkPointAvailability' = 1 or true.</div> + </alert.M30> + <report.M30>La descrizione del Check point è documentata.</report.M30> + <alert.M61> + <div>hierarchyLevelName must be documented if hierarchyLevel does not contain 'dataset'</div> + </alert.M61> + <report.M61>Il livello gerarchico è:</report.M61> + + <alert.requiredAbstract>Abstract is a required element</alert.requiredAbstract> + <report.requiredAbstract>Abstract found</report.requiredAbstract> + <alert.requiredTitle>Title is a required element</alert.requiredTitle> + <report.requiredTitle>Title found</report.requiredTitle> + <alert.requiredDate>Date is a required element</alert.requiredDate> + <report.requiredDate>Date found</report.requiredDate> + <alert.requiredDateType>DateType is a required element</alert.requiredDateType> + <report.requiredDateType>DateType is found</report.requiredDateType> + <alert.requiredContact>Contact is a required Element</alert.requiredContact> + <report.requiredContact>Contact found</report.requiredContact> + <alert.requiredLanguage>Language is a required element</alert.requiredLanguage> + <report.requiredLanguage>Language found</report.requiredLanguage> + <alert.requiredLanguage>Language is a required element</alert.requiredLanguage> + <report.requiredLanguage>Language found</report.requiredLanguage> + <alert.requiredCitation>Citation is a required element</alert.requiredCitation> + <report.requiredCitation>Citation found</report.requiredCitation> + + <requiredElements>Required Elements</requiredElements> + <requireCitation>Citation</requireCitation> +</strings> + diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-url-check.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-url-check.xml new file mode 100644 index 00000000000..b849c3383f6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/schematron-rules-url-check.xml @@ -0,0 +1,7 @@ +<strings> + <schematron.title>URL Validation</schematron.title> + <invalidURLCheck>Online Resource Link Check</invalidURLCheck> + <alert.invalidURL> + <div>Url is invalid, a 404 or some other error:</div> + </alert.invalidURL> +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/loc/ita/strings.xml b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/strings.xml new file mode 100644 index 00000000000..872225e87e9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/loc/ita/strings.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<strings> + <understandResource>Informazione sul dataset</understandResource> + <relatedResources>Servizi e dati raggiunti</relatedResources> + <techInfo>Informazione tecnica</techInfo> + <contactInfo>Informazione di contatto</contactInfo> + <temporalRef>Informatione temporale</temporalRef> + <constraintInfo>Vincoli legali</constraintInfo> + + <!-- New strings added for the AngularJS editor --> + <!-- View and tabs --> + <advanced>Full</advanced> + <default>Simple</default> + <simple>Simple</simple> + <inspire>INSPIRE</inspire> + <resource>Resource</resource> + <xml>XML</xml> + <metadata>Metadata</metadata> + <identificationInfo>Identificazione</identificationInfo> + <distributionInfo>Distribuzione</distributionInfo> + <dataQualityInfo>Qualità dei dati</dataQualityInfo> + <spatialRepresentationInfo>Sis. di riferimento</spatialRepresentationInfo> + <referenceSystemInfo>Rapp. Spaziale</referenceSystemInfo> + <contentInfo>Info. sul contenuto</contentInfo> + <portrayalCatalogueInfo>Rapp. del catalogo</portrayalCatalogueInfo> + <metadataConstraints>Vincoli</metadataConstraints> + <metadataMaintenance>Manutenzione</metadataMaintenance> + <applicationSchemaInfo>Schema dell'app.</applicationSchemaInfo> + <metadataExtensionInfo>Info sull'estensione</metadataExtensionInfo> + <legislationInformation>Base giuridica</legislationInformation> + <rsIdentifier>Codice della proiezione</rsIdentifier> + <spatialResolution>Scala (min o max)</spatialResolution> + <geometricObjectType>Tipo di geometria</geometricObjectType> + + <!-- XSD error translation --> + <invalidElement>Invalid element. Invalid content was found starting with element:</invalidElement> + <onElementOf>One of the following elements</onElementOf> + <isExpected>is expected.</isExpected> + <isNotComplete>is not complete.</isNotComplete> + <elementLocated>Parent element is</elementLocated> + <missingElement>Missing element. The content of element:</missingElement> + <invalidValue>Invalid or missing value.</invalidValue> + <notValidFor>is not a valid value for </notValidFor> + <xsdErrorIs>XSD error is:</xsdErrorIs> + <inElement>in element</inElement> + <enum1>Value</enum1> + <enum2>is not valid for the field</enum2> + <enum3>List of values is :</enum3> + +</strings> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-brief.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-brief.xsl new file mode 100644 index 00000000000..a9a0503f7db --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-brief.xsl @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:geonet="http://www.fao.org/geonetwork" + exclude-result-prefixes="#all" + version="2.0"> + + <!-- TODO: restrict to brief fields --> + <xsl:param name="displayInfo"/> + + <xsl:template match="@*|node()[name(.)!='geonet:info']"> + <xsl:variable name="info" select="geonet:info"/> + <xsl:copy> + <xsl:apply-templates select="@*|node()[name(.)!='geonet:info']"/> + <xsl:if test="$displayInfo = 'true'"> + <xsl:copy-of select="$info"/> + </xsl:if> + </xsl:copy> + </xsl:template> + + <!-- Avoid insertion of schema location in the CSW + response - which is invalid. --> + <xsl:template match="@xsi:schemaLocation"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-full.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-full.xsl new file mode 100644 index 00000000000..e5ad969a389 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-full.xsl @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:geonet="http://www.fao.org/geonetwork" + exclude-result-prefixes="#all" + version="2.0"> + + <xsl:param name="displayInfo"/> + + <xsl:template match="@*|node()[name(.)!='geonet:info']"> + <xsl:variable name="info" select="geonet:info"/> + <xsl:copy> + <xsl:apply-templates select="@*|node()[name(.)!='geonet:info']"/> + <xsl:if test="$displayInfo = 'true'"> + <xsl:copy-of select="$info"/> + </xsl:if> + </xsl:copy> + </xsl:template> + + <!-- Avoid insertion of schema location in the CSW + response - which is invalid. --> + <xsl:template match="@xsi:schemaLocation"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-summary.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-summary.xsl new file mode 100644 index 00000000000..c8414e5df11 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/che-summary.xsl @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:geonet="http://www.fao.org/geonetwork" + exclude-result-prefixes="#all" + version="2.0"> + + <!-- TODO: restrict to summary fields --> + <xsl:param name="displayInfo"/> + + <xsl:template match="@*|node()[name(.)!='geonet:info']"> + <xsl:variable name="info" select="geonet:info"/> + <xsl:copy> + <xsl:apply-templates select="@*|node()[name(.)!='geonet:info']"/> + <xsl:if test="$displayInfo = 'true'"> + <xsl:copy-of select="$info"/> + </xsl:if> + </xsl:copy> + </xsl:template> + + <!-- Avoid insertion of schema location in the CSW + response - which is invalid. --> + <xsl:template match="@xsi:schemaLocation"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-brief.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-brief.xsl new file mode 100644 index 00000000000..ed4bcdf5e83 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-brief.xsl @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> + <xsl:import href="../../../iso19139/present/csw/csw-brief.xsl"/> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-full.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-full.xsl new file mode 100644 index 00000000000..c70c5db86f8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-full.xsl @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> + <xsl:import href="../../../iso19139/present/csw/csw-full.xsl"/> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-summary.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-summary.xsl new file mode 100644 index 00000000000..9c1a5d0053b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/csw-summary.xsl @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> + <xsl:import href="../../../iso19139/present/csw/csw-summary.xsl"/> +</xsl:stylesheet> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/gm03-full.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/gm03-full.xsl new file mode 100644 index 00000000000..8d305a65189 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/gm03-full.xsl @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> +<xsl:stylesheet version="2.0" xmlns="http://www.fao.org/geonetwork" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all"> + + <xsl:import href="../../convert/ISO19139CHE-to-GM03.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-brief.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-brief.xsl new file mode 100644 index 00000000000..04df857c308 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-brief.xsl @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="2.0"> + <xsl:import href="../../../iso19139/present/csw/gmd-brief.xsl"/> + + <!-- remove references to che:* elements in xsi:type attrs --> + <xsl:template match="*[starts-with(@xsi:type, 'che:')]"> + <xsl:element name="{name()}"> + <xsl:apply-templates select="@*[name() != 'xsi:type']|node()"/> + <!-- <xsl:copy-of select="@*[name() != '@xsi:type']"/> --> + </xsl:element> + </xsl:template> + + <!-- remove che:* elements w/o base type --> + <xsl:template match="*[starts-with(name(.), 'che:') and not(@gco:isoType)]"/> + + <!-- use iso19139 schemaLocation instead of the record one --> + <xsl:template match="@xsi:schemaLocation"> + <xsl:attribute name="xsi:schemaLocation">http://www.isotc211.org/2005/gmd http://www.isotc211.org/2005/gmd/gmd.xsd + http://www.isotc211.org/2005/gmx http://www.isotc211.org/2005/gmx/gmx.xsd + http://www.isotc211.org/2005/srv http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd</xsl:attribute> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-full.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-full.xsl new file mode 100644 index 00000000000..f4787585a25 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-full.xsl @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="2.0"> + + <xsl:import href="../../../../../../../xslt/geocat/xml_iso19139.xsl"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-summary.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-summary.xsl new file mode 100644 index 00000000000..3bfca823e76 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/csw/gmd-summary.xsl @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="2.0"> + <xsl:import href="../../../iso19139/present/csw/gmd-summary.xsl"/> + + <!-- remove references to che:* elements in xsi:type attrs --> + <xsl:template match="*[starts-with(@xsi:type, 'che:')]"> + <xsl:element name="{name()}"> + <xsl:apply-templates select="@*[name() != 'xsi:type']|node()"/> + <!-- <xsl:copy-of select="@*[name() != '@xsi:type']"/> --> + </xsl:element> + </xsl:template> + + <!-- remove che:* elements w/o base type --> + <xsl:template match="*[starts-with(name(.), 'che:') and not(@gco:isoType)]"/> + + <!-- use iso19139 schemaLocation instead of the record one --> + <xsl:template match="@xsi:schemaLocation"> + <xsl:attribute name="xsi:schemaLocation">http://www.isotc211.org/2005/gmd http://www.isotc211.org/2005/gmd/gmd.xsd + http://www.isotc211.org/2005/gmx http://www.isotc211.org/2005/gmx/gmx.xsd + http://www.isotc211.org/2005/srv http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd</xsl:attribute> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/metadata-che-fop.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/metadata-che-fop.xsl new file mode 100644 index 00000000000..ad98a86b6fe --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/metadata-che-fop.xsl @@ -0,0 +1,403 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0"> + + <xsl:template name="metadata-fop-iso19139.che"> + <xsl:param name="schema"/> + + <!-- Title --> + <xsl:variable name="title"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:title"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$title"/> + </xsl:call-template> + + <!-- Alternate Title --> + <xsl:variable name="alternateTitle"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:alternateTitle"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$alternateTitle"/> + </xsl:call-template> + + <!-- Date --> + <xsl:variable name="date"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date | + ./gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$date"/> + </xsl:call-template> + + <!-- Abstract --> + <xsl:variable name="abstract"> + <xsl:apply-templates mode="elementFop" select="./gmd:identificationInfo/*/gmd:abstract"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$abstract"/> + </xsl:call-template> + + <!-- Alternate Title --> + <xsl:variable name="status"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:status"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$status"/> + </xsl:call-template> + + <!-- Service Type --> + <xsl:variable name="serviceType"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/srv:serviceType/gco:LocalName "> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$serviceType"/> + </xsl:call-template> + + <!-- Service Type Version --> + <xsl:variable name="srvVersion"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/srv:serviceTypeVersion"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$srvVersion"/> + </xsl:call-template> + + <!-- Coupling Type --> + <xsl:variable name="couplingType"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/srv:couplingType/srv:SV_CouplingType/@codeListValue"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$couplingType"/> + </xsl:call-template> + + <!-- Code --> + <xsl:variable name="code"> + <xsl:apply-templates mode="elementFop" + select="gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:code"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$code"/> + </xsl:call-template> + + <!-- Language --> + <xsl:variable name="lang"> + <xsl:apply-templates mode="elementFop" select="./gmd:identificationInfo/*/gmd:language"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$lang"/> + </xsl:call-template> + + <!-- Charset Encoding --> + <xsl:variable name="lang"> + <xsl:apply-templates mode="elementFop" select="./gmd:identificationInfo/*/gmd:characterSet"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$lang"/> + </xsl:call-template> + + <!-- Hierarchy Level --> + <xsl:variable name="hierarchy"> + <xsl:apply-templates mode="elementFop" + select="./gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$hierarchy"/> + </xsl:call-template> + + <!-- Source Online --> + <xsl:variable name="online"> + <xsl:apply-templates mode="elementFop" + select="./gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage | + ./gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:protocol"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$online"/> + <xsl:with-param name="label"> + <xsl:value-of + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:onLine']/label"/> + </xsl:with-param> + </xsl:call-template> + + <!-- Contact --> + <xsl:call-template name="responsibleParty"> + <xsl:with-param name="path" select="./gmd:identificationInfo/*/gmd:pointOfContact"/> + <xsl:with-param name="name" select="'gmd:pointOfContact'"/> + </xsl:call-template> + + <!-- Topic category --> + <xsl:variable name="topicCat"> + <xsl:apply-templates mode="elementFop" select="./gmd:identificationInfo/*/gmd:topicCategory"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$topicCat"/> + </xsl:call-template> + + <!-- Keywords --> + <xsl:variable name="keyword"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword | + ./gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:type/gmd:MD_KeywordTypeCode/@codeListValue"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$keyword"/> + <xsl:with-param name="label"> + <xsl:value-of + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:keyword']/label"/> + </xsl:with-param> + </xsl:call-template> + + <!-- Geographical extent --> + <xsl:variable name="geoDesc"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:extent/gmd:EX_Extent/gmd:description | + ./gmd:identificationInfo/*/srv:extent/gmd:EX_Extent/gmd:description"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:variable name="geoBbox"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox | + ./gmd:identificationInfo/*/srv:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:variable name="timeExtent"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:extent/gmd:EX_Extent/gmd:temporalElement/gmd:EX_TemporalExtent/gmd:extent/gml:TimeInstant/gml:timePosition"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:variable name="geoExtent"> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$geoDesc"/> + </xsl:call-template> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$geoBbox"/> + <xsl:with-param name="label"> + <xsl:value-of + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:EX_GeographicBoundingBox']/label" + /> + </xsl:with-param> + </xsl:call-template> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$timeExtent"/> + <xsl:with-param name="label"> + <xsl:value-of + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:temporalElement']/label" + /> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$geoExtent"/> + <xsl:with-param name="label"> + <xsl:value-of + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:EX_Extent']/label"/> + </xsl:with-param> + </xsl:call-template> + + <!-- Spatial resolution --> + <xsl:variable name="spatialResolution"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:spatialResolution"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$spatialResolution"/> + <xsl:with-param name="label"> + <xsl:value-of + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:spatialResolution']/label" + /> + </xsl:with-param> + </xsl:call-template> + + <!-- "Généalogie" --> + <xsl:if test="./gmd:identificationInfo/*[name(.)!='srv:SV_ServiceIdentification']"> + <xsl:variable name="qual"> + <xsl:apply-templates mode="elementFop" + select="./gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + <xsl:apply-templates mode="elementFop" + select="./gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:source"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$qual"/> + <xsl:with-param name="label"> + <xsl:value-of + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:lineage']/label"/> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + + <!-- Constraints --> + <xsl:variable name="constraints"> + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:resourceConstraints/*/gmd:useLimitation/gco:CharacterString"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementFop" + select="./gmd:identificationInfo/*/gmd:resourceConstraints/*/gmd:classification"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$constraints"/> + <xsl:with-param name="label"> + <xsl:value-of + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:resourceConstraints']/label" + /> + </xsl:with-param> + </xsl:call-template> + + <!-- Identifier --> + <xsl:variable name="identifier"> + <xsl:apply-templates mode="elementFop" select="./gmd:fileIdentifier"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$identifier"/> + </xsl:call-template> + + <!-- Language --> + <xsl:variable name="language"> + <xsl:apply-templates mode="elementFop" select="./gmd:language"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$language"/> + </xsl:call-template> + + <!-- Encoding --> + <xsl:variable name="charset"> + <xsl:apply-templates mode="elementFop" + select="./gmd:characterSet/gmd:MD_CharacterSetCode/@codeListValue"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$charset"/> + </xsl:call-template> + + <!-- Contact --> + <xsl:call-template name="responsibleParty"> + <xsl:with-param name="path" select="./gmd:contact"/> + <xsl:with-param name="name" select="'gmd:contact'"/> + </xsl:call-template> + + <!-- Date stamp --> + <xsl:variable name="dateStamp"> + <xsl:apply-templates mode="elementFop" select="./gmd:dateStamp"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$dateStamp"/> + </xsl:call-template> + + <!-- Conformance --> + <xsl:if + test="gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult[contains(gmd:specification/gmd:CI_Citation/gmd:title/gco:CharacterString, 'INSPIRE')]"> + <xsl:variable name="conf"> + <xsl:apply-templates mode="elementFop" + select="./gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + <xsl:apply-templates mode="elementFop" + select="./gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + <xsl:apply-templates mode="elementFop" + select="./gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + <xsl:apply-templates mode="elementFop" + select="./gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:explanation"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + <xsl:apply-templates mode="elementFop" + select="./gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report/gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:pass"> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$conf"/> + <xsl:with-param name="label">INSPIRE</xsl:with-param> + </xsl:call-template> + </xsl:if> + </xsl:template> + + <xsl:template name="responsibleParty"> + <xsl:param name="path"/> + <xsl:param name="name"/> + + <xsl:variable name="poc"> + <xsl:apply-templates mode="elementFop" + select="$path/*/che:individualFirstName | + $path/*/che:individualLastName | + $path/*/gmd:organisationName | + $path/*/gmd:positionName | + $path/*/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress | + $path/*/gmd:contactInfo/*/gmd:onlineResource/*/gmd:linkage | + $path/*/gmd:contactInfo/*/gmd:address/*/che:streetName | + $path/*/gmd:contactInfo/*/gmd:address/*/gmd:postalCode | + $path/*/gmd:contactInfo/*/gmd:address/*/gmd:city | + $path/*/gmd:role/gmd:CI_RoleCode/@codeListValue"> + <xsl:with-param name="schema" select="'iso19139'"/> + </xsl:apply-templates> + </xsl:variable> + <xsl:variable name="label" select="/root/gui/schemas/iso19139/labels/element[@name=$name]"/> + <xsl:call-template name="blockElementFop"> + <xsl:with-param name="block" select="$poc"/> + <xsl:with-param name="label"> + <xsl:value-of select="$label[1]/label"/> + </xsl:with-param> + </xsl:call-template> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/metadata-che-layouts.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/metadata-che-layouts.xsl new file mode 100644 index 00000000000..9294a2d6285 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/metadata-che-layouts.xsl @@ -0,0 +1,465 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + version="1.0" +> + + + <xsl:template mode="iso19139" match="che:CHE_MD_Metadata" priority="100"> + <xsl:param name="edit"/> + <xsl:param name="schema"/> + <xsl:param name="embedded"/> + + <xsl:variable name="dataset" + select="gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='dataset' or normalize-space(gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue)=''"/> + + <tr> + <td valign="middle" colspan="2"> + <xsl:if test="/root/gui/config/editor-metadata-relation"> + <div style="float:right;"> + <xsl:call-template name="relatedResources"> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </div> + </xsl:if> + </td> + </tr> + + <xsl:choose> + + <!-- metadata tab --> + <xsl:when test="$currTab='metadata'"> + <xsl:call-template name="iso19139Metadata"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:when> + + <!-- identification tab --> + <xsl:when test="$currTab='identification'"> + <xsl:apply-templates mode="elementEP" + select="gmd:identificationInfo|geonet:child[string(@name)='identificationInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- maintenance tab --> + <xsl:when test="$currTab='maintenance'"> + <xsl:apply-templates mode="elementEP" + select="gmd:metadataMaintenance|geonet:child[string(@name)='metadataMaintenance']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- constraints tab --> + <xsl:when test="$currTab='constraints'"> + <xsl:apply-templates mode="elementEP" + select="gmd:metadataConstraints|geonet:child[string(@name)='metadataConstraints']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- spatial tab --> + <xsl:when test="$currTab='spatial'"> + <xsl:apply-templates mode="elementEP" + select="gmd:spatialRepresentationInfo|geonet:child[string(@name)='spatialRepresentationInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- refSys tab --> + <xsl:when test="$currTab='refSys'"> + <xsl:apply-templates mode="elementEP" + select="gmd:referenceSystemInfo|geonet:child[string(@name)='referenceSystemInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- distribution tab --> + <xsl:when test="$currTab='distribution'"> + <xsl:apply-templates mode="elementEP" + select="gmd:distributionInfo|geonet:child[string(@name)='distributionInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- embedded distribution tab --> + <xsl:when test="$currTab='distribution2'"> + <xsl:apply-templates mode="elementEP" + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- dataQuality tab --> + <xsl:when test="$currTab='dataQuality'"> + <xsl:apply-templates mode="elementEP" + select="gmd:dataQualityInfo|geonet:child[string(@name)='dataQualityInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- appSchInfo tab --> + <xsl:when test="$currTab='appSchInfo'"> + <xsl:apply-templates mode="elementEP" + select="gmd:applicationSchemaInfo|geonet:child[string(@name)='applicationSchemaInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- porCatInfo tab --> + <xsl:when test="$currTab='porCatInfo'"> + <xsl:apply-templates mode="elementEP" + select="gmd:portrayalCatalogueInfo|geonet:child[string(@name)='portrayalCatalogueInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- contentInfo tab --> + <xsl:when test="$currTab='contentInfo'"> + <xsl:apply-templates mode="elementEP" select="gmd:contentInfo|geonet:child[string(@name)='contentInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- extensionInfo tab --> + <xsl:when test="$currTab='extensionInfo'"> + <xsl:apply-templates mode="elementEP" + select="gmd:metadataExtensionInfo|geonet:child[string(@name)='metadataExtensionInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- extensionInfo tab --> + <xsl:when test="$currTab='legislationInformation'"> + <xsl:apply-templates mode="elementEP" + select="che:legislationInformation|geonet:child[string(@name)='legislationInformation']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + + <!-- ISOMinimum tab --> + <xsl:when test="$currTab='ISOMinimum'"> + <xsl:call-template name="isotabs"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="dataset" select="$dataset"/> + <xsl:with-param name="core" select="false()"/> + </xsl:call-template> + </xsl:when> + + <!-- ISOCore tab --> + <xsl:when test="$currTab='ISOCore'"> + <xsl:call-template name="isotabs"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="dataset" select="$dataset"/> + <xsl:with-param name="core" select="true()"/> + </xsl:call-template> + </xsl:when> + + <!-- ISOAll tab --> + <xsl:when test="$currTab='ISOAll'"> + <xsl:call-template name="iso19139Complete"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:when> + + <!-- INSPIRE tab --> + <xsl:when test="$currTab='inspire'"> + <xsl:call-template name="inspiretabs"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="dataset" select="$dataset"/> + </xsl:call-template> + </xsl:when> + + <xsl:when test="$currTab='complete'"> + <xsl:call-template name="iso19139CheComplete"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:when> + + <!-- default --> + <xsl:otherwise> + <xsl:call-template name="iso19139CheSimple"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <xsl:template name="iso19139CheComplete"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:apply-templates mode="elementEP" + select="gmd:identificationInfo|geonet:child[string(@name)='identificationInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:spatialRepresentationInfo|geonet:child[string(@name)='spatialRepresentationInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:referenceSystemInfo|geonet:child[string(@name)='referenceSystemInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:contentInfo|geonet:child[string(@name)='contentInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:distributionInfo|geonet:child[string(@name)='distributionInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:dataQualityInfo|geonet:child[string(@name)='dataQualityInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:portrayalCatalogueInfo|geonet:child[string(@name)='portrayalCatalogueInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:metadataConstraints|geonet:child[string(@name)='metadataConstraints']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:applicationSchemaInfo|geonet:child[string(@name)='applicationSchemaInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:metadataMaintenance|geonet:child[string(@name)='metadataMaintenance']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:call-template name="complexElementGuiWrapper"> + <xsl:with-param name="title" select="'Metadata Info'"/> + <xsl:with-param name="content"> + + <xsl:apply-templates mode="elementEP" select="gmd:fileIdentifier|geonet:child[string(@name)='fileIdentifier']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:language|geonet:child[string(@name)='language']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:characterSet|geonet:child[string(@name)='characterSet']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:parentIdentifier|geonet:child[string(@name)='parentIdentifier']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:hierarchyLevel|geonet:child[string(@name)='hierarchyLevel']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:hierarchyLevelName|geonet:child[string(@name)='hierarchyLevelName']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:contact|geonet:child[string(@name)='contact']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:dateStamp|geonet:child[string(@name)='dateStamp']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:metadataStandardName|geonet:child[string(@name)='metadataStandardName']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:metadataStandardVersion|geonet:child[string(@name)='metadataStandardVersion']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:dataSetURI|geonet:child[string(@name)='dataSetURI']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:locale|geonet:child[string(@name)='locale']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:series|geonet:child[string(@name)='series']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:describes|geonet:child[string(@name)='describes']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:propertyType|geonet:child[string(@name)='propertyType']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:featureType|geonet:child[string(@name)='featureType']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:featureAttribute|geonet:child[string(@name)='featureAttribute']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + </xsl:with-param> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="group" select="/root/gui/strings/metadataTab"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + + <xsl:apply-templates mode="elementEP" + select="gmd:metadataExtensionInfo|geonet:child[string(@name)='metadataExtensionInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="che:legislationInformation|geonet:child[string(@name)='legislationInformation']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + </xsl:template> + + + <xsl:template name="iso19139CheSimple"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:apply-templates mode="elementEP" + select="gmd:identificationInfo|geonet:child[string(@name)='identificationInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:distributionInfo|geonet:child[string(@name)='distributionInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:spatialRepresentationInfo|geonet:child[string(@name)='spatialRepresentationInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:referenceSystemInfo|geonet:child[string(@name)='referenceSystemInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:applicationSchemaInfo|geonet:child[string(@name)='applicationSchemaInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:portrayalCatalogueInfo|geonet:child[string(@name)='portrayalCatalogueInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:dataQualityInfo|geonet:child[string(@name)='dataQualityInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:metadataConstraints|geonet:child[string(@name)='metadataConstraints']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:call-template name="complexElementGui"> + <xsl:with-param name="title" select="/root/gui/strings/metadata"/> + <xsl:with-param name="content"> + <xsl:call-template name="iso19139Simple2"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="schema" select="$schema"/> + </xsl:call-template> + + <xsl:apply-templates mode="elementEP" select="gmd:contentInfo|geonet:child[string(@name)='contentInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:metadataExtensionInfo|geonet:child[string(@name)='metadataExtensionInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="che:legislationInformation|geonet:child[string(@name)='legislationInformation']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/metadata.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/metadata.xsl new file mode 100644 index 00000000000..dbdee0fa46a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/metadata.xsl @@ -0,0 +1,2460 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:util="java:org.fao.geonet.util.XslUtil" + xmlns:exslt="http://exslt.org/common" + version="1.0" +> + + <xsl:include href="metadata-che-layouts.xsl"/> + <xsl:include href="metadata-che-fop.xsl"/> + <xsl:include href="xml-to-string.xsl"/> + + <xsl:template name="iso19139.che-javascript"/> + <xsl:template name="iso19139.cheCompleteTab"> + <xsl:param name="tabLink"/> + <xsl:param name="schema"/> + + + <xsl:call-template name="displayTab"> + <xsl:with-param name="tab" select="'complete'"/> + <xsl:with-param name="text" select="/root/gui/strings/completeTab"/> + <xsl:with-param name="tabLink" select="$tabLink"/> + </xsl:call-template> + <xsl:call-template name="iso19139CompleteTab"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="tabLink" select="$tabLink"/> + </xsl:call-template> + <xsl:call-template name="displayTab"> + <xsl:with-param name="tab" select="'legislationInformation'"/> + <xsl:with-param name="text" select="/root/gui/strings/legislationInformation"/> + <xsl:with-param name="indent" select="'&#xA0;&#xA0;&#xA0;'"/> + <xsl:with-param name="tabLink" select="$tabLink"/> + </xsl:call-template> + + </xsl:template> + + <!-- main template - the way into processing iso19139 --> + <xsl:template name="metadata-iso19139.che"> + <xsl:param name="schema"/> + <xsl:param name="edit" select="false()"/> + <xsl:param name="embedded"/> + + <xsl:call-template name="toggle-visibility-edit"> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + + + <xsl:apply-templates mode="iso19139" select="."> + <xsl:with-param name="schema" select="'iso19139'"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="currTab" select="$currTab"/> + </xsl:apply-templates> + + + </xsl:template> + + + <!-- Do not display those elements --> + <xsl:template mode="elementEP" + match="gmd:describes|gmd:propertyType|gmd:featureType|gmd:featureAttribute" priority="2"/> + <xsl:template mode="elementEP" + match="geonet:child[@name='describes' and @prefix='gmd']| + geonet:child[@name='propertyType' and @prefix='gmd']| + geonet:child[@name='featureType' and @prefix='gmd']| + geonet:child[@name='featureAttribute' and @prefix='gmd']" priority="2"/> + + + <!-- In ISO profil for switzerland not all text fields are + multilingual. --> + <xsl:template mode="iso19139" + match=" + che:basicGeodataID[gco:CharacterString]| + che:streetName[gco:CharacterString]| + che:streetNumber[gco:CharacterString]| + che:addressLine[gco:CharacterString]| + che:postBox[gco:CharacterString]| + che:directNumber[gco:CharacterString]| + che:mobile[gco:CharacterString]| + che:individualFirstName[gco:CharacterString]| + che:individualLastName[gco:CharacterString]| + che:internalReference[gco:CharacterString] + " + priority="100"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:template> + + + <!-- In ISO profil for switzerland not all text fields are + multilingual. --> + <xsl:template mode="iso19139" match="gmd:explanation[gco:CharacterString]" + priority="100"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="rows" select="3"/> + </xsl:call-template> + </xsl:template> + + <!-- Use this template to define which elements + are not multilingual and mandatory--> + <xsl:template mode="iso19139" + match=" + che:CHE_MD_AbstractClass/che:name[gco:CharacterString]| + che:CHE_MD_Attribute/che:name[gco:CharacterString]| + che:CHE_MD_CodeDomain/che:name[gco:CharacterString]| + che:CHE_MD_Role/che:name[gco:CharacterString]| + che:CHE_MD_Association/che:name[gco:CharacterString]| + che:CHE_MD_Class/che:name[gco:CharacterString]| + che:CHE_MD_Type/che:name[gco:CharacterString]| + che:attribute/che:name[gco:CharacterString]| + che:CHE_MD_CodeValue/che:name[gco:CharacterString]" + priority="100"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="validator" select="'validateNonEmpty(this)'"/> + </xsl:call-template> + </xsl:template> + + <!-- ============================================================================= --> + + <xsl:template mode="iso19139" + match="gmd:contact|gmd:pointOfContact|gmd:distributorContact|gmd:citedResponsibleParty|gmd:userContactInfo|*[@gco:isoType='gmd:CI_ResponsibleParty']" + priority="5"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:choose> + <xsl:when test="che:CHE_CI_ResponsibleParty"> + <xsl:call-template name="cheContactTemplate"> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="schema" select="$schema"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="contactTemplate"> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="schema" select="$schema"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="cheContactTemplate"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:variable name="lang"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/gui/language"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="content"> + <xsl:for-each select="che:CHE_CI_ResponsibleParty"> + <tr> + <td class="padded-content" width="100%" colspan="2"> + <table width="100%"> + <tr> + <td width="50%" valign="top"> + <table width="100%"> + <xsl:apply-templates mode="elementEP" select="../@xlink:href"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:choose> + <xsl:when test="$edit = 'true'"> + <xsl:variable name="link"> + <xsl:value-of select="/root/gui/locService"/> + <xsl:text>/shared.user.edit?closeOnSave&amp;operation=fullupdate&amp;id=</xsl:text> + <xsl:value-of + select="substring(../@xlink:href, string-length(substring-before(../@xlink:href, 'id'))+4)"/> + <xsl:text>&amp;validated=</xsl:text> + <xsl:choose> + <xsl:when test="../@xlink:role = 'http://www.geonetwork.org/non_valid_obj'"> + <xsl:text>n</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>y</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> + <xsl:when test="not(contains(../@xlink:href, 'deleted'))"> + <a style="cursor:pointer;font-weight: bold;" href="{$link}" target="_userEditTab">Edit + Contact + </a> + </xsl:when> + <xsl:otherwise> + <xsl:text>Contact is deleted: </xsl:text><xsl:value-of select="../@xlink:href"/> + </xsl:otherwise> + </xsl:choose> + + <xsl:apply-templates mode="elementEP" + select="che:individualFirstName|geonet:child[string(@name)='individualFirstName']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="che:individualLastName|geonet:child[string(@name)='individualLastName']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="simpleElement" + select="(che:individualFirstName|geonet:child[string(@name)='individualFirstName']| + che:individualLastName|geonet:child[string(@name)='individualLastName'])[1]"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="title" + select="/root/gui/schemas/iso19139/labels/element[@name='gmd:individualName']/label"/> + <xsl:with-param name="text"> + <xsl:value-of + select="(che:individualFirstName|geonet:child[string(@name)='individualFirstName'])/gco:CharacterString"/> + <xsl:text> </xsl:text> + <xsl:value-of + select="(che:individualLastName|geonet:child[string(@name)='individualLastName'])/gco:CharacterString"/> + </xsl:with-param> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + + <xsl:apply-templates mode="elementEP" + select="gmd:organisationName|geonet:child[string(@name)='organisationName']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="che:organisationAcronym|geonet:child[string(@name)='organisationAcronym']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" + select="gmd:positionName|geonet:child[string(@name)='positionName']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="elementEP" select="gmd:role|geonet:child[string(@name)='role']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + </table> + </td> + <td valign="top"> + <table width="100%"> + <xsl:apply-templates mode="elementEP" + select="gmd:contactInfo|geonet:child[string(@name)='contactInfo']"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </table> + </td> + </tr> + </table> + </td> + </tr> + </xsl:for-each> + </xsl:variable> + + <xsl:apply-templates mode="complexElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="content" select="$content"/> + </xsl:apply-templates> + + </xsl:template> + + <!-- ============================================================================= --> + + <!-- Use this template to define which elements + are multilingual and mandatory + <xsl:template mode="iso19139" + match=" " + priority="100"> + <xsl:param name="schema" /> + <xsl:param name="edit" /> + + <xsl:call-template name="localizedCharStringField"> + <xsl:with-param name="schema" select="$schema" /> + <xsl:with-param name="edit" select="$edit" /> + <xsl:with-param name="validator" select="'validateNonEmpty(this)'" /> + </xsl:call-template> + </xsl:template> --> + + <xsl:template mode="iso19139" + match="che:organisationAcronym" + priority="100"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:call-template name="localizedCharStringField"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:template> + + + <!-- Multilingual editor widget is composed of input box + with a list of languages. Metadata languages are : + * the main language (gmd:language) and + * all languages defined in gmd:locale. --> + <xsl:template mode="iso19139" + match="gmd:CI_OnlineResource/gmd:linkage | + che:historyConceptURL | + che:archiveConceptURL | + che:dataModel | + che:portrayalCatalogueURL | + *[che:LocalisedURL|che:PT_FreeURL|@xsi:type='che:PT_FreeURL_PropertyType']" + priority="20"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:param name="rows" select="1"/> + <xsl:param name="validator"/> + + <xsl:variable name="langId"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/gui/language"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + <!-- Use this template for mandatory text fields. + User editing is validated on the editor. If not valid, + form input will be highlighted (red). + --> + <xsl:variable name="validator"> + <xsl:choose> + <xsl:when test="(name(.)='gmd:linkage' and ancestor::node()[name(.) = 'gmd:MD_DigitalTransferOptions'])"> + <xsl:value-of select="'validateNonEmpty(this)'"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="widget"> + <xsl:choose> + <xsl:when test="$edit=true()"> + <xsl:variable name="tmpFreeURL"> + <xsl:call-template name="PT_FreeURL_Tree"/> + </xsl:variable> + + <xsl:variable name="ptFreeURLTree" select="$tmpFreeURL"/> + + <xsl:variable name="mainLang" + select="string(/root/*/gmd:language/gco:CharacterString)"/> + <xsl:variable name="mainLangId" + select="concat('#',/root/*/gmd:locale/gmd:PT_Locale[gmd:languageCode/gmd:LanguageCode/@codeListValue=$mainLang]/@id)"/> + + <table> + <tr> + <td> + <!-- Match gmd:URL element which is in default language or + process a PT_FreeText with a reference to the main metadata language. --> + <xsl:choose> + <xsl:when test="gmd:URL|che:LocalisedURL"> + <xsl:for-each select="gmd:URL|che:LocalisedURL"> + <xsl:call-template name="getElementText"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="visible" select="'true'"/> + <xsl:with-param name="edit" select="true()"/> + <xsl:with-param name="rows" select="$rows"/> + <xsl:with-param name="validator" select="$validator"/> + </xsl:call-template> + </xsl:for-each> + </xsl:when> + <xsl:when test="che:PT_FreeURL/che:URLGroup/che:LocalisedURL[@locale=$mainLangId]"> + <xsl:for-each select="che:PT_FreeURL/che:URLGroup/che:LocalisedURL[@locale=$mainLangId]"> + <xsl:call-template name="getElementText"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="true()"/> + <xsl:with-param name="visible" select="'true'"/> + <xsl:with-param name="rows" select="$rows"/> + <xsl:with-param name="validator" select="$validator"/> + </xsl:call-template> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="$ptFreeURLTree//che:LocalisedURL[@locale=$mainLangId]"> + <xsl:call-template name="getElementText"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="true()"/> + <xsl:with-param name="visible" select="'true'"/> + <xsl:with-param name="rows" select="$rows"/> + <xsl:with-param name="validator" select="$validator"/> + </xsl:call-template> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + + <xsl:for-each select="$ptFreeURLTree//che:LocalisedURL[@locale!=$mainLangId]"> + <xsl:call-template name="getElementText"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="true()"/> + <xsl:with-param name="visible" select="'false'"/> + <xsl:with-param name="rows" select="$rows"/> + <xsl:with-param name="validator" select="$validator"/> + </xsl:call-template> + </xsl:for-each> + </td> + <td align="left">&#160; + <select class="md lang_selector" name="localization" onchange="enableLocalInput(this)" SELECTED="true"> + <xsl:choose> + <xsl:when test="gmd:*|che:LocalisedURL"> + <xsl:variable name="ref"> + <xsl:choose> + <xsl:when test="che:LocalisedURL"> + <xsl:value-of select="che:LocalisedURL/geonet:element/@ref"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="gmd:*/geonet:element/@ref"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <option value="_{$ref}" code="{substring-after($mainLangId, '#')}"> + <xsl:choose> + <xsl:when test="normalize-space($mainLang)=''"> + <xsl:value-of select="/root/gui/strings/mainMetadataLanguageNotSet"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of + select="/root/gui/isoLang/record[code=$mainLang]/label/*[name(.)=/root/gui/language]"/> + </xsl:otherwise> + </xsl:choose> + </option> + <xsl:for-each select="$ptFreeURLTree//che:LocalisedURL[@locale!=$mainLangId]"> + <option value="_{geonet:element/@ref}" code="{substring-after(@locale, '#')}"> + <xsl:value-of select="@language"/> + </option> + <xsl:value-of select="name(.)"/> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="$ptFreeURLTree//che:LocalisedURL"> + <option value="_{geonet:element/@ref}" code="{substring-after(@locale, '#')}"> + <xsl:value-of select="@language"/> + </option> + <xsl:value-of select="name(.)"/> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + </select> + + </td> + </tr> + </table> + </xsl:when> + <xsl:otherwise> + ERROR + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$edit=true()"> + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="langId" select="$langId"/> + <xsl:with-param name="widget" select="$widget"/> + <xsl:with-param name="rows" select="$rows"/> + <xsl:with-param name="validator" select="$validator"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="cheString"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="langId" select="$langId"/> + <xsl:with-param name="rows" select="$rows"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <xsl:template name="PT_FreeURL_Tree"> + <xsl:variable name="mainLang" + select="string(/root/*/gmd:language/gco:CharacterString)"/> + <xsl:variable name="languages" + select="/root/*/gmd:locale/gmd:PT_Locale/gmd:languageCode/gmd:LanguageCode/@codeListValue"/> + <xsl:variable name="xlinkedAncestor"> + <xsl:call-template name="validatedXlink"/> + </xsl:variable> + + <xsl:variable name="currentNode" select="node()"/> + <xsl:for-each select="$languages"> + <xsl:variable name="langId" + select="concat('&#35;',string(../../../@id))"/> + <xsl:variable name="code"> + <xsl:call-template name="getLangCode"> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + <xsl:with-param name="langId" select="substring($langId,2)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="ref" select="$currentNode/../geonet:element/@ref"/> + <xsl:variable name="disabled" select="$currentNode/../geonet:element/@disabled"/> + <xsl:variable name="min" select="$currentNode/../geonet:element/@min"/> + <xsl:variable name="guiLang" select="/root/gui/language"/> + <xsl:variable name="language"> + <xsl:choose> + <xsl:when test="/root/gui/isoLang/record[code=$code]/label/*[name(.)=$guiLang]"> + <xsl:value-of select="/root/gui/isoLang/record[code=$code]/label/*[name(.)=$guiLang]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$code"/> no found in + <xsl:value-of select="$guiLang"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <che:PT_FreeURL xlink:title="{$currentNode/ancestor-or-self::*[contains(@xlink:title,'rejected')]/@xlink:title}"> + <!-- Propagate xlink attribute to the var which contains translation + in order to turn off editing. --> + <xsl:if test="$xlinkedAncestor = 'true'"> + <xsl:attribute name="xlink:href"></xsl:attribute> + </xsl:if> + <che:URLGroup> + <che:LocalisedURL locale="{$langId}" + code="{$code}" language="{$language}"> + <xsl:value-of + select="$currentNode//che:LocalisedURL[@locale=$langId]"/> + <xsl:choose> + <xsl:when + test="$currentNode//che:LocalisedURL[@locale=$langId]"> + <geonet:element + ref="{$currentNode//che:LocalisedURL[@locale=$langId]/geonet:element/@ref}"> + <xsl:if test="$disabled"> + <xsl:attribute name="disabled">true</xsl:attribute> + </xsl:if> + </geonet:element> + </xsl:when> + <xsl:otherwise> + <geonet:element ref="url_{substring($langId,2)}_{$ref}"> + <xsl:if test="$disabled"> + <xsl:attribute name="disabled">true</xsl:attribute> + </xsl:if> + </geonet:element> + </xsl:otherwise> + </xsl:choose> + </che:LocalisedURL> + <geonet:element ref=""> + <xsl:if test="$disabled"> + <xsl:attribute name="disabled">true</xsl:attribute> + </xsl:if> + </geonet:element> + </che:URLGroup> + <geonet:element ref=""> + <!-- Add min attribute from current node to PT_FreeText + child in order to turn on validation criteria. --> + <xsl:if test="$min = 1"> + <xsl:attribute name="min">1</xsl:attribute> + </xsl:if> + <xsl:if test="$disabled"> + <xsl:attribute name="disabled">true</xsl:attribute> + </xsl:if> + </geonet:element> + </che:PT_FreeURL> + </xsl:for-each> + </xsl:template> + + <xsl:template name="translateURL"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:param name="rows" select="1"/> + <xsl:param name="cols" select="40"/> + <xsl:param name="langId"/> + <xsl:param name="widget"/> + <xsl:param name="validator"/> + + <xsl:variable name="defaultLang"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" + select="/root/*/gmd:language/gco:CharacterString"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="not($edit=true() and $widget)"> + <xsl:choose> + <xsl:when test="(.//che:LocalisedURL)[@locale=$langId]"> + <xsl:value-of select="(.//che:LocalisedURL)[@locale=$langId]"/> + </xsl:when> + + <xsl:when test="(.//che:LocalisedURL)[@locale=$defaultLang]"> + <xsl:value-of select=".//che:LocalisedURL[@locale=$defaultLang]"/> + </xsl:when> + <xsl:when test="che:LocalisedURL"> + <xsl:value-of select=".//che:LocalisedURL[@locale=$defaultLang]"/> + </xsl:when> + + <xsl:otherwise> + <xsl:value-of select="gmd:URL"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$widget"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="cheString"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:param name="rows" select="1"/> + <xsl:param name="cols" select="50"/> + <xsl:param name="langId"/> + <xsl:param name="widget"/> + <xsl:param name="validator"/> + + <xsl:variable name="title"> + <xsl:call-template name="getTitle"> + <xsl:with-param name="name" select="name(.)"/> + <xsl:with-param name="schema" select="$schema"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="helpLink"> + <xsl:call-template name="getHelpLink"> + <xsl:with-param name="name" select="name(.)"/> + <xsl:with-param name="schema" select="$schema"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="text"> + <xsl:call-template name="translateURL"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="rows" select="$rows"/> + <xsl:with-param name="cols" select="$cols"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="langId" select="$langId"/> + <xsl:with-param name="validator" select="$validator"/> + <xsl:with-param name="widget" select="$widget"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="attrs"> + <xsl:for-each select="che:*/@*"> + <xsl:value-of select="name(.)"/> + </xsl:for-each> + </xsl:variable> + + <xsl:choose> + <xsl:when test="normalize-space($attrs)!=''"> + <xsl:apply-templates mode="complexElement" + select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="helpLink" select="$helpLink"/> + <xsl:with-param name="content"> + + <!-- existing attributes --> + <xsl:for-each select="che:*/@*"> + <xsl:apply-templates mode="simpleElement" + select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:for-each> + + <!-- existing content --> + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="helpLink" select="$helpLink"/> + <xsl:with-param name="text" select="$text"/> + </xsl:apply-templates> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="helpLink" select="$helpLink"/> + <xsl:with-param name="text" select="$text"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + + </xsl:template> + + <xsl:template mode="iso19139" match="gco:Record" priority="2"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:variable name="text"> + <xsl:variable name="ref" select="geonet:element/@ref"/> + <xsl:variable name="data"> + <xsl:apply-templates mode="xml-to-string"> + <xsl:with-param name="depth">10</xsl:with-param> + </xsl:apply-templates> + </xsl:variable> + <xsl:choose> + <xsl:when test="$edit = true()"> + <textarea class="md" name="_B{$ref}" id="_B{$ref}" cols="50" rows="5" style="display:block"> + <xsl:value-of select="normalize-space($data)"/> + </textarea> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$data"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:apply-templates mode="simpleElement" + select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="true()"/> + <xsl:with-param name="text" select="$text"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="iso19139" + match="gmd:CI_OnlineResource[gmd:linkage/che:PT_FreeURL or + gmd:linkage/che:LocalisedURL or + gmd:linkage[xsi:type='che:PT_FreeURL_PropertyType']]" priority="10"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:choose> + <xsl:when test="$edit!=true()"> + + <xsl:variable name="langId"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/gui/language"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="defaultLang"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/*/gmd:language/gco:CharacterString"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="linkLang"> + <xsl:choose> + <xsl:when test="(.//che:LocalisedURL)[@locale=$langId]"> + <xsl:value-of select="$langId"/> + </xsl:when> + + <xsl:when test="(.//che:LocalisedURL)[@locale=$defaultLang]"> + <xsl:value-of select="$defaultLang"/> + </xsl:when> + + <xsl:when test="(.//che:LocalisedURL)[@locale=$defaultLang]"> + <xsl:value-of select="$defaultLang"/> + </xsl:when> + + <xsl:when test="gmd:linkage/che:LocalisedURL"> + <xsl:value-of select="$defaultLang"/> + </xsl:when> + + <xsl:when test="gmd:linkage/gmd:URL"> + <xsl:value-of select="$defaultLang"/> + </xsl:when> + + <xsl:when test=".//che:LocalisedURL[position()=1]"> + <xsl:value-of select=".//che:LocalisedURL[position()=1]/@locale"/> + </xsl:when> + + <xsl:otherwise> + <xsl:text/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="name"> + <xsl:for-each select="gmd:name"> + <xsl:call-template name="localised"> + <xsl:with-param name="langId" select="$langId"/> + </xsl:call-template> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="description"> + <xsl:for-each select="gmd:description"> + <xsl:call-template name="localised"> + <xsl:with-param name="langId" select="$langId"/> + </xsl:call-template> + </xsl:for-each> + </xsl:variable> + + + <xsl:variable name="linkage"> + <xsl:choose> + <xsl:when test="(.//che:LocalisedURL)[@locale=$linkLang]"> + <xsl:value-of select="(.//che:LocalisedURL)[@locale=$linkLang]"/> + </xsl:when> + + <xsl:when test="gmd:linkage/che:LocalisedURL"> + <xsl:value-of select="gmd:linkage/che:LocalisedURL"/> + </xsl:when> + + <xsl:when test="gmd:linkage/gmd:URL"> + <xsl:value-of select="gmd:linkage/gmd:URL"/> + </xsl:when> + + <xsl:otherwise> + <xsl:text/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="string($linkage)!=''"> + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="text"> + <a href="{$linkage}" target="_new"> + <xsl:choose> + <xsl:when test="string($description)!='' and string($name)!=''"> + <xsl:value-of select="$name"/><xsl:text> (</xsl:text><xsl:value-of select="$description"/>) + </xsl:when> + <xsl:when test="string($description)!=''"> + <xsl:value-of select="$description"/> + </xsl:when> + <xsl:when test="string($name)!=''"> + <xsl:value-of select="$name"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$linkage"/> + </xsl:otherwise> + </xsl:choose> + </a> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso19139EditOnlineRes" select="."> + <xsl:with-param name="schema" select="$schema"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <!-- ============================================================================= --> + <!-- Restrict list of languages on editing mode for swiss profil --> + + <xsl:template mode="iso19139" match="gmd:language[ancestor::*[name(.)='che:CHE_MD_Metadata']]" priority="100"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="text"> + <xsl:apply-templates mode="iso19139.cheGetIsoLanguage" select="gco:CharacterString"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + + <xsl:template mode="iso19139.cheGetIsoLanguage" match="*"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:variable name="lang" select="/root/gui/language"/> + <xsl:variable name="value" select="string(.|@codeListValue)"/> + + <!-- If the current metadata record is not a template + do not allow editor to change the default language. + This is mainly defined because if you change default + language, you also have to switch all elements from the + default to the new one (and eventually create the old + one in local). --> + <xsl:variable name="isTemplate"> + <xsl:choose> + <xsl:when test="../../geonet:info/isTemplate='n' and + (name(../..)='gmd:MD_Metadata' or ../../@gco:isoType='gmd:MD_Metadata')"> + <xsl:value-of select="false()"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="true()"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$edit='true' and $isTemplate='true'"> + <select class="md" name="_{geonet:element/@ref}" size="1"> + <option name=""/> + + <xsl:for-each + select="/root/gui/isoLang/record[code='eng' or code='fre' or code='ger' or code='ita' or code='roh']"> + <xsl:sort select="label/child::*[name() = $lang]"/> + <option value="{code}"> + <xsl:if test="code = $value"> + <xsl:attribute name="selected"/> + </xsl:if> + <xsl:value-of select="label/child::*[name() = $lang]"/> + </option> + </xsl:for-each> + </select> + </xsl:when> + <xsl:otherwise> + <xsl:value-of + select="/root/gui/isoLang/record[code=$value]/label/child::*[name() = $lang]"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template mode="iso19139" match="gmd:LanguageCode[ancestor::*[name(.)='che:CHE_MD_Metadata']]" priority="100"> + <xsl:param name="edit"/> + + <xsl:variable name="value" select="@codeListValue"/> + <xsl:variable name="lang" select="/root/gui/language"/> + <xsl:choose> + <xsl:when test="$edit=true()"> + <select class="md" name="_{geonet:element/@ref}_codeListValue" + size="1"> + <option name=""/> + + <xsl:for-each + select="/root/gui/isoLang/record[code='eng' or code='fre' or code='ger' or code='ita' or code='roh']"> + <option value="{code}"> + <xsl:if test="code = $value"> + <xsl:attribute name="selected"/> + </xsl:if> + <xsl:value-of select="label/child::*[name() = $lang]"/> + </option> + </xsl:for-each> + </select> + </xsl:when> + + <xsl:otherwise> + <xsl:value-of + select="/root/gui/isoLang/record[code=$value]/label/child::*[name() = $lang]"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ===================================================================== --> + <!-- these elements should be boxed --> + <!-- ===================================================================== --> + + <xsl:template mode="iso19139" match="che:legislationInformation|che:CHE_MD_ArchiveConcept|che:CHE_MD_HistoryConcept|che:CHE_CI_ResponsibleParty| + che:CHE_MD_DataIdentification|che:CHE_MD_FeatureCatalogueDescription|che:class|che:attribute|che:CHE_MD_MaintenanceInformation| + che:CHE_MD_LegalConstraints"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:apply-templates mode="complexElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="iso19139" match="che:country[*/@codeList]" priority="1"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:variable name="qname" select="name(.)"/> + <xsl:variable name="value" select="gmd:Country/@codeListValue"/> + + + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="text"> + <xsl:choose> + <xsl:when test="$edit=true()"> + + <xsl:variable name="xlinkedAncestor"> + <xsl:call-template name="validatedXlink"/> + </xsl:variable> + + <!-- codelist in edit mode --> + <select class="md" name="_{gmd:Country/geonet:element/@ref}_codeListValue" + size="1"> + <xsl:if test="$xlinkedAncestor = 'true'"> + <xsl:attribute name="disabled">true</xsl:attribute> + </xsl:if> + + <option name=""/> + <xsl:for-each select="/root/gui/countries/country"> + <xsl:sort select="text()"/> + <option> + <xsl:if test="upper-case(@iso2) = upper-case($value)"> + <xsl:attribute name="selected"/> + </xsl:if> + <xsl:attribute name="value"> + <xsl:value-of select="upper-case(@iso2)"/> + </xsl:attribute> + <xsl:value-of select="text()"/> + </option> + </xsl:for-each> + </select> + </xsl:when> + <xsl:otherwise> + <xsl:value-of + select="/root/gui/countries/country[upper-case($value)=upper-case(text()) or upper-case($value)=upper-case(@iso2)]/text()"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + + </xsl:template> + + <xsl:template mode="iso19139" match="che:*[*/@codeList]"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:call-template name="iso19139Codelist"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:template> + + + <xsl:template mode="iso19139" + match="che:*[gco:Integer|gco:Decimal|gco:Real|gco:Length|gco:Measure|gco:Scale]" + > + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:variable name="langId"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/gui/language"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="langId" select="$langId"/> + <xsl:with-param name="validator" select="'validateNumber(this)'"/> + </xsl:call-template> + </xsl:template> + + <xsl:template mode="iso19139" + match="*[gco:Distance and ancestor::che:CHE_MD_Metadata]" + priority="2"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:variable name="langId"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/gui/language"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="langId" select="$langId"/> + <xsl:with-param name="validator" select="'validateGM03Distance(this, false, false)'"/> + </xsl:call-template> + </xsl:template> + + <!-- + + MemberName (used in gmd:sequenceIdentifier) is a NAME (composed of + letters and digits, starting with a letter, ili-Refmanual, p. 23) + according to INTERLIS + GenericName (used in gmd:featureTypes of + MD_FeatureCatalogueDescription) is also a NAME (composed of + letters and digits, starting with a letter, ili-Refmanual, p. 23) + according to INTERLIS (should not be a choice as it is now) + * gmd:featureTypes/gco:LocalName + * gco:MemberName/gco:aName + --> + <xsl:template mode="iso19139" match="gmd:featureTypes/gco:LocalName[ancestor::che:CHE_MD_Metadata]"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:variable name="text"> + <xsl:call-template name="getElementText"> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="visible" select="'true'"/> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="validator" select="'validateGM03NAME(this)'"/> + </xsl:call-template> + </xsl:variable> + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="title" select="'Name'"/> + <xsl:with-param name="text" select="$text"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="iso19139" + match="gco:MemberName/gco:aName[ancestor::che:CHE_MD_Metadata]" + priority="2"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:variable name="langId"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/gui/language"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="langId" select="$langId"/> + <xsl:with-param name="validator" select="'validateGM03NAME(this)'"/> + </xsl:call-template> + </xsl:template> + + + <xsl:template mode="iso19139" + match="che:*[gco:Date|gco:DateTime|gco:Boolean| + gco:Angle|gco:RecordType]" + > + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:variable name="langId"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/gui/language"/> + <xsl:with-param name="md" + select="ancestor-or-self::*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="langId" select="$langId"/> + </xsl:call-template> + </xsl:template> + + + <xsl:template mode="iso19139" + match="che:*[gco:CharacterString]"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:call-template name="localizedCharStringField"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="che:PT_FreeURL_PropertyType"/> + + + <xsl:template mode="iso19139" match="che:dateOfLastUpdate|che:dateOfMonitoringState" priority="2"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:choose> + <xsl:when test="$edit=true()"> + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="text"> + <xsl:variable name="ref" select="gco:Date/geonet:element/@ref|gco:DateTime/geonet:element/@ref"/> + <xsl:variable name="format"> + <xsl:choose> + <xsl:when test="gco:Date"> + <xsl:text>%Y-%m-%d</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>%Y-%m-%dT%H:%M:00</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:call-template name="calendar"> + <xsl:with-param name="ref" select="$ref"/> + <xsl:with-param name="date" select="gco:DateTime/text()|gco:Date/text()"/> + <xsl:with-param name="format" select="$format"/> + </xsl:call-template> + + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso19139String"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ===================================================================== --> + <!-- === CSV formatting for che profil. Mainly defined in order + to do geobasic data monitoring as defined in exportAttributes.xls + document. === --> + <!-- ===================================================================== --> + + <xsl:template match="che:CHE_MD_Metadata" mode="csv"> + <xsl:param name="internalSep"/> + + <metadata> + <!-- Copy header --> + <xsl:copy-of select="geonet:info"/> + + + <!-- Identification --> + <gmd:title> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString| + gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:title> + + <gmd:abstract> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:abstract/gco:CharacterString| + gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:abstract/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:abstract> + + <gmd:organisationName> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:organisationName/gco:CharacterString| + gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:organisationName/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:organisationName> + + <gmd:individualFirstName> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/che:individualFirstName/gco:CharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:individualFirstName> + + <gmd:individualLastName> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/che:individualLastName/gco:CharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:individualLastName> + + <gmd:electronicMailAddress> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress/gco:CharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:electronicMailAddress> + + <gmd:fileIdentifier> + <xsl:value-of select="gmd:fileIdentifier/gco:CharacterString"/> + </gmd:fileIdentifier> + <gmd:dateStamp> + <xsl:value-of select="gmd:dateStamp/gco:DateTime"/> + </gmd:dateStamp> + + <!-- Basic geodata --> + <che:basicGeodataID> + <xsl:value-of + select="gmd:identificationInfo/che:CHE_MD_DataIdentification/che:basicGeodataID/gco:CharacterString"/> + </che:basicGeodataID> + > + + <che:basicGeodataIDType> + <xsl:value-of + select="gmd:identificationInfo/che:CHE_MD_DataIdentification/che:basicGeodataIDType/che:basicGeodataIDTypeCode/@codeListValue"/> + </che:basicGeodataIDType> + > + + <che:dateOfMonitoringState> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/che:CHE_MD_MaintenanceInformation/che:dateOfMonitoringState/gco:Date"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:dateOfMonitoringState> + + <!-- Objektkatalog --> + <xsl:choose> + <xsl:when + test="count(gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription[che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='FeatureDescription'])=1"> + <xsl:variable name="fc" + select="gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription[che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='FeatureDescription']"></xsl:variable> + <che:featureCat.FeatureDescription.title> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:title/gco:CharacterString| + $fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.FeatureDescription.title> + + <che:featureCat.FeatureDescription.otherCitationDetails> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gco:CharacterString| + $fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.FeatureDescription.otherCitationDetails> + + <che:featureCat.FeatureDescription.date> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation//gmd:CI_Date"> + <xsl:value-of select="gmd:date/gco:Date"/><xsl:text> </xsl:text><xsl:value-of + select="gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.FeatureDescription.date> + + <che:featureCat.FeatureDescription.url> + <xsl:for-each select="$fc/che:dataModel/che:PT_FreeURL/che:URLGroup/che:LocalisedURL"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.FeatureDescription.url> + </xsl:when> + <xsl:otherwise> + <featureCat.FeatureDescription.title/> + <featureCat.FeatureDescription.otherCitationDetails/> + <featureCat.FeatureDescription.date/> + <featureCat.FeatureDescription.url/> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when + test="count(gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription[che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='UMLdiagram'])=1"> + <xsl:variable name="fc" + select="gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription[che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='UMLdiagram']"></xsl:variable> + <che:featureCat.UMLdiagram.title> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:title/gco:CharacterString| + $fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.UMLdiagram.title> + + <che:featureCat.UMLdiagram.otherCitationDetails> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gco:CharacterString| + $fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.UMLdiagram.otherCitationDetails> + + <che:featureCat.UMLdiagram.date> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation//gmd:CI_Date"> + <xsl:value-of select="gmd:date/gco:Date"/><xsl:text> </xsl:text><xsl:value-of + select="gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.UMLdiagram.date> + + <che:featureCat.UMLdiagram.url> + <xsl:for-each select="$fc/che:dataModel/che:PT_FreeURL/che:URLGroup/che:LocalisedURL"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.UMLdiagram.url> + </xsl:when> + <xsl:otherwise> + <featureCat.UMLdiagram.title/> + <featureCat.UMLdiagram.otherCitationDetails/> + <featureCat.UMLdiagram.date/> + <featureCat.UMLdiagram.url/> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when + test="count(gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription[che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='INTERLIS1'])=1"> + <xsl:variable name="fc" + select="gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription[che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='INTERLIS1']"></xsl:variable> + <che:featureCat.INTERLIS1.title> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:title/gco:CharacterString| + $fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.INTERLIS1.title> + + <che:featureCat.INTERLIS1.otherCitationDetails> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gco:CharacterString| + $fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.INTERLIS1.otherCitationDetails> + + <che:featureCat.INTERLIS1.date> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation//gmd:CI_Date"> + <xsl:value-of select="gmd:date/gco:Date"/><xsl:text> </xsl:text><xsl:value-of + select="gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.INTERLIS1.date> + + <che:featureCat.INTERLIS1.url> + <xsl:for-each select="$fc/che:dataModel/che:PT_FreeURL/che:URLGroup/che:LocalisedURL"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.INTERLIS1.url> + </xsl:when> + <xsl:otherwise> + <featureCat.INTERLIS1.title/> + <featureCat.INTERLIS1.otherCitationDetails/> + <featureCat.INTERLIS1.date/> + <featureCat.INTERLIS1.url/> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when + test="count(gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription[che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='INTERLIS2'])=1"> + <xsl:variable name="fc" + select="gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription[che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='INTERLIS2']"></xsl:variable> + <che:featureCat.INTERLIS2.title> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:title/gco:CharacterString| + $fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.INTERLIS2.title> + + <che:featureCat.INTERLIS2.otherCitationDetails> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gco:CharacterString| + $fc/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.INTERLIS2.otherCitationDetails> + + <che:featureCat.INTERLIS2.date> + <xsl:for-each select="$fc/gmd:featureCatalogueCitation/gmd:CI_Citation//gmd:CI_Date"> + <xsl:value-of select="gmd:date/gco:Date"/><xsl:text> </xsl:text><xsl:value-of + select="gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.INTERLIS2.date> + + <che:featureCat.INTERLIS2.url> + <xsl:for-each select="$fc/che:dataModel/che:PT_FreeURL/che:URLGroup/che:LocalisedURL"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:featureCat.INTERLIS2.url> + </xsl:when> + <xsl:otherwise> + <featureCat.INTERLIS2.title/> + <featureCat.INTERLIS2.otherCitationDetails/> + <featureCat.INTERLIS2.date/> + <featureCat.INTERLIS2.url/> + </xsl:otherwise> + </xsl:choose> + + <!-- Portrayal catalogue info --> + <che:portrayalCat.title> + <xsl:for-each select="gmd:portrayalCatalogueInfo/che:CHE_MD_PortrayalCatalogueReference/gmd:portrayalCatalogueCitation/gmd:CI_Citation/gmd:title/gco:CharacterString| + gmd:portrayalCatalogueInfo/gmd:MD_PortrayalCatalogueReference/gmd:portrayalCatalogueCitation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:portrayalCat.title> + + <che:portrayalCat.date> + <xsl:for-each + select="gmd:portrayalCatalogueInfo/che:CHE_MD_PortrayalCatalogueReference/gmd:portrayalCatalogueCitation/gmd:CI_Citation//gmd:CI_Date"> + <xsl:value-of select="gmd:date/gco:Date"/><xsl:text> </xsl:text><xsl:value-of + select="gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:portrayalCat.date> + + <che:portrayalCat.otherCitationDetails> + <xsl:for-each select="gmd:portrayalCatalogueInfo/che:CHE_MD_PortrayalCatalogueReference/gmd:portrayalCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gco:CharacterString| + gmd:portrayalCatalogueInfo/gmd:MD_PortrayalCatalogueReference/gmd:portrayalCatalogueCitation/gmd:CI_Citation/gmd:otherCitationDetails/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:portrayalCat.otherCitationDetails> + + <che:portrayalCatalogueURL> + <xsl:for-each + select="gmd:portrayalCatalogueInfo/che:CHE_MD_PortrayalCatalogueReference/che:portrayalCatalogueURL/che:PT_FreeURL/che:URLGroup/che:LocalisedURL"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:portrayalCatalogueURL> + + <!-- Maintenance --> + <gmd:maintenanceAndUpdateFrequency> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/che:CHE_MD_MaintenanceInformation/gmd:maintenanceAndUpdateFrequency/gmd:MD_MaintenanceFrequencyCode/@codeListValue"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:maintenanceAndUpdateFrequency> + + <gmd:userDefinedMaintenanceFrequency> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/che:CHE_MD_MaintenanceInformation/gmd:userDefinedMaintenanceFrequency/gts:TM_PeriodDuration"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:userDefinedMaintenanceFrequency> + + <gmd:maintenanceNote> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/che:CHE_MD_MaintenanceInformation/gmd:maintenanceNote/gco:CharacterString| + gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/gmd:MD_MaintenanceInformation/gmd:maintenanceNote/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:maintenanceNote> + + + <!-- History info --> + <che:historyConcept.title> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:historyConcept/che:CHE_MD_HistoryConcept/ + che:historyConceptCitation/gmd:CI_Citation/gmd:title/gco:CharacterString| + gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:historyConcept/che:CHE_MD_HistoryConcept/ + che:historyConceptCitation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:historyConcept.title> + + <che:historyConcept.otherCitationDetails> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:historyConcept/che:CHE_MD_HistoryConcept/ + che:historyConceptCitation/gmd:CI_Citation/gmd:otherCitationDetails/gco:CharacterString| + gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:historyConcept/che:CHE_MD_HistoryConcept/ + che:historyConceptCitation/gmd:CI_Citation/gmd:otherCitationDetails/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:historyConcept.otherCitationDetails> + + <che:historyConcept.date> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:historyConcept/che:CHE_MD_HistoryConcept/ + che:historyConceptCitation/gmd:CI_Citation//gmd:CI_Date"> + <xsl:value-of select="gmd:date/gco:Date"/><xsl:text> </xsl:text><xsl:value-of + select="gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:historyConcept.date> + + <che:historyConcept.LocalisedURL> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:historyConcept/che:CHE_MD_HistoryConcept/che:historyConceptURL/che:LocalisedURL"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:historyConcept.LocalisedURL> + + <!-- Archive info --> + <che:archiveConcept.title> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:archiveConcept/che:CHE_MD_ArchiveConcept/ + che:archiveConceptCitation/gmd:CI_Citation/gmd:title/gco:CharacterString| + gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:archiveConcept/che:CHE_MD_ArchiveConcept/ + che:archiveConceptCitation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:archiveConcept.title> + + <che:archiveConcept.otherCitationDetails> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:archiveConcept/che:CHE_MD_ArchiveConcept/ + che:archiveConceptCitation/gmd:CI_Citation/gmd:otherCitationDetails/gco:CharacterString| + gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:archiveConcept/che:CHE_MD_ArchiveConcept/ + che:archiveConceptCitation/gmd:CI_Citation/gmd:otherCitationDetails/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:archiveConcept.otherCitationDetails> + + <che:archiveConcept.date> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:archiveConcept/che:CHE_MD_ArchiveConcept/ + che:archiveConceptCitation/gmd:CI_Citation//gmd:CI_Date"> + <xsl:value-of select="gmd:date/gco:Date"/><xsl:text> </xsl:text><xsl:value-of + select="gmd:dateType/gmd:CI_DateTypeCode/@codeListValue"/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:archiveConcept.date> + + <che:archiveConcept.LocalisedURL> + <xsl:for-each select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceMaintenance/ + che:CHE_MD_MaintenanceInformation/che:archiveConcept/che:CHE_MD_ArchiveConcept/che:archiveConceptURL/che:LocalisedURL"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </che:archiveConcept.LocalisedURL> + + + <!-- Metadata Maintenance --> + <gmd:metadata.maintenanceAndUpdateFrequency> + <xsl:for-each + select="gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:maintenanceAndUpdateFrequency/gmd:MD_MaintenanceFrequencyCode/@codeListValue"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:metadata.maintenanceAndUpdateFrequency> + + <gmd:metadata.userDefinedMaintenanceFrequency> + <xsl:for-each + select="gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:userDefinedMaintenanceFrequency/gts:TM_PeriodDuration"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:metadata.userDefinedMaintenanceFrequency> + + <gmd:metadata.maintenanceNote> + <xsl:for-each select="gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:maintenanceNote/gco:CharacterString| + gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:maintenanceNote/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:metadata.maintenanceNote> + + + <!-- Distribution info --> + <gmd:onlineSrc> + <xsl:for-each + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage/che:LocalisedURL"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </gmd:onlineSrc> + + + <!-- Service metadata --> + + <srv:service.title> + <xsl:for-each select="gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString| + gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </srv:service.title> + + <srv:service.abstract> + <xsl:for-each select="gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:abstract/gco:CharacterString| + gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:abstract/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </srv:service.abstract> + + <srv:service.organisationName> + <xsl:for-each select="gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:organisationName/gco:CharacterString| + gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:organisationName/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </srv:service.organisationName> + + <srv:service.individualLastName> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/che:individualLastName/gco:CharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </srv:service.individualLastName> + + <srv:service.individualFirstName> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/che:individualFirstName/gco:CharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </srv:service.individualFirstName> + + <srv:service.electronicMailAddress> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress/gco:CharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </srv:service.electronicMailAddress> + + <srv:serviceType> + <xsl:for-each select="gmd:identificationInfo/che:CHE_SV_ServiceIdentification/srv:serviceType/gco:LocalName"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </srv:serviceType> + + <srv:serviceTypeVersion> + <xsl:for-each + select="gmd:identificationInfo/che:CHE_SV_ServiceIdentification/srv:serviceTypeVersion/gco:CharacterString"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:value-of select="$internalSep"/> + </xsl:if> + </xsl:for-each> + </srv:serviceTypeVersion> + + </metadata> + </xsl:template> + + + <!-- GM03 unique value for units is Interlis.m. --> + <xsl:template mode="simpleElement" match="@uom" priority="2"> + <xsl:param name="schema"/> + <xsl:param name="edit" select="false()"/> + <xsl:param name="title"> + <xsl:call-template name="getTitle"> + <xsl:with-param name="name" select="name(.)"/> + <xsl:with-param name="schema" select="$schema"/> + </xsl:call-template> + </xsl:param> + <xsl:param name="text"> + <xsl:choose> + <xsl:when test="$edit=true()"> + m + <input class="md" type="hidden" id="_{../geonet:element/@ref}_uom" name="_{../geonet:element/@ref}_uom" + value="m" readonly="1"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:param> + <xsl:param name="helpLink"> + <xsl:call-template name="getHelpLink"> + <xsl:with-param name="name" select="name(.)"/> + <xsl:with-param name="schema" select="$schema"/> + </xsl:call-template> + </xsl:param> + + <xsl:choose> + <xsl:when test="$edit=true()"> + <xsl:call-template name="editAttribute"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="text" select="$text"/> + <xsl:with-param name="helpLink" select="$helpLink"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="showSimpleElement"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="text" select="$text"/> + <xsl:with-param name="helpLink" select="$helpLink"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <!-- ===================================================================== --> + <!-- === iso19139 brief formatting === --> + <!-- ===================================================================== --> + + <xsl:template name="iso19139.cheBrief"> + <metadata> + <xsl:choose> + <xsl:when test="geonet:info/isTemplate='s'"> + <xsl:apply-templates mode="iso19139-subtemplate" select="."/> + <xsl:copy-of select="geonet:info" copy-namespaces="no"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso19139.che-brief"/> + </xsl:otherwise> + </xsl:choose> + </metadata> + </xsl:template> + + + <xsl:template name="iso19139.che-brief"> + <xsl:variable name="download_check"> + <xsl:text>&amp;fname=&amp;access</xsl:text> + </xsl:variable> + <xsl:variable name="info" select="geonet:info"/> + <xsl:variable name="id" select="$info/id"/> + <xsl:variable name="uuid" select="$info/uuid"/> + + <xsl:if test="normalize-space(gmd:parentIdentifier/gco:CharacterString)!=''"> + <parentId> + <xsl:value-of select="gmd:parentIdentifier/*"/> + </parentId> + </xsl:if> + + <xsl:variable name="langId"> + <xsl:call-template name="getLangId"> + <xsl:with-param name="langGui" select="/root/gui/language"/> + <xsl:with-param name="md" select="."/> + </xsl:call-template> + </xsl:variable> + + <xsl:apply-templates mode="briefster" + select="gmd:identificationInfo/gmd:MD_DataIdentification|gmd:identificationInfo/*[@gco:isoType='gmd:MD_DataIdentification']|gmd:identificationInfo/srv:SV_ServiceIdentification|gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']"> + <xsl:with-param name="id" select="$id"/> + <xsl:with-param name="langId" select="$langId"/> + <xsl:with-param name="info" select="$info"/> + </xsl:apply-templates> + + <xsl:for-each + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource"> + <xsl:variable name="protocol" select="gmd:protocol[1]/gco:CharacterString"/> + <xsl:variable name="linkage" select="normalize-space(gmd:linkage/gmd:URL)"/> + <xsl:variable name="name"> + <xsl:for-each select="gmd:name"> + <xsl:call-template name="localised"> + <xsl:with-param name="langId" select="$langId"/> + </xsl:call-template> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="mimeType" select="normalize-space(gmd:name/gmx:MimeFileType/@type)"/> + + <xsl:variable name="desc"> + <xsl:for-each select="gmd:description"> + <xsl:call-template name="localised"> + <xsl:with-param name="langId" select="$langId"/> + </xsl:call-template> + </xsl:for-each> + </xsl:variable> + + <xsl:if test="string($linkage)!=''"> + <xsl:element name="link"> + <xsl:attribute name="title"> + <xsl:value-of select="$desc"/> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:value-of select="$linkage"/> + </xsl:attribute> + <xsl:attribute name="name"> + <xsl:value-of select="$name"/> + </xsl:attribute> + <xsl:attribute name="protocol"> + <xsl:value-of select="$protocol"/> + </xsl:attribute> + <xsl:attribute name="type" select="geonet:protocolMimeType($linkage, $protocol, $mimeType)"/> + </xsl:element> + </xsl:if> + + <!-- Generate a KML output link for a WMS service --> + <xsl:if + test="string($linkage)!='' and starts-with($protocol,'OGC:WMS-') and contains($protocol,'-get-map') and string($linkage)!='' and string($name)!=''"> + + <xsl:element name="link"> + <xsl:attribute name="title"> + <xsl:value-of select="$desc"/> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:value-of + select="concat(/root/gui/env/server/protocol,'://',/root/gui/env/server/host,':',/root/gui/env/server/port,/root/gui/locService,'/google.kml?uuid=',$uuid,'&amp;layers=',$name)"/> + </xsl:attribute> + <xsl:attribute name="name"> + <xsl:value-of select="$name"/> + </xsl:attribute> + <xsl:attribute name="type">application/vnd.google-earth.kml+xml</xsl:attribute> + </xsl:element> + </xsl:if> + </xsl:for-each> + + <xsl:for-each select="gmd:contact/*"> + <xsl:variable name="role" select="gmd:role/*/@codeListValue"/> + <xsl:if test="normalize-space($role)!=''"> + <responsibleParty role="{geonet:getCodeListValue(/root/gui/schemas, 'iso19139', 'gmd:CI_RoleCode', $role)}" + appliesTo="metadata"> + <xsl:apply-templates mode="responsiblepartysimple" select="."/> + </responsibleParty> + </xsl:if> + </xsl:for-each> + + <metadatacreationdate> + <xsl:value-of select="gmd:dateStamp/*"/> + </metadatacreationdate> + + <geonet:info> + <xsl:copy-of select="geonet:info/*[name(.)!='edit']"/> + <xsl:choose> + <xsl:when test="/root/gui/env/harvester/enableEditing='false' and geonet:info/isHarvested='y'"> + <edit>false</edit> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="geonet:info/edit"/> + </xsl:otherwise> + </xsl:choose> + <!-- + Internal category could be define using different informations + in a metadata record (according to standard). This could be improved. + This type of categories could be added to Lucene index also in order + to be queriable. + Services and datasets are at least the required internal categories + to be distinguished for INSPIRE requirements (hierarchyLevel could be + use also). TODO + --> + <category internal="true"> + <xsl:choose> + <xsl:when + test="gmd:identificationInfo/srv:SV_ServiceIdentification|gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']"> + service + </xsl:when> + <xsl:otherwise>dataset</xsl:otherwise> + </xsl:choose> + </category> + </geonet:info> + </xsl:template> + + <xsl:template mode="addXMLFragment" + match="gmd:referenceSystemInfo|geonet:child[@name='referenceSystemInfo' and @prefix='gmd']" + priority="100"/> + + + <xsl:template mode="iso19139" match="gmd:EX_BoundingPolygon" priority="40"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:apply-templates mode="iso19139" select="gmd:extentTypeCode"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + + <xsl:apply-templates mode="iso19139" select="gmd:polygon"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template mode="iso19139" match="gmd:polygon" + priority="40"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:variable name="targetId" select="geonet:element/@ref"/> + <xsl:variable name="geometry"> + <xsl:apply-templates mode="editXMLElement"/> + </xsl:variable> + + <xsl:apply-templates mode="complexElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="content"> + <xsl:if test="$edit='true'"> + <input type="hidden" id="_X{$targetId}" name="_X{$targetId}" value="{string($geometry)}"/> + </xsl:if> + <td class="padded" align="center" style="width:100%;"> + <xsl:variable name="geom" select="util:gmlToWKT($geometry)"/> + <xsl:call-template name="showMap"> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="coords" select="$geom"/> + <xsl:with-param name="targetPolygon" select="$targetId"/> + </xsl:call-template> + </td> + </xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + + <xsl:template mode="iso19139" match="gmd:EX_GeographicBoundingBox[../../gmd:geographicElement/gmd:EX_BoundingPolygon]" + priority="23"> + <!-- don't display bounding boxes when there is a bounding polygon. It's + managed behind the scene by the server automatically--> + </xsl:template> + + <xsl:template mode="iso19139" match="gmd:EX_GeographicBoundingBox" + priority="20"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:apply-templates mode="iso19139" select="gmd:extentTypeCode"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + + <xsl:variable name="geoBox"> + <xsl:apply-templates mode="iso19139GeoBox" + select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:apply-templates> + </xsl:variable> + + <xsl:apply-templates mode="complexElement" + select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="content"> + <tr> + <td> + <xsl:copy-of select="$geoBox"/> + </td> + </tr> + </xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + <!-- + ============================================================================= + --> + <xsl:template mode="iso19139" priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='environment' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'environment')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'environment')])] "/> + <xsl:template mode="iso19139" priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='geoscientificInformation' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'geoscientificInformation')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'geoscientificInformation')])] "/> + <xsl:template mode="iso19139" priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='planningCadastre' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'planningCadastre')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'planningCadastre')])] "/> + <xsl:template mode="iso19139" priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='imageryBaseMapsEarthCover' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'imageryBaseMapsEarthCover')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'imageryBaseMapsEarthCover')])] "/> + <xsl:template mode="iso19139" priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='utilitiesCommunication' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'utilitiesCommunication')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'utilitiesCommunication')])] "/> + + + <xsl:template mode="iso19139" match="gmd:MD_TopicCategoryCode" priority="10"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:choose> + <xsl:when test="$edit"> + <xsl:variable name="name" select="name(.)"/> + <xsl:variable name="value" select="string(.)"/> + + <xsl:variable name="list"> + <items> + <xsl:for-each select="geonet:element/geonet:text"> + <xsl:variable name="choiceValue" select="string(@value)"/> + <xsl:variable name="label" + select="/root/gui/schemas/*[name(.)=$schema]/codelists/codelist[@name = $name]/entry[code = $choiceValue]/label"/> + <item> + <value> + <xsl:if test="contains(@value,'_')"> + <xsl:attribute name="parent"> + <xsl:value-of select="substring-before(@value, '_')"/> + </xsl:attribute> + </xsl:if> + <xsl:value-of select="@value"/> + </value> + <label> + <xsl:choose> + <xsl:when test="$label"> + <xsl:value-of select="$label"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$choiceValue"/> + </xsl:otherwise> + </xsl:choose> + </label> + </item> + </xsl:for-each> + </items> + </xsl:variable> + <xsl:variable name="selector"> + <select id="topic{geonet:element/@ref}" class="md topicCategory" name="_{geonet:element/@ref}" size="1" + onchange="validateTopicCategory('topic{geonet:element/@ref}')"> + <option name=""/> + + <xsl:for-each select="exslt:node-set($list)//item"> + <xsl:sort select="label"/> + <xsl:variable name="curValue" select="value"/> + <xsl:choose> + <xsl:when test="count(exslt:node-set($list)//item/value[@parent=$curValue]) > 0"> + <optgroup> + <xsl:attribute name="label"> + <xsl:value-of select="label"/> + </xsl:attribute> + <xsl:if test="value=$value"> + <option value="{value}" disabled="true"> + <xsl:if test="value=$value"> + <xsl:attribute name="selected"/> + </xsl:if> + <xsl:value-of select="label"/> + </option> + </xsl:if> + <xsl:for-each select="exslt:node-set($list)//item[value/@parent=$curValue]"> + <option value="{value}"> + <xsl:if test="value=$value"> + <xsl:attribute name="selected"/> + </xsl:if> + <xsl:value-of select="label"/> + </option> + </xsl:for-each> + </optgroup> + </xsl:when> + <xsl:otherwise> + <xsl:if test="not(value/@parent)"> + <option value="{value}"> + <xsl:if test="value=$value"> + <xsl:attribute name="selected"/> + </xsl:if> + <xsl:value-of select="label"/> + </option> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + + </xsl:for-each> + + </select> + </xsl:variable> + + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="text" select="$selector"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="simpleElement" select="."> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="false()"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <!-- + ============================================================================= + --> + + <xsl:template mode="iso19139GeoBox" match="*"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + + <xsl:variable name="eltRef"> + <xsl:choose> + <xsl:when test="$edit=true()"> + <xsl:value-of select="geonet:element/@ref"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="generate-id(.)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="wID"> + <xsl:choose> + <xsl:when test=".//gmd:westBoundLongitude/gco:Decimal/geonet:element/@ref"> + <xsl:value-of select=".//gmd:westBoundLongitude/gco:Decimal/geonet:element/@ref"/> + </xsl:when> + <xsl:otherwise>w<xsl:value-of select="$eltRef"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="eID"> + <xsl:choose> + <xsl:when test="./gmd:eastBoundLongitude/gco:Decimal/geonet:element/@ref"> + <xsl:value-of select="./gmd:eastBoundLongitude/gco:Decimal/geonet:element/@ref"/> + </xsl:when> + <xsl:otherwise>e<xsl:value-of select="$eltRef"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="nID"> + <xsl:choose> + <xsl:when test="./gmd:northBoundLatitude/gco:Decimal/geonet:element/@ref"> + <xsl:value-of select="./gmd:northBoundLatitude/gco:Decimal/geonet:element/@ref"/> + </xsl:when> + <xsl:otherwise>n<xsl:value-of select="$eltRef"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="sID"> + <xsl:choose> + <xsl:when test="./gmd:southBoundLatitude/gco:Decimal/geonet:element/@ref"> + <xsl:value-of select="./gmd:southBoundLatitude/gco:Decimal/geonet:element/@ref"/> + </xsl:when> + <xsl:otherwise>s<xsl:value-of select="$eltRef"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:if test="util:allowScripting() = 'true'"> + <input id="ch03_{$eltRef}" type="radio" name="proj_{$eltRef}" value="ch03" checked="checked"/> + <label for="ch03_{$eltRef}">CH03</label> + <input id="wgs84_{$eltRef}" type="radio" name="proj_{$eltRef}" value="wgs84"/> + <label for="wgs84_{$eltRef}">WGS84</label> + </xsl:if> + <table style="width:100%"> + <tr> + <td/> + <div id="native_{$eltRef}" style="display:none"> + <xsl:value-of select="comment()"/> + </div> + <td class="padded" align="center"> + <xsl:apply-templates mode="iso19139VertElement" + select="gmd:northBoundLatitude/gco:Decimal"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="name" select="'gmd:northBoundLatitude'"/> + <xsl:with-param name="eltRef" select="$nID"/> + </xsl:apply-templates> + </td> + <td/> + </tr> + <tr> + <td class="padded" align="center"> + <xsl:apply-templates mode="iso19139VertElement" + select="gmd:westBoundLongitude/gco:Decimal"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="name" select="'gmd:westBoundLongitude'"/> + <xsl:with-param name="eltRef" select="$wID"/> + </xsl:apply-templates> + </td> + + + <td class="padded" style="width:100%"> + <xsl:variable name="w" select="./gmd:westBoundLongitude/gco:Decimal"/> + <xsl:variable name="e" select="./gmd:eastBoundLongitude/gco:Decimal"/> + <xsl:variable name="n" select="./gmd:northBoundLatitude/gco:Decimal"/> + <xsl:variable name="s" select="./gmd:southBoundLatitude/gco:Decimal"/> + + <xsl:variable name="geom"> + <xsl:value-of + select="concat('Polygon((', $w, ' ', $s,',',$e,' ',$s,',',$e,' ',$n,',',$w,' ',$n,',',$w,' ',$s, '))')"/> + </xsl:variable> + <xsl:call-template name="showMap"> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="coords" select="$geom"/> + <xsl:with-param name="watchedBbox" select="concat($wID, ',', $sID, ',', $eID, ',', $nID)"/> + <xsl:with-param name="eltRef" select="$eltRef"/> + </xsl:call-template> + </td> + + <td class="padded" align="center"> + <xsl:apply-templates mode="iso19139VertElement" + select="gmd:eastBoundLongitude/gco:Decimal"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="name" select="'gmd:eastBoundLongitude'"/> + <xsl:with-param name="eltRef" select="$eID"/> + </xsl:apply-templates> + </td> + </tr> + <tr> + <td/> + <td class="padded" align="center"> + <xsl:apply-templates mode="iso19139VertElement" + select="gmd:southBoundLatitude/gco:Decimal"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="name" select="'gmd:southBoundLatitude'"/> + <xsl:with-param name="eltRef" select="$sID"/> + </xsl:apply-templates> + </td> + <td/> + </tr> + </table> + </xsl:template> + + + <xsl:template mode="iso19139VertElement" match="*"> + <xsl:param name="schema"/> + <xsl:param name="edit"/> + <xsl:param name="name"/> + <xsl:param name="eltRef"/> + + <xsl:variable name="title"> + <xsl:call-template name="getTitle"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="helpLink"> + <xsl:call-template name="getHelpLink"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + </xsl:variable> + <b> + <xsl:choose> + <xsl:when test="$helpLink!=''"> + <span id="tip.{$helpLink}" style="cursor:help;"> + <xsl:value-of select="$title"/> + <xsl:call-template name="asterisk"> + <xsl:with-param name="link" select="$helpLink"/> + <xsl:with-param name="edit" select="$edit"/> + </xsl:call-template> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$title"/> + </xsl:otherwise> + </xsl:choose> + </b> + <br/> + <xsl:choose> + <xsl:when test="$edit=true()"> + <xsl:call-template name="getElementText"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="$edit"/> + <xsl:with-param name="cols" select="10"/> + <xsl:with-param name="visible" select="'true'"/> + <xsl:with-param name="validator" select="'validateNumber(this, false)'"/> + <xsl:with-param name="no_name" select="true()"/> + </xsl:call-template> + <xsl:call-template name="getElementText"> + <xsl:with-param name="schema" select="$schema"/> + <xsl:with-param name="edit" select="true()"/> + <xsl:with-param name="visible" select="'true'"/> + <xsl:with-param name="cols" select="10"/> + <xsl:with-param name="input_type" select="'hidden'"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="util:allowScripting() = false()"> + <div class="md"><xsl:value-of select="substring-before(text(), '.')"/>.<xsl:value-of + select="substring(substring-after(text(), '.'),0,4)"/> + </div> + </xsl:when> + <xsl:otherwise> + <input class="md" type="text" id="{$eltRef}" + value="{substring-before(text(), '.')}.{substring(substring-after(text(), '.'),0,4)}" + readonly="readonly"/> + <input class="md" type="hidden" id="_{$eltRef}" name="_{$eltRef}" + value="{substring-before(text(), '.')}.{substring(substring-after(text(), '.'),0,4)}" + readonly="readonly"/> + </xsl:otherwise> + </xsl:choose> + + </xsl:template> + + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/present/xml-to-string.xsl b/iso19139.che/src/main/plugin/iso19139.che/present/xml-to-string.xsl new file mode 100644 index 00000000000..b396ca7eb08 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/present/xml-to-string.xsl @@ -0,0 +1,294 @@ +<!-- +Copyright (c) 2001-2004, Evan Lenz +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the name of XMLPortfolio.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + version="1.0" +> + <xsl:output omit-xml-declaration="yes"/> + + <xsl:param name="use-empty-syntax" select="true()"/> + <xsl:param name="exclude-unused-prefixes" select="true()"/> + + <xsl:param name="start-tag-start" select="'&lt;'"/> + <xsl:param name="start-tag-end" select="'>'"/> + <xsl:param name="empty-tag-end" select="'/>'"/> + <xsl:param name="end-tag-start" select="'&lt;/'"/> + <xsl:param name="end-tag-end" select="'>'"/> + <xsl:param name="space" select="' '"/> + <xsl:param name="ns-decl" select="'xmlns'"/> + <xsl:param name="colon" select="':'"/> + <xsl:param name="equals" select="'='"/> + <xsl:param name="attribute-delimiter" select="'&quot;'"/> + <xsl:param name="comment-start" select="'&lt;!--'"/> + <xsl:param name="comment-end" select="'-->'"/> + <xsl:param name="pi-start" select="'&lt;?'"/> + <xsl:param name="pi-end" select="'?>'"/> + + <xsl:template name="xml-to-string"> + <xsl:param name="node-set" select="."/> + <xsl:apply-templates select="$node-set" mode="xml-to-string"> + <xsl:with-param name="depth" select="1"/> + </xsl:apply-templates> + </xsl:template> + <!----> + <!-- <xsl:template match="/" name="xml-to-string-root-rule">--> + <!-- <xsl:call-template name="xml-to-string"/>--> + <!-- </xsl:template>--> + <!----> + <!-- <xsl:template match="/" mode="xml-to-string">--> + <!-- <xsl:param name="depth"/>--> + <!-- <xsl:apply-templates mode="xml-to-string">--> + <!-- <xsl:with-param name="depth" select="$depth"/>--> + <!-- </xsl:apply-templates>--> + <!-- </xsl:template>--> + + <!-- Do not show geonet elements --> + <xsl:template match="geonet:*" priority="100" mode="xml-to-string"/> + + <xsl:template match="*" mode="xml-to-string"> + <xsl:param name="depth"/> + <xsl:variable name="element" select="."/> + <xsl:value-of select="$start-tag-start"/> + <xsl:call-template name="element-name"> + <xsl:with-param name="text" select="name()"/> + </xsl:call-template> + <xsl:apply-templates select="@*" mode="xml-to-string"/> + <xsl:for-each select="namespace::*"> + <xsl:call-template name="process-namespace-node"> + <xsl:with-param name="element" select="$element"/> + <xsl:with-param name="depth" select="$depth"/> + </xsl:call-template> + </xsl:for-each> + <xsl:choose> + <xsl:when test="node() or not($use-empty-syntax)"> + <xsl:value-of select="$start-tag-end"/> + <xsl:apply-templates mode="xml-to-string"> + <xsl:with-param name="depth" select="$depth + 1"/> + </xsl:apply-templates> + <xsl:value-of select="$end-tag-start"/> + <xsl:call-template name="element-name"> + <xsl:with-param name="text" select="name()"/> + </xsl:call-template> + <xsl:value-of select="$end-tag-end"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$empty-tag-end"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="process-namespace-node"> + <xsl:param name="element"/> + <xsl:param name="depth"/> + <xsl:variable name="declaredAbove"> + <xsl:call-template name="isDeclaredAbove"> + <xsl:with-param name="depth" select="$depth - 1"/> + <xsl:with-param name="element" select="$element/.."/> + </xsl:call-template> + </xsl:variable> + <xsl:if + test="(not($exclude-unused-prefixes) or ($element | $element//@* | $element//*)[namespace-uri()=current()]) and not(string($declaredAbove)) and name()!='xml'"> + <xsl:value-of select="$space"/> + <xsl:value-of select="$ns-decl"/> + <xsl:if test="name()"> + <xsl:value-of select="$colon"/> + <xsl:call-template name="ns-prefix"> + <xsl:with-param name="text" select="name()"/> + </xsl:call-template> + </xsl:if> + <xsl:value-of select="$equals"/> + <xsl:value-of select="$attribute-delimiter"/> + <xsl:call-template name="ns-uri"> + <xsl:with-param name="text" select="string(.)"/> + </xsl:call-template> + <xsl:value-of select="$attribute-delimiter"/> + </xsl:if> + </xsl:template> + + <xsl:template name="isDeclaredAbove"> + <xsl:param name="element"/> + <xsl:param name="depth"/> + <xsl:if test="$depth > 0"> + <xsl:choose> + <xsl:when test="$element/namespace::*[name(.)=name(current()) and .=current()]">1</xsl:when> + <xsl:when test="$element/namespace::*[name(.)=name(current())]"/> + <xsl:otherwise> + <xsl:call-template name="isDeclaredAbove"> + <xsl:with-param name="depth" select="$depth - 1"/> + <xsl:with-param name="element" select="$element/.."/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:template> + + <xsl:template match="@*" mode="xml-to-string"> + <xsl:value-of select="$space"/> + <xsl:call-template name="attribute-name"> + <xsl:with-param name="text" select="name()"/> + </xsl:call-template> + <xsl:value-of select="$equals"/> + <xsl:value-of select="$attribute-delimiter"/> + <xsl:call-template name="attribute-value"> + <xsl:with-param name="text" select="string(.)"/> + </xsl:call-template> + <xsl:value-of select="$attribute-delimiter"/> + </xsl:template> + + <xsl:template match="comment()" mode="xml-to-string"> + <xsl:value-of select="$comment-start"/> + <xsl:call-template name="comment-text"> + <xsl:with-param name="text" select="string(.)"/> + </xsl:call-template> + <xsl:value-of select="$comment-end"/> + </xsl:template> + + <xsl:template match="processing-instruction()" mode="xml-to-string"> + <xsl:value-of select="$pi-start"/> + <xsl:call-template name="pi-target"> + <xsl:with-param name="text" select="name()"/> + </xsl:call-template> + <xsl:value-of select="$space"/> + <xsl:call-template name="pi-text"> + <xsl:with-param name="text" select="string(.)"/> + </xsl:call-template> + <xsl:value-of select="$pi-end"/> + </xsl:template> + + <xsl:template match="text()" mode="xml-to-string"> + <xsl:call-template name="text-content"> + <xsl:with-param name="text" select="string(.)"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="element-name"> + <xsl:param name="text"/> + <xsl:value-of select="$text"/> + </xsl:template> + + <xsl:template name="attribute-name"> + <xsl:param name="text"/> + <xsl:value-of select="$text"/> + </xsl:template> + + <xsl:template name="attribute-value"> + <xsl:param name="text"/> + <xsl:variable name="escaped-markup"> + <xsl:call-template name="escape-markup-characters"> + <xsl:with-param name="text" select="$text"/> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="$attribute-delimiter = &quot;'&quot;"> + <xsl:call-template name="replace-string"> + <xsl:with-param name="text" select="$escaped-markup"/> + <xsl:with-param name="replace" select="&quot;'&quot;"/> + <xsl:with-param name="with" select="'&amp;apos;'"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$attribute-delimiter = '&quot;'"> + <xsl:call-template name="replace-string"> + <xsl:with-param name="text" select="$escaped-markup"/> + <xsl:with-param name="replace" select="'&quot;'"/> + <xsl:with-param name="with" select="'&amp;quot;'"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="replace-string"> + <xsl:with-param name="text" select="$escaped-markup"/> + <xsl:with-param name="replace" select="$attribute-delimiter"/> + <xsl:with-param name="with" select="''"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="ns-prefix"> + <xsl:param name="text"/> + <xsl:value-of select="$text"/> + </xsl:template> + + <xsl:template name="ns-uri"> + <xsl:param name="text"/> + <xsl:call-template name="attribute-value"> + <xsl:with-param name="text" select="$text"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="text-content"> + <xsl:param name="text"/> + <xsl:call-template name="escape-markup-characters"> + <xsl:with-param name="text" select="$text"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="pi-target"> + <xsl:param name="text"/> + <xsl:value-of select="$text"/> + </xsl:template> + + <xsl:template name="pi-text"> + <xsl:param name="text"/> + <xsl:value-of select="$text"/> + </xsl:template> + + <xsl:template name="comment-text"> + <xsl:param name="text"/> + <xsl:value-of select="$text"/> + </xsl:template> + + <xsl:template name="escape-markup-characters"> + <xsl:param name="text"/> + <xsl:variable name="ampEscaped"> + <xsl:call-template name="replace-string"> + <xsl:with-param name="text" select="$text"/> + <xsl:with-param name="replace" select="'&amp;'"/> + <xsl:with-param name="with" select="'&amp;amp;'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="ltEscaped"> + <xsl:call-template name="replace-string"> + <xsl:with-param name="text" select="$ampEscaped"/> + <xsl:with-param name="replace" select="'&lt;'"/> + <xsl:with-param name="with" select="'&amp;lt;'"/> + </xsl:call-template> + </xsl:variable> + <xsl:call-template name="replace-string"> + <xsl:with-param name="text" select="$ltEscaped"/> + <xsl:with-param name="replace" select="']]>'"/> + <xsl:with-param name="with" select="']]&amp;gt;'"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="replace-string"> + <xsl:param name="text"/> + <xsl:param name="replace"/> + <xsl:param name="with"/> + <xsl:variable name="stringText" select="string($text)"/> + <xsl:choose> + <xsl:when test="contains($stringText,$replace)"> + <xsl:value-of select="substring-before($stringText,$replace)"/> + <xsl:value-of select="$with"/> + <xsl:call-template name="replace-string"> + <xsl:with-param name="text" select="substring-after($stringText,$replace)"/> + <xsl:with-param name="replace" select="$replace"/> + <xsl:with-param name="with" select="$with"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$stringText"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/add-extent-from-geokeywords.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/add-extent-from-geokeywords.xsl new file mode 100644 index 00000000000..dcb83d6f5d8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/add-extent-from-geokeywords.xsl @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exslt="http://exslt.org/common" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmd="http://www.isotc211.org/2005/gmd" version="2.0" exclude-result-prefixes="exslt"> + + <xsl:import href="process-utility.xsl"/> + + <!-- i18n information --> + <xsl:variable name="add-extent-loc"> + <msg id="a" xml:lang="en">Keyword field contains place keywords (ie.</msg> + <msg id="b" xml:lang="en">). Try to compute metadata extent using thesaurus.</msg> + <msg id="a" xml:lang="fr">Certains mots clés sont de type géographique (ie.</msg> + <msg id="b" xml:lang="fr">). Exécuter cette action pour essayer de calculer l'emprise à partir des thésaurus.</msg> + </xsl:variable> + + <!-- GeoNetwork base url --> + <xsl:param name="gurl" select="'http://localhost:8080/geonetwork'"/> + + <!-- The UI language. Thesaurus search is made according to GUI language --> + <xsl:param name="lang" select="'en'"/> + + <!-- Replace or not existing extent --> + <xsl:param name="replace" select="'0'"/> + + + <xsl:variable name="replaceMode" + select="geonet:parseBoolean($replace)"/> + <xsl:variable name="serviceUrl" + select="concat($gurl, '/srv/', $lang, '/xml.search.keywords?pNewSearch=true&amp;pTypeSearch=2&amp;pKeyword=')"/> + + + <xsl:template name="list-add-extent-from-geokeywords"> + <suggestion process="add-extent-from-geokeywords"/> + </xsl:template> + + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-add-extent-from-geokeywords"> + <xsl:param name="root"/> + + <xsl:variable name="extentDescription" + select="string-join($root//gmd:EX_Extent/gmd:description/gco:CharacterString, ' ')"/> + + <xsl:variable name="geoKeywords" + select="$root//gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword[ + not(gco:CharacterString/@gco:nilReason) + and not(contains($extentDescription, gco:CharacterString)) + and ../gmd:type/gmd:MD_KeywordTypeCode/@codeListValue='place']"/> + <xsl:if test="$geoKeywords"> + <suggestion process="add-extent-from-geokeywords" id="{generate-id()}" category="keyword" target="extent"> + <name> + <xsl:value-of select="geonet:i18n($add-extent-loc, 'a', $guiLang)"/><xsl:value-of + select="string-join($geoKeywords, ', ')"/> + <xsl:value-of select="geonet:i18n($add-extent-loc, 'b', $guiLang)"/> + </name> + <operational>true</operational> + <params>{gurl:{type:'string', defaultValue:'<xsl:value-of select="$gurl"/>'}, + lang:{type:'string', defaultValue:'<xsl:value-of select="$lang"/>'}, + replace:{type:'boolean', defaultValue:'<xsl:value-of select="$replace"/>'}} + </params> + </suggestion> + </xsl:if> + + </xsl:template> + + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <xsl:template + match="gmd:identificationInfo/gmd:MD_DataIdentification| + gmd:identificationInfo/*[@gco:isoType='gmd:MD_DataIdentification']| + gmd:identificationInfo/srv:SV_ServiceIdentification| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']" + priority="2"> + + <xsl:variable name="srv" + select="local-name(.)='SV_ServiceIdentification' + or @gco:isoType='srv:SV_ServiceIdentification'"/> + + <xsl:copy> + <xsl:copy-of select="@*"/> + <!-- Copy all elements from AbstractMD_IdentificationType--> + <xsl:copy-of + select="gmd:citation| + gmd:abstract| + gmd:purpose| + gmd:credit| + gmd:status| + gmd:pointOfContact| + gmd:resourceMaintenance| + gmd:graphicOverview| + gmd:resourceFormat| + gmd:descriptiveKeywords| + gmd:resourceSpecificUsage| + gmd:resourceConstraints| + gmd:aggregationInfo + "/> + + <!-- Data --> + <xsl:copy-of + select="gmd:spatialRepresentationType| + gmd:spatialResolution| + gmd:language| + gmd:characterSet| + gmd:topicCategory| + gmd:environmentDescription + "/> + + <!-- Service --> + <xsl:copy-of + select="srv:serviceType| + srv:serviceTypeVersion| + srv:accessProperties| + srv:restrictions| + srv:keywords + "/> + + <!-- Keep existing extent and compute + from keywords --> + + <!-- replace or add extent. Default mode is add. + All extent element are processed and if a geographicElement is found, + it will be removed. Description, verticalElement and temporalElement + are preserved. + + GeographicElement element having BoundingPolygon are preserved. + --> + <xsl:choose> + <xsl:when test="$replaceMode"> + <xsl:for-each select="srv:extent|gmd:extent"> + <xsl:if + test="gmd:EX_Extent/gmd:temporalElement or gmd:EX_Extent/gmd:verticalElement + or gmd:EX_Extent/gmd:geographicElement[gmd:EX_BoundingPolygon]"> + <xsl:copy> + <xsl:copy-of select="gmd:EX_Extent"/> + </xsl:copy> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="srv:extent|gmd:extent"/> + </xsl:otherwise> + </xsl:choose> + + <!-- New extent position is after existing ones. --> + <xsl:call-template name="add-extent"> + <xsl:with-param name="srv" select="$srv"/> + </xsl:call-template> + + <!-- End of data --> + <xsl:copy-of select="gmd:supplementalInformation"/> + + <!-- End of service --> + <xsl:copy-of + select="srv:coupledResource| + srv:couplingType| + srv:containsOperations| + srv:operatesOn + "/> + + <!-- Note: When applying this stylesheet + to an ISO profil having a new substitute for + MD_Identification, profil specific element copy. + --> + <xsl:for-each + select="*[namespace-uri()!='http://www.isotc211.org/2005/gmd' and namespace-uri()!='http://www.isotc211.org/2005/srv']"> + <xsl:copy-of select="."/> + </xsl:for-each> + </xsl:copy> + </xsl:template> + + + <!-- Loop on all non empty keywords --> + <xsl:template name="add-extent"> + <xsl:param name="srv" select="false()"/> + <xsl:for-each + select="gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword[not(gco:CharacterString/@gco:nilReason)]"> + + <xsl:call-template name="get-bbox"> + <xsl:with-param name="word" select="gco:CharacterString"/> + <xsl:with-param name="srv" select="$srv"/> + </xsl:call-template> + + </xsl:for-each> + </xsl:template> + + + <!-- Search into current thesaurus and look for a bounding box --> + <xsl:template name="get-bbox"> + <xsl:param name="word"/> + <xsl:param name="srv" select="false()"/> + + <!-- Get keyword information --> + <xsl:variable name="keyword" select="document(concat($serviceUrl, gco:CharacterString))"/> + <xsl:variable name="knode" select="exslt:node-set($keyword)"/> + + <!-- It should be one but if one keyword is found in more + thant one thesaurus, then each will be processed.--> + <xsl:for-each select="$knode/response/descKeys/keyword"> + <xsl:if test="geo"> + <xsl:choose> + <xsl:when test="$srv"> + <srv:extent> + <xsl:copy-of select="geonet:make-iso-extent(geo/west, geo/south, geo/east, geo/north, $word)"/> + </srv:extent> + </xsl:when> + <xsl:otherwise> + <gmd:extent> + <xsl:copy-of select="geonet:make-iso-extent(geo/west, geo/south, geo/east, geo/north, $word)"/> + </gmd:extent> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:for-each> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/add-info-from-wms.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/add-info-from-wms.xsl new file mode 100644 index 00000000000..912daf376ae --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/add-info-from-wms.xsl @@ -0,0 +1,365 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exslt="http://exslt.org/common" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:math="http://exslt.org/math" version="2.0" + exclude-result-prefixes="srv gco gmd exslt geonet math"> + + <xsl:import href="process-utility.xsl"/> + + <!-- i18n information --> + <xsl:variable name="wms-info-loc"> + <msg id="a" xml:lang="en">WMS service</msg> + <msg id="b" xml:lang="en">is described in online resource section. Run to update extent, CRS or graphic overview + for this WMS service for the layer named: + </msg> + <msg id="a" xml:lang="fr">Le service de visualisation</msg> + <msg id="b" xml:lang="fr">est décrit dans la section resource en ligne. Exécuter cette action pour mettre à jour + l'étendue, les systèmes de projection + ou les aperçus pour ce service et la couche nommée : + </msg> + </xsl:variable> + + <!-- Process parameters and variables--> + <xsl:param name="mode" select="'process'"/> + <xsl:param name="setExtent" select="'0'"/> + <xsl:param name="setAndReplaceExtent" select="'0'"/> + <xsl:param name="setCRS" select="'0'"/> + <xsl:param name="setDynamicGraphicOverview" select="'0'"/> + <xsl:param name="wmsServiceUrl"/> + + <xsl:variable name="setExtentMode" select="geonet:parseBoolean($setExtent)"/> + <xsl:variable name="setAndReplaceExtentMode" select="geonet:parseBoolean($setAndReplaceExtent)"/> + <xsl:variable name="setCRSMode" select="geonet:parseBoolean($setCRS)"/> + <xsl:variable name="setDynamicGraphicOverviewMode" + select="geonet:parseBoolean($setDynamicGraphicOverview)"/> + + + <!-- Load the capabilities document if one oneline resource contains a protocol set to WMS + --> + <xsl:variable name="onlineNodes" + select="//gmd:CI_OnlineResource[contains(gmd:protocol/gco:CharacterString, 'OGC:WMS') and normalize-space(gmd:linkage/gmd:URL)=$wmsServiceUrl]"/> + <xsl:variable name="layerName" select="$onlineNodes/gmd:name/gco:CharacterString"/> + <xsl:variable name="capabilitiesDoc"> + <xsl:if test="$onlineNodes"> + <xsl:copy-of select="geonet:get-wms-capabilities($wmsServiceUrl, '1.1.1')"/> + </xsl:if> + </xsl:variable> + + + <xsl:template name="list-add-info-from-wms"> + <suggestion process="add-info-from-wms"/> + </xsl:template> + + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-add-info-from-wms"> + <xsl:param name="root"/> + + <xsl:variable name="onlineResources" + select="$root//gmd:onLine/gmd:CI_OnlineResource[contains(gmd:protocol/gco:CharacterString, 'OGC:WMS') + and normalize-space(gmd:linkage/gmd:URL)!='']"/> + <xsl:variable name="srv" + select="$root//*[local-name(.)='SV_ServiceIdentification' or @gco:isoType='srv:SV_ServiceIdentification']"/> + + <!-- Check if server is up and new value are available + <xsl:variable name="capabilities" + select="geonet:get-wms-capabilities(gmd:linkage/gmd:URL, '1.1.1')"/> +--> + <xsl:for-each select="$onlineResources"> + <suggestion process="add-info-from-wms" id="{generate-id()}" category="onlineSrc" target="gmd:extent"> + <name> + <xsl:value-of select="geonet:i18n($wms-info-loc, 'a', $guiLang)"/><xsl:value-of select="./gmd:linkage/gmd:URL" + /><xsl:value-of select="geonet:i18n($wms-info-loc, 'b', $guiLang)"/><xsl:value-of + select="./gmd:name/gco:CharacterString"/>. + </name> + <operational>true</operational> + <params>{ setExtent:{type:'boolean', defaultValue:'<xsl:value-of select="$setExtent"/>'}, + setAndReplaceExtent:{type:'boolean', defaultValue:'<xsl:value-of + select="$setAndReplaceExtent"/>'}, setCRS:{type:'boolean', defaultValue:'<xsl:value-of + select="$setCRS"/>'}, + <xsl:if test="not($srv)"> + setDynamicGraphicOverview:{type:'boolean', + defaultValue:'<xsl:value-of select="$setDynamicGraphicOverview"/>'}, + </xsl:if> + wmsServiceUrl:{type:'string', defaultValue:'<xsl:value-of select="normalize-space(gmd:linkage/gmd:URL)"/>'} + } + </params> + </suggestion> + </xsl:for-each> + + </xsl:template> + + + <!-- Processing templates --> + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + + <!-- Here set extent and graphicOverview --> + <xsl:template + match="gmd:identificationInfo/gmd:MD_DataIdentification| + gmd:identificationInfo/*[@gco:isoType='gmd:MD_DataIdentification']| + gmd:identificationInfo/srv:SV_ServiceIdentification| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']" + priority="2"> + + <xsl:variable name="srv" + select="local-name(.)='SV_ServiceIdentification' + or @gco:isoType='srv:SV_ServiceIdentification'"/> + + + <xsl:copy> + <xsl:copy-of select="@*"/> + <!-- Copy all elements from AbstractMD_IdentificationType--> + <xsl:copy-of + select="gmd:citation| + gmd:abstract| + gmd:purpose| + gmd:credit| + gmd:status| + gmd:pointOfContact| + gmd:resourceMaintenance| + gmd:graphicOverview + "/> + + <!-- graphic overview--> + <xsl:if test="$setDynamicGraphicOverviewMode and $wmsServiceUrl!='' and $layerName!=''"> + <xsl:variable name="wmsBbox" select="$capabilitiesDoc//Layer[Name=$layerName]/LatLonBoundingBox"/> + <xsl:if test="$wmsBbox/@minx!=''"> + <gmd:graphicOverview> + <gmd:MD_BrowseGraphic> + <gmd:fileName> + <gco:CharacterString> + + <xsl:value-of + select="geonet:get-wms-thumbnail-url($wmsServiceUrl, '1.1.1', $layerName, + concat($wmsBbox/@minx, ',', $wmsBbox/@miny, ',', $wmsBbox/@maxx, ',', $wmsBbox/@maxy))" + /> + </gco:CharacterString> + </gmd:fileName> + <gmd:fileDescription> + <gco:CharacterString> + <xsl:value-of select="$layerName"/> + </gco:CharacterString> + </gmd:fileDescription> + </gmd:MD_BrowseGraphic> + </gmd:graphicOverview> + </xsl:if> + </xsl:if> + + <xsl:copy-of + select="gmd:resourceFormat| + gmd:descriptiveKeywords| + gmd:resourceSpecificUsage| + gmd:resourceConstraints| + gmd:aggregationInfo + "/> + + <!-- Data --> + <xsl:copy-of + select="gmd:spatialRepresentationType| + gmd:spatialResolution| + gmd:language| + gmd:characterSet| + gmd:topicCategory| + gmd:environmentDescription + "/> + + <!-- Service --> + <xsl:copy-of + select="srv:serviceType| + srv:serviceTypeVersion| + srv:accessProperties| + srv:restrictions| + srv:keywords + "/> + + <!-- Keep existing extent and compute + from WMS service --> + + <!-- replace or add extent. Default mode is add. + All extent element are processed and if a geographicElement is found, + it will be removed. Description, verticalElement and temporalElement + are preserved. + + GeographicElement element having BoundingPolygon are preserved. + --> + <xsl:choose> + <xsl:when test="$setExtentMode"> + <xsl:for-each select="srv:extent|gmd:extent"> + + <xsl:choose> + <xsl:when + test="gmd:EX_Extent/gmd:temporalElement or gmd:EX_Extent/gmd:verticalElement + or gmd:EX_Extent/gmd:geographicElement[gmd:EX_BoundingPolygon]"> + <xsl:copy> + <xsl:copy-of select="gmd:EX_Extent"/> + </xsl:copy> + </xsl:when> + <xsl:when test="$setAndReplaceExtentMode"/> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="gmd:EX_Extent"/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="srv:extent|gmd:extent"/> + </xsl:otherwise> + </xsl:choose> + + <!-- New extent position is after existing ones. --> + <xsl:if test="$setExtentMode"> + <xsl:for-each + select="//gmd:onLine/gmd:CI_OnlineResource[contains(gmd:protocol/gco:CharacterString, 'OGC:WMS') and gmd:linkage/gmd:URL=$wmsServiceUrl]"> + <xsl:call-template name="add-extent-for-wms"> + <xsl:with-param name="srv" select="$srv"/> + </xsl:call-template> + </xsl:for-each> + </xsl:if> + + <!-- End of data --> + <xsl:copy-of select="gmd:supplementalInformation"/> + + <!-- End of service --> + <xsl:copy-of select="srv:coupledResource| + srv:couplingType| + srv:containsOperations| + srv:operatesOn + "/> + + <!-- Note: When applying this stylesheet + to an ISO profil having a new substitute for + MD_Identification, profil specific element copy. + --> + <xsl:for-each + select="*[namespace-uri()!='http://www.isotc211.org/2005/gmd' + and namespace-uri()!='http://www.isotc211.org/2005/srv']"> + <xsl:copy-of select="."/> + </xsl:for-each> + </xsl:copy> + </xsl:template> + + + <xsl:template match="gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata']"> + <xsl:copy> + <xsl:copy-of + select="gmd:fileIdentifier + |gmd:language + |gmd:characterSet + |gmd:parentIdentifier + |gmd:hierarchyLevel + |gmd:hierarchyLevelName + |gmd:contact + |gmd:dateStamp + |gmd:metadataStandardName + |gmd:metadataStandardVersion + |gmd:dataSetURI + |gmd:locale + |gmd:spatialRepresentationInfo + "/> + + <!-- Set spatial ref--> + <xsl:if test="$setCRSMode and $capabilitiesDoc//SRS"> + <xsl:for-each-group select="$capabilitiesDoc//SRS" group-by="."> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <xsl:call-template name="RefSystemTypes"> + <xsl:with-param name="srs" select="current-grouping-key()"/> + </xsl:call-template> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + </xsl:for-each-group> + </xsl:if> + + <xsl:copy-of select="gmd:metadataExtensionInfo + "/> + + <xsl:apply-templates select="gmd:identificationInfo"/> + + <xsl:copy-of + select="gmd:contentInfo + |gmd:distributionInfo + |gmd:dataQualityInfo + |gmd:portrayalCatalogueInfo + |gmd:metadataConstraints + |gmd:applicationSchemaInfo + |gmd:metadataMaintenance + |gmd:series + |gmd:describes + |gmd:propertyType + |gmd:featureType + |gmd:featureAttribute + "/> + + + <xsl:for-each + select="*[namespace-uri()!='http://www.isotc211.org/2005/gmd' and namespace-uri()!='http://www.fao.org/geonetwork']"> + <xsl:copy-of select="."/> + </xsl:for-each> + </xsl:copy> + </xsl:template> + + <xsl:template name="RefSystemTypes"> + <xsl:param name="srs"/> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code> + <gco:CharacterString> + <xsl:value-of select="$srs"/> + </gco:CharacterString> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </xsl:template> + + + <!-- Utility templates --> + <xsl:template name="add-extent-for-wms"> + <xsl:param name="srv" select="false()"/> + <xsl:param name="status" select="false()"/> + + <xsl:variable name="layerName" select="gmd:name/gco:CharacterString/text()"/> + + <xsl:choose> + <xsl:when test="$srv"> + <xsl:variable name="minx" select="math:min($capabilitiesDoc//LatLonBoundingBox/@minx)"/> + <xsl:variable name="maxx" select="math:max($capabilitiesDoc//LatLonBoundingBox/@maxx)"/> + <xsl:variable name="miny" select="math:min($capabilitiesDoc//LatLonBoundingBox/@miny)"/> + <xsl:variable name="maxy" select="math:max($capabilitiesDoc//LatLonBoundingBox/@maxy)"/> + <srv:extent> + <xsl:copy-of select="geonet:make-iso-extent(string($minx), string($miny), string($maxx), string($maxy), '')"/> + </srv:extent> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$capabilitiesDoc//Layer[Name=$layerName]" + mode="create-bbox-for-wms"/> + </xsl:otherwise> + </xsl:choose> + + </xsl:template> + + + <!-- Create a bounding box --> + <xsl:template mode="create-bbox-for-wms" match="Layer"> + <xsl:param name="srv" select="false()"/> + + <xsl:for-each select="LatLonBoundingBox"> + <gmd:extent> + <xsl:copy-of select="geonet:make-iso-extent(@minx, @miny, @maxx, @maxy, '')"/> + </gmd:extent> + </xsl:for-each> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/add-resource-id.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/add-resource-id.xsl new file mode 100644 index 00000000000..bac3cf85ab1 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/add-resource-id.xsl @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gn-fn-iso19139="http://geonetwork-opensource.org/xsl/functions/profiles/iso19139" + xmlns:util="java:org.fao.geonet.util.XslUtil" + version="2.0" exclude-result-prefixes="#all"> + + <xsl:import href="../../iso19139/process/process-utility.xsl"/> + + <!-- i18n information --> + <xsl:variable name="add-resource-id-loc"> + <msg id="a" xml:lang="eng">Current record does not contain resource identifier. Add the following identifier:</msg> + <msg id="a" xml:lang="fre">Cette fiche ne contient pas d'identifiant pour la ressource. Ajouter l'identifiant + suivant : + </msg> + </xsl:variable> + + + <xsl:variable name="resource-id-url-prefix" select="util:getSettingValue('metadata/resourceIdentifierPrefix')"/> + + + <xsl:template name="list-add-resource-id"> + <suggestion process="add-resource-id"/> + </xsl:template> + + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-add-resource-id"> + <xsl:param name="root"/> + <xsl:variable name="hasResourceId" + select="count($root//gmd:identificationInfo/*/gmd:citation/ + gmd:CI_Citation/gmd:identifier/*/gmd:code[gco:CharacterString != '']) > 0"/> + + <xsl:variable name="code" + select="gn-fn-iso19139:resource-id-generate($root/*/gmd:fileIdentifier/gco:CharacterString)"/> + <xsl:if test="not($hasResourceId)"> + <suggestion process="add-resource-id" id="{generate-id()}" category="identification" target="identification"> + <name> + <xsl:value-of select="geonet:i18n($add-resource-id-loc, 'a', $guiLang)"/><xsl:text> </xsl:text><xsl:value-of + select="$code"/>. + </name> + <operational>true</operational> + </suggestion> + </xsl:if> + + </xsl:template> + + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <xsl:function name="gn-fn-iso19139:resource-id-generate" as="xs:string"> + <xsl:param name="fileIdentifier" as="xs:string"/> + + <!-- Create resource identifier based on metadata record identifier --> + <xsl:variable name="urlWithoutLang" select="substring-before($catalogUrl, $nodeId)"/> + <xsl:variable name="prefix" + select="if ($resource-id-url-prefix != '') then $resource-id-url-prefix else $urlWithoutLang"/> + <xsl:value-of select="concat($prefix, $fileIdentifier)"/> + </xsl:function> + + <xsl:template + match="gmd:identificationInfo/*/gmd:citation/ + gmd:CI_Citation" + priority="2"> + + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:copy-of + select="gmd:title| + gmd:alternateTitle| + gmd:date| + gmd:edition| + gmd:editionDate"/> + + <xsl:variable name="code" + select="gn-fn-iso19139:resource-id-generate(/*/gmd:fileIdentifier/gco:CharacterString)"/> + <xsl:copy-of + select="gmd:identifier[gmd:MD_Identifier/gmd:code/gco:CharacterString != $code]"/> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString> + <xsl:value-of select="$code"/> + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + + <xsl:copy-of + select="gmd:citedResponsibleParty| + gmd:presentationForm| + gmd:series| + gmd:otherCitationDetails| + gmd:collectiveTitle| + gmd:ISBN| + gmd:ISSN"/> + + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/add-service-info-from-wxs.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/add-service-info-from-wxs.xsl new file mode 100644 index 00000000000..55e44808426 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/add-service-info-from-wxs.xsl @@ -0,0 +1,296 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exslt="http://exslt.org/common" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:wfs="http://www.opengis.net/wfs" + xmlns:wcs="http://www.opengis.net/wcs" + xmlns:wms="http://www.opengis.net/wms" + xmlns:ows="http://www.opengis.net/ows" + xmlns:owsg="http://www.opengeospatial.net/ows" + xmlns:ows11="http://www.opengis.net/ows/1.1" + xmlns:wps="http://www.opengeospatial.net/wps" + xmlns:wps1="http://www.opengis.net/wps/1.0.0" + version="2.0" + exclude-result-prefixes="srv gco gmd exslt geonet wms wfs wcs ows owsg ows11 wps wps1 xlink"> + + <xsl:import href="process-utility.xsl"/> + + <!-- i18n information --> + <xsl:variable name="wxs-info-loc"> + <msg id="a" xml:lang="en">OGC WMS or WFS service</msg> + <msg id="b" xml:lang="en">is described in online resource section. Run this process to add operations information + </msg> + <msg id="a" xml:lang="fr">Le service WMS ou WFS</msg> + <msg id="b" xml:lang="fr">est décrit dans la section resource en ligne. Exécuter cette action pour ajouter ou + remplacer les informations relatives aux opérations + </msg> + </xsl:variable> + + <!-- Process parameters and variables--> + <xsl:param name="setAndReplaceOperations" select="'0'"/> + <xsl:param name="wxsServiceUrl"/> + + <xsl:variable name="setAndReplaceOperationsMode" select="geonet:parseBoolean($setAndReplaceOperations)"/> + + + <!-- Load the capabilities document if one oneline resource contains a protocol set to WMS or WFS + Check if containsOperation element is already defined + --> + <xsl:variable name="wxsOnlineNodes" + select="//gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine//gmd:CI_OnlineResource[(contains(gmd:protocol/gco:CharacterString, 'OGC:WMS') + or contains(gmd:protocol/gco:CharacterString, 'OGC:WFS')) and gmd:linkage/gmd:URL = $wxsServiceUrl]"/> + <xsl:variable name="wxsProtocol" select="$wxsOnlineNodes/gmd:protocol/gco:CharacterString"/> + + <xsl:variable name="alreadyContainsOp" select="count(//srv:containsOperations[ + srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:linkage/gmd:URL=$wxsServiceUrl])"/> + + <xsl:variable name="wxsCapabilitiesDoc"> + <xsl:if test="$wxsOnlineNodes and $alreadyContainsOp = 0"> + <xsl:choose> + <xsl:when test="contains($wxsProtocol, 'WMS')"> + <xsl:copy-of select="geonet:get-wxs-capabilities($wxsServiceUrl, 'WMS', '1.3.0')"/> + </xsl:when> + <xsl:when test="contains($wxsProtocol, 'WFS')"> + <xsl:copy-of select="geonet:get-wxs-capabilities($wxsServiceUrl, 'WFS', '1.1.0')"/> + </xsl:when> + <xsl:otherwise> + <xsl:message>process:add-service-info-from-wxs: Unsupported protocol.</xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:variable> + + + <xsl:template name="list-add-service-info-from-wxs"> + <suggestion process="add-service-info-from-wxs"/> + </xsl:template> + + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-add-service-info-from-wxs"> + <xsl:param name="root"/> + + <xsl:variable name="srv" + select="$root//*[local-name(.)='SV_ServiceIdentification' or @gco:isoType='srv:SV_ServiceIdentification']"/> + + <xsl:variable name="onlineResources" + select="$root//gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource[(contains(gmd:protocol/gco:CharacterString, 'OGC:WMS') + or contains(gmd:protocol/gco:CharacterString, 'OGC:WFS')) + and normalize-space(gmd:linkage/gmd:URL)!='']"/> + + <xsl:if test="$srv"><!-- Only apply to service metadata--> + <xsl:for-each select="$onlineResources"> + <suggestion process="add-service-info-from-wxs" id="{generate-id()}-service" category="onlineSrc" + target="srv:containsOperations"> + <name> + <xsl:value-of select="geonet:i18n($wxs-info-loc, 'a', $guiLang)"/><xsl:value-of + select="./gmd:linkage/gmd:URL" + /><xsl:value-of select="geonet:i18n($wxs-info-loc, 'b', $guiLang)"/>. + </name> + <operational>true</operational> + <params>{ setAndReplaceOperations:{type:'boolean', defaultValue:'<xsl:value-of + select="$setAndReplaceOperations"/>'}, + wxsServiceUrl:{type:'string', defaultValue:'<xsl:value-of select="normalize-space(gmd:linkage/gmd:URL)"/>'} + } + </params> + </suggestion> + </xsl:for-each> + </xsl:if> + </xsl:template> + + + <!-- Processing templates --> + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + + <!-- Here set extent and graphicOverview --> + <xsl:template + match="gmd:identificationInfo/gmd:MD_DataIdentification| + gmd:identificationInfo/*[@gco:isoType='gmd:MD_DataIdentification']| + gmd:identificationInfo/srv:SV_ServiceIdentification| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']" + priority="2"> + + <xsl:copy> + <xsl:copy-of select="@*"/> + <!-- Copy all elements from AbstractMD_IdentificationType--> + <xsl:copy-of + select="gmd:*"/> + + + <!-- Service --> + <xsl:copy-of + select="srv:serviceType| + srv:serviceTypeVersion| + srv:accessProperties| + srv:restrictions| + srv:keywords| + srv:extent| + srv:coupledResource| + srv:couplingType + "/> + <!-- Adding contains operation info --> + <xsl:if test="not($setAndReplaceOperationsMode)"> + <xsl:copy-of select="srv:containsOperations"/> + </xsl:if> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Operation could be OGC standard operation described in specification + OR a specific process in a WPS. In that case, each process are described + as one operation. + + TODO : WPS not supported yet + --> + + <xsl:variable name="ows"> + <xsl:choose> + <xsl:when test="(local-name($wxsCapabilitiesDoc/.)='WFS_Capabilities' and namespace-uri($wxsCapabilitiesDoc/.)='http://www.opengis.net/wfs' + and $wxsCapabilitiesDoc/./@version='1.1.0') + or (local-name($wxsCapabilitiesDoc/.)='Capabilities' and namespace-uri($wxsCapabilitiesDoc/.)='http://www.opengeospatial.net/wps') + or (local-name($wxsCapabilitiesDoc/.)='Capabilities' and namespace-uri($wxsCapabilitiesDoc/.)='http://www.opengis.net/wps/1.0.0')"> + true + </xsl:when> + <xsl:otherwise>false</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:for-each select="$wxsCapabilitiesDoc//Request/*| + $wxsCapabilitiesDoc//wfs:Request/*| + $wxsCapabilitiesDoc//wms:Request/*| + $wxsCapabilitiesDoc//wcs:Request/*| + $wxsCapabilitiesDoc//ows:OperationsMetadata/ows:Operation| + $wxsCapabilitiesDoc//ows11:OperationsMetadata/ows:Operation| + $wxsCapabilitiesDoc//wps:ProcessOfferings/*| + $wxsCapabilitiesDoc//wps1:ProcessOfferings/*"> + <!-- Some services provide information about ows:ExtendedCapabilities TODO ? --> + + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="name(.)='wps:Process'">WPS Process: + <xsl:value-of select="ows:Title|ows11:Title"/> + </xsl:when> + <xsl:when test="$ows='true'"> + <xsl:value-of select="@name"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="name(.)"/> + </xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </srv:operationName> + <!-- CHECKME : DCPType/SOAP ? + <xsl:for-each select="DCPType/HTTP/*|wfs:DCPType/wfs:HTTP/*|wms:DCPType/wms:HTTP/*| + wcs:DCPType/wcs:HTTP/*|ows:DCP/ows:HTTP/*|ows11:DCP/ows11:HTTP/*"> --> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" + codeListValue="WebServices"/> + </srv:DCP> + <!--</xsl:for-each>--> + + <xsl:if test="name(.)='wps:Process' or name(.)='wps11:ProcessOfferings'"> + <srv:operationDescription> + <gco:CharacterString> + <xsl:value-of select="ows:Abstract|ows11:Title"/> + </gco:CharacterString> + </srv:operationDescription> + <srv:invocationName> + <gco:CharacterString> + <xsl:value-of select="ows:Identifier|ows11:Identifier"/> + </gco:CharacterString> + </srv:invocationName> + </xsl:if> + + <xsl:for-each select="Format|wms:Format|ows:Parameter[@name='AcceptFormats' or @name='outputFormat']"> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:choose> + <xsl:when test="$ows='true'"> + <xsl:value-of select="..//ows:Get[1]/@xlink:href"/><!-- FIXME supposed at least one Get --> + </xsl:when> + <xsl:otherwise> + <xsl:value-of + select="..//*[1]/OnlineResource/@xlink:href|..//*[1]/wms:OnlineResource/@xlink:href"/> + </xsl:otherwise> + </xsl:choose> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString> + <xsl:value-of select="$wxsProtocol"/> + </gco:CharacterString> + </gmd:protocol> + <gmd:description> + <gco:CharacterString> + Format : + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="information"/> + </gmd:function> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </xsl:for-each> + + + <!-- Some Operations in WFS 1.0.0 have no ResultFormat no CI_OnlineResource created + WCS has no output format + --> + <xsl:for-each select="wfs:ResultFormat/*"> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="../..//wfs:Get[1]/@onlineResource"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString> + <xsl:value-of select="name(.)"/> + </gco:CharacterString> + </gmd:protocol> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="./resources/codeList.xml#CI_OnLineFunctionCode" + codeListValue="information"/> + </gmd:function> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </xsl:for-each> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </xsl:for-each> + + <!-- End of service --> + <xsl:copy-of select="srv:operatesOn"/> + + <!-- Note: When applying this stylesheet + to an ISO profil having a new substitute for + MD_Identification, profil specific element copy. + --> + <xsl:for-each + select="*[namespace-uri()!='http://www.isotc211.org/2005/gmd' + and namespace-uri()!='http://www.isotc211.org/2005/srv']"> + <xsl:copy-of select="."/> + </xsl:for-each> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/anonymizer.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/anonymizer.xsl new file mode 100644 index 00000000000..a0be454a539 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/anonymizer.xsl @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:geonet="http://www.fao.org/geonetwork" exclude-result-prefixes="#all" version="2.0"> + + <!-- + Usage: + anonymizer?protocol=MYLOCALNETWORK:FILEPATH&email=gis@organisation.org&thesaurus=MYORGONLYTHEASURUS + * will remove gmd:onLine element with a protocol which starts with MYLOCALNETWORK:FILEPATH. + * will replace all email ending with @organisation.org by gis@organisation.org + * will remove all gmd:descriptiveKeywords having MYORGONLYTHEASURUS in their thesaurus name. + --> + + <!-- Protocol name for which online resource must be removed --> + <xsl:param name="protocol"/> + <!-- Generic email to use for all email in same domain (ie. after @domain.org). --> + <xsl:param name="email"/> + <!-- Portion of thesaurus name for which keyword should be removed --> + <xsl:param name="thesaurus"/> + + + <xsl:variable name="emailDomain" select="substring-after($email, '@')"/> + + <!-- Remove individual name --> + <xsl:template match="gmd:individualName" priority="2"/> + + <!-- Remove organisation email by general email --> + <xsl:template match="gmd:electronicMailAddress[$emailDomain != '' and ends-with(gco:CharacterString, $emailDomain)]" + priority="2"> + <xsl:copy> + <gco:CharacterString> + <xsl:value-of select="$email"/> + </gco:CharacterString> + </xsl:copy> + </xsl:template> + + <!-- Remove all resources contact which are not pointOfContact --> + <xsl:template + match="gmd:identificationInfo/*/gmd:pointOfContact[gmd:CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode/@codeListValue!='pointOfContact']" + priority="2"/> + + <!-- Remove all online resource with custom protocol --> + <xsl:template + match="gmd:onLine[$protocol != '' and starts-with(gmd:CI_OnlineResource/gmd:protocol/gco:CharacterString, $protocol)]" + priority="2"/> + + <!-- Remove all descriptive keyword with a thesaurus from $thesaurus --> + <xsl:template + match="gmd:descriptiveKeywords[$thesaurus != '' and contains(gmd:MD_Keywords/gmd:thesaurusName/gmd:CI_Citation/gmd:title/gco:CharacterString, $thesaurus)]" + priority="2"/> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Always remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/copy-contact-to-pointofcontact.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/copy-contact-to-pointofcontact.xsl new file mode 100644 index 00000000000..496f66118bd --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/copy-contact-to-pointofcontact.xsl @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + +https://jira.swisstopo.ch/browse/MGEO_SB-640 +--> +<xsl:stylesheet xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0"> + <xsl:template match="gmd:identificationInfo/*"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates select="gmd:citation"/> + <xsl:apply-templates select="gmd:abstract"/> + <xsl:apply-templates select="gmd:purpose"/> + <xsl:apply-templates select="gmd:credit"/> + <xsl:apply-templates select="gmd:status"/> + <xsl:apply-templates select="gmd:pointOfContact"/> + + <xsl:variable name="pocs" select="gmd:pointOfContact"/> + + <xsl:for-each select="gmd:citation/*/gmd:citedResponsibleParty"> + <xsl:if test="count($pocs[@xlink:href = current()/@xlink:href]) = 0"> + <gmd:pointOfContact> + <xsl:copy-of select="@xlink:*"/> + <xsl:copy-of select="*"/> + </gmd:pointOfContact> + </xsl:if> + </xsl:for-each> + + <xsl:apply-templates select="gmd:resourceMaintenance"/> + <xsl:apply-templates select="gmd:graphicOverview"/> + <xsl:apply-templates select="gmd:resourceFormat"/> + <xsl:apply-templates select="gmd:descriptiveKeywords"/> + <xsl:apply-templates select="gmd:resourceSpecificUsage"/> + <xsl:apply-templates select="gmd:resourceConstraints"/> + <xsl:apply-templates select="gmd:aggregationInfo"/> + <xsl:apply-templates select="gmd:spatialRepresentationType"/> + <xsl:apply-templates select="gmd:spatialResolution"/> + <xsl:apply-templates select="gmd:language"/> + <xsl:apply-templates select="gmd:characterSet"/> + <xsl:apply-templates select="gmd:topicCategory"/> + <xsl:apply-templates select="gmd:environmentDescription"/> + <xsl:apply-templates select="gmd:extent"/> + <xsl:apply-templates select="gmd:supplementalInformation"/> + + <xsl:apply-templates select="srv:*"/> + + <xsl:apply-templates select="*[namespace-uri()!='http://www.isotc211.org/2005/gmd' and + namespace-uri()!='http://www.isotc211.org/2005/srv']"/> + </xsl:copy> + </xsl:template> + + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/dataset-add.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/dataset-add.xsl new file mode 100644 index 00000000000..6afa7a98e81 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/dataset-add.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../../iso19139/process/dataset-add.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/datasets-remove.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/datasets-remove.xsl new file mode 100644 index 00000000000..c551b815b65 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/datasets-remove.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../../iso19139/process/datasets-remove.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/dataseturi-add-https-if-missing.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/dataseturi-add-https-if-missing.xsl new file mode 100644 index 00000000000..bfb0ead483e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/dataseturi-add-https-if-missing.xsl @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" version="1.0"> + + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="gmd:dataSetURI/gco:CharacterString[not(starts-with(text(), 'http://')) and not(starts-with(text(), 'https://'))]" priority="2"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:value-of select="concat('https://', .)"/> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/empty.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/empty.xsl new file mode 100644 index 00000000000..c7688337611 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/empty.xsl @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:geonet="http://www.fao.org/geonetwork" + exclude-result-prefixes="#all"> + <!-- Empty process to pass through update fixed info. --> + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/fcats-add.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/fcats-add.xsl new file mode 100644 index 00000000000..19fe912f36a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/fcats-add.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../../iso19139/process/fcats-add.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/fcats-remove.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/fcats-remove.xsl new file mode 100644 index 00000000000..a0be7d60af4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/fcats-remove.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../../iso19139/process/fcats-remove.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/fix-parent-link.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/fix-parent-link.xsl new file mode 100644 index 00000000000..c9d4a3e22ca --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/fix-parent-link.xsl @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" version="1.0"> + + <!-- root element --> + <xsl:template match="che:CHE_MD_Metadata"> + <xsl:element name="{name()}"> + <xsl:namespace name="che" select="'http://www.geocat.ch/2008/che'"/> + <xsl:namespace name="gmd" select="'http://www.isotc211.org/2005/gmd'"/> + <xsl:namespace name="gmx" select="'http://www.isotc211.org/2005/gmx'"/> + <xsl:namespace name="gts" select="'http://www.isotc211.org/2005/gts'"/> + <xsl:namespace name="srv" select="'http://www.isotc211.org/2005/srv'"/> + <xsl:namespace name="gml" select="'http://www.opengis.net/gml'"/> + <xsl:namespace name="xsi" select="'http://www.w3.org/2001/XMLSchema-instance'"/> + <xsl:namespace name="xlink" select="'http://www.w3.org/1999/xlink'"/> + + <xsl:apply-templates select="@*|*"/> + + <!-- add a parent identifier in place of aggregation info --> + <xsl:variable name="aggInfo" select="gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:aggregationInfo/gmd:MD_AggregateInformation"/> + <xsl:variable name="parentUuid" select="$aggInfo[gmd:associationType/gmd:DS_AssociationTypeCode/@codeListValue='largerWorkCitation']/gmd:aggregateDataSetIdentifier/gmd:MD_Identifier/gmd:code/gco:CharacterString"/> + <xsl:if test="$parentUuid != '' and count(gmd:parentIdentifier) = 0"> + <gmd:parentIdentifier> + <gco:CharacterString><xsl:value-of select="$parentUuid"/></gco:CharacterString> + </gmd:parentIdentifier> + </xsl:if> + </xsl:element> + </xsl:template> + + <!--Copy --> + <xsl:template match="@* | node()" priority="-10"> + <xsl:copy> + <xsl:apply-templates select="@* | node()"/> + </xsl:copy> + </xsl:template> + + <!-- remove aggregation info with largerWorkCitation type --> + <xsl:template match="gmd:aggregationInfo[./gmd:MD_AggregateInformation/gmd:associationType/gmd:DS_AssociationTypeCode/@codeListValue='largerWorkCitation']"> + </xsl:template> + + <!-- Always remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/fix-xlink-location-on-keywords.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/fix-xlink-location-on-keywords.xsl new file mode 100644 index 00000000000..376b7e8cc75 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/fix-xlink-location-on-keywords.xsl @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:geonet="http://www.fao.org/geonetwork" + version="2.0" + exclude-result-prefixes="#all"> + + <!-- XLink were in some editor configuration located + on the wrong element gmd:MD_Keywords. In that case, + the XML document with the XLink was invalid and the same + document with XLinks resolved was correct. + + This XSLT relocate the XLink on the correct one gmd:descriptiveKeywords. + + --> + + <!-- Match all invalid keywords elements --> + <xsl:template match="gmd:descriptiveKeywords[gmd:MD_Keywords/@xlink:href]" priority="2"> + <!-- ... and relocate XLink from the child to the current one + forgetting all children (which are resolved). --> + <xsl:copy> + <xsl:copy-of select="gmd:MD_Keywords/@xlink:*"/> + </xsl:copy> + </xsl:template> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Always remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/geocat-inspire-conformity.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/geocat-inspire-conformity.xsl new file mode 100644 index 00000000000..6af5a512be0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/geocat-inspire-conformity.xsl @@ -0,0 +1,809 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + exclude-result-prefixes="#all" + version="2.0"> + + <xsl:output indent="yes"/> + + <xsl:variable name="uuid" + select="/che:CHE_MD_Metadata//gmd:fileIdentifier/gco:CharacterString"/> + + + <xsl:variable name="ithemeTopiccatMap"> + <entry> + <theme>Geographical names</theme> + <newitheme>http://inspire.ec.europa.eu/theme/gn</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/3</itheme> + <topiccat>location</topiccat> + </entry> + <entry> + <theme>Administrative units</theme> + <newitheme>http://inspire.ec.europa.eu/theme/au</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/4</itheme> + <topiccat>boundaries</topiccat> + </entry> + <entry> + <theme>Addresses</theme> + <newitheme>http://inspire.ec.europa.eu/theme/ad</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/5</itheme> + <topiccat>location</topiccat> + </entry> + <entry> + <theme>Cadastral parcels</theme> + <newitheme>http://inspire.ec.europa.eu/theme/cp</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/6</itheme> + <topiccat>planningCadastre</topiccat> + </entry> + <entry> + <theme>Transport networks</theme> + <newitheme>http://inspire.ec.europa.eu/theme/tn</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/7</itheme> + <topiccat>transportation</topiccat> + </entry> + <entry> + <theme>Hydrography</theme> + <newitheme>http://inspire.ec.europa.eu/theme/hy</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/8</itheme> + <topiccat>inlandWaters</topiccat> + </entry> + <entry> + <theme>Protected sites</theme> + <newitheme>http://inspire.ec.europa.eu/theme/ps</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/9</itheme> + <topiccat>environment</topiccat> + </entry> + <entry> + <theme>Elevation</theme> + <newitheme>http://inspire.ec.europa.eu/theme/el</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/10</itheme> + <topiccat>elevation</topiccat> + </entry> + <entry> + <theme>Land cover</theme> + <newitheme>http://inspire.ec.europa.eu/theme/lc</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/11</itheme> + <topiccat>imageryBaseMapsEarthCover</topiccat> + </entry> + <entry> + <theme>Orthoimagery</theme> + <newitheme>http://inspire.ec.europa.eu/theme/oi</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/12</itheme> + <topiccat>imageryBaseMapsEarthCover</topiccat> + </entry> + <entry> + <theme>Geology</theme> + <newitheme>http://inspire.ec.europa.eu/theme/ge</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/13</itheme> + <topiccat>geoscientificInformation</topiccat> + </entry> + <entry> + <theme>Statistical units</theme> + <newitheme>http://inspire.ec.europa.eu/theme/su</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/14</itheme> + <topiccat>boundaries</topiccat> + </entry> + <entry> + <theme>Buildings</theme> + <newitheme>http://inspire.ec.europa.eu/theme/bu</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/15</itheme> + <topiccat>structure</topiccat> + </entry> + <entry> + <theme>Soil</theme> + <newitheme>http://inspire.ec.europa.eu/theme/so</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/16</itheme> + <topiccat>geoscientificInformation</topiccat> + </entry> + <entry> + <theme>Land use</theme> + <newitheme>http://inspire.ec.europa.eu/theme/lu</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/17</itheme> + <topiccat>planningCadastre</topiccat> + </entry> + <entry> + <theme>Human health and safety</theme> + <newitheme>http://inspire.ec.europa.eu/theme/hh</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/18</itheme> + <topiccat>health</topiccat> + </entry> + <entry> + <theme>Utility and governmental services</theme> + <newitheme>http://inspire.ec.europa.eu/theme/us</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/19</itheme> + <topiccat>utilitiesCommunication</topiccat> + </entry> + <entry> + <theme>Environmental monitoring facilities</theme> + <newitheme>http://inspire.ec.europa.eu/theme/ef</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/20</itheme> + <topiccat>structure</topiccat> + </entry> + <entry> + <theme>Production and industrial facilities</theme> + <newitheme>http://inspire.ec.europa.eu/theme/pf</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/21</itheme> + <topiccat>structure</topiccat> + </entry> + <entry> + <theme>Agricultural and aquaculture facilities</theme> + <newitheme>http://inspire.ec.europa.eu/theme/af</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/22</itheme> + <topiccat>farming</topiccat> + </entry> + <entry> + <theme>Population distribution — demography</theme> + <newitheme>http://inspire.ec.europa.eu/theme/pd</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/23</itheme> + <topiccat>society</topiccat> + </entry> + <entry> + <theme>Area management/restriction/regulation zones and reporting units</theme> + <newitheme>http://inspire.ec.europa.eu/theme/am</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/24</itheme> + <topiccat>planningCadastre</topiccat> + </entry> + <entry> + <theme>Natural risk zones</theme> + <newitheme>http://inspire.ec.europa.eu/theme/nz</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/25</itheme> + <topiccat>geoscientificInformation</topiccat> + </entry> + <entry> + <theme>Atmospheric conditions</theme> + <newitheme>http://inspire.ec.europa.eu/theme/ac</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/26</itheme> + <topiccat>climatologyMeteorologyAtmosphere</topiccat> + </entry> + <entry> + <theme>Meteorological geographical features</theme> + <newitheme>http://inspire.ec.europa.eu/theme/mf</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/27</itheme> + <topiccat>climatologyMeteorologyAtmosphere</topiccat> + </entry> + <entry> + <theme>Oceanographic geographical features</theme> + <newitheme>http://inspire.ec.europa.eu/theme/of</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/28</itheme> + <topiccat>oceans</topiccat> + </entry> + <entry> + <theme>Sea regions</theme> + <newitheme>http://inspire.ec.europa.eu/theme/sr</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/29</itheme> + <topiccat>oceans</topiccat> + </entry> + <entry> + <theme>Bio-geographical regions</theme> + <newitheme>http://inspire.ec.europa.eu/theme/br</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/30</itheme> + <topiccat>biota</topiccat> + </entry> + <entry> + <theme>Habitats and biotopes</theme> + <newitheme>http://inspire.ec.europa.eu/theme/hb</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/31</itheme> + <topiccat>biota</topiccat> + </entry> + <entry> + <theme>Species distribution</theme> + <newitheme>http://inspire.ec.europa.eu/theme/sd</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/32</itheme> + <topiccat>biota</topiccat> + </entry> + <entry> + <theme>Energy resources</theme> + <newitheme>http://inspire.ec.europa.eu/theme/er</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/33</itheme> + <topiccat>economy</topiccat> + </entry> + <entry> + <theme>Mineral resources</theme> + <newitheme>http://inspire.ec.europa.eu/theme/mr</newitheme> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/34</itheme> + <topiccat>economy</topiccat> + </entry> + </xsl:variable> + + <xsl:variable name="hasSpatialScope" + select="count(/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:descriptiveKeywords[*/gmd:thesaurusName/*/gmd:title/*/text() = 'Spatial scope']) > 0"/> + + <xsl:variable name="hasQualitySection" + select="count(/che:CHE_MD_Metadata/gmd:dataQualityInfo) > 0"/> + + <xsl:variable name="hasQualityReport10892010" + select="count(/che:CHE_MD_Metadata/gmd:dataQualityInfo/*/ + gmd:report/gmd:DQ_DomainConsistency/gmd:result/*/ + gmd:specification/*/gmd:title[ + contains(*[1]/text(), '1089/2010')]) > 0"/> + + <xsl:variable name="hasQualityReport9762009" + select="count(/che:CHE_MD_Metadata/gmd:dataQualityInfo/*/ + gmd:report/gmd:DQ_DomainConsistency/gmd:result/*/ + gmd:specification/*/gmd:title[ + contains(*[1]/text(), '976/2009')]) > 0"/> + + <xsl:variable name="isService" + select="count(/che:CHE_MD_Metadata/*/srv:SV_ServiceIdentification) > 0"/> + + <xsl:variable name="mainLanguage" + select="/che:CHE_MD_Metadata/gmd:language/gmd:LanguageCode/@codeListValue"/> + + <xsl:variable name="threeLettersLanguageCodeList" + select="string-join(($mainLanguage|/che:CHE_MD_Metadata/gmd:locale/*/ + gmd:languageCode/*/@codeListValue[. != $mainLanguage]), ',')"/> + + <xsl:variable name="contactXlinkRoleExpression" + select="'~(distributor|processor|owner|originator|resourceProvider|custodian|author|principalInvestigator|distributor)'"/> + + <!-- Metadata / Role is pointOfContact --> + <xsl:template match="che:CHE_MD_Metadata/gmd:contact + /@xlink:href[matches(., $contactXlinkRoleExpression)]"> + <xsl:message select="concat('INSPIRE|', $uuid, '|Metadata|Contact: Change role to pointOfContact.')"/> + <xsl:attribute name="xlink:href" + select="replace(., $contactXlinkRoleExpression, '~pointOfContact')"/> + </xsl:template> + + <!-- Resource / Identification / Temporal reference / LastRevision --> + <xsl:template match="@codeListValue[. = 'lastRevision']"> + <xsl:message select="concat('INSPIRE|', $uuid, '|Identification|Date: Replace lastRevision by revision.')"/> + <xsl:attribute name="codeListValue" + select="'revision'"/> + </xsl:template> + + + <xsl:template match="che:CHE_MD_Metadata"> + <xsl:copy> + <xsl:copy-of select="@*"/> + + <xsl:apply-templates select=" + gmd:fileIdentifier| + gmd:language| + gmd:characterSet| + gmd:parentIdentifier| + gmd:hierarchyLevel"/> + + <xsl:if test="not(gmd:hierarchyLevel)"> + <xsl:message select="concat('INSPIRE|', $uuid, '|Metadata|Add hierarchy level.')"/> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode" + codeListValue="{if ($isService) then 'service' else 'dataset'}"/> + </gmd:hierarchyLevel> + </xsl:if> + + + <xsl:apply-templates select=" + gmd:hierarchyLevelName| + gmd:contact| + gmd:dateStamp| + gmd:metadataStandardName| + gmd:metadataStandardVersion| + gmd:dataSetURI| + gmd:locale| + gmd:spatialRepresentationInfo| + gmd:referenceSystemInfo"/> + + <xsl:if test="not(gmd:referenceSystemInfo) and not($isService)"> + <xsl:message select="concat('INSPIRE|', $uuid, '|CRS|Add default EPSG:2056.')"/> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:2056</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:2056</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">EPSG:2056</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">EPSG:2056</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">EPSG:2056</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + </xsl:if> + + <xsl:apply-templates select=" + gmd:metadataExtensionInfo| + gmd:identificationInfo| + gmd:contentInfo| + gmd:distributionInfo| + gmd:dataQualityInfo"/> + + <!-- Resource / Quality / Lineage --> + <xsl:if test="not($hasQualitySection)"> + <xsl:call-template name="create-dq-section"/> + </xsl:if> + + <xsl:apply-templates select=" + gmd:portrayalCatalogueInfo| + gmd:metadataConstraints| + gmd:applicationSchemaInfo| + gmd:metadataMaintenance| + gmd:series| + gmd:describes| + gmd:propertyType| + gmd:featureType| + gmd:featureAttribute"/> + + <xsl:apply-templates select=" + *[namespace-uri()!='http://www.isotc211.org/2005/gmd' and + namespace-uri()!='http://www.isotc211.org/2005/srv']"/> + </xsl:copy> + </xsl:template> + + + <xsl:template match="gmd:identificationInfo/*"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates select="gmd:citation"/> + <xsl:apply-templates select="gmd:abstract"/> + <xsl:apply-templates select="gmd:purpose"/> + <xsl:apply-templates select="gmd:credit"/> + <xsl:apply-templates select="gmd:status"/> + + <!-- Resource / Responsible organization missing --> + <xsl:apply-templates select="gmd:pointOfContact"/> + <xsl:if test="count(gmd:pointOfContact) = 0"> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Identification|Point of contact: copy first metadata contact as resource contact.')"/> + <gmd:pointOfContact xlink:href="{replace( + ancestor::che:CHE_MD_Metadata/gmd:contact[1]/@xlink:href, + $contactXlinkRoleExpression, + '~pointOfContact')}"/> + </xsl:if> + + <xsl:apply-templates select="gmd:resourceMaintenance"/> + <xsl:apply-templates select="gmd:graphicOverview"/> + <xsl:apply-templates select="gmd:resourceFormat"/> + <xsl:apply-templates select="gmd:descriptiveKeywords"/> + + + <xsl:variable name="hasInspireKeywords" + select="count(gmd:descriptiveKeywords[ + contains(@xlink:href, + 'thesaurus=external.theme.httpinspireeceuropaeutheme-theme')]) > 0"/> + + <xsl:if test="not($hasInspireKeywords)"> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Identification|Add INSPIRE themes based on topic category.')"/> + + <xsl:variable name="topics" + select="gmd:topicCategory/*/text()"/> + <xsl:variable name="listOfId" + select="string-join($ithemeTopiccatMap//entry[topiccat = $topics]/newitheme/encode-for-uri(.), ',')"/> + + <gmd:descriptiveKeywords + xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.httpinspireeceuropaeutheme-theme&amp;id={$listOfId}&amp;lang={$threeLettersLanguageCodeList}"/> + + </xsl:if> + + <xsl:variable name="hasClassificationOfService" + select="count(gmd:descriptiveKeywords[contains(@xlink:href, 'httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory')]) > 0"/> + <xsl:if test="$isService and not($hasClassificationOfService)"> + <xsl:variable name="serviceType" + select="srv:serviceType/gco:LocalName"/> + <!-- TODO: Can't add keyword with XLink and Anchor --> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Service| Add missing service classification based on service type ', $serviceType, '.')"/> + + <xsl:variable name="serviceTypeMapping" as="node()*"> + <entry key="download" + value="http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialDataServiceCategory%2FinfoProductAccessService"/> + <entry key="OGC:WFS" + value="http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialDataServiceCategory%2FinfoProductAccessService"/> + <entry key="view" + value="http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialDataServiceCategory%2FinfoMapAccessService"/> + <entry key="OGC:WMS" + value="http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialDataServiceCategory%2FinfoMapAccessService"/> + <entry key="OGC:WMTS" + value="http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialDataServiceCategory%2FinfoMapAccessService"/> + <entry key="discovery" + value="http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialDataServiceCategory%2FinfoCatalogueService"/> + <entry key="OGC:CSW" + value="http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialDataServiceCategory%2FinfoCatalogueService"/> + </xsl:variable> + + <gmd:descriptiveKeywords + xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory-SpatialDataServiceCategory&amp;id={$serviceTypeMapping[@key = $serviceType]/@value}&amp;lang={$threeLettersLanguageCodeList}&amp;transformation=to-iso19139-keyword-with-anchor"/> + </xsl:if> + + + <xsl:variable name="basicGeodataIDType" + select="che:basicGeodataIDType/che:basicGeodataIDTypeCode/@codeListValue"/> + <xsl:variable name="hasSpatialScope" + select="count(gmd:descriptiveKeywords[contains(@xlink:href, 'httpinspireeceuropaeumetadatacodelistSpatialScope')]) > 0"/> + + <xsl:if test="not($hasSpatialScope)"> + <xsl:choose> + <xsl:when test="$basicGeodataIDType = 'federal'"> + <gmd:descriptiveKeywords + xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.httpinspireeceuropaeumetadatacodelistSpatialScope-SpatialScope&amp;id=http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialScope%2Fnational&amp;lang={$threeLettersLanguageCodeList}"/> + </xsl:when> + <xsl:when test="$basicGeodataIDType = 'cantonal'"> + <gmd:descriptiveKeywords + xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.httpinspireeceuropaeumetadatacodelistSpatialScope-SpatialScope&amp;id=http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialScope%2Fregional&amp;lang={$threeLettersLanguageCodeList}"/> + </xsl:when> + <xsl:when test="$basicGeodataIDType = 'communal'"> + <gmd:descriptiveKeywords + xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.httpinspireeceuropaeumetadatacodelistSpatialScope-SpatialScope&amp;id=http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialScope%2Flocal&amp;lang={$threeLettersLanguageCodeList}"/> + </xsl:when> + </xsl:choose> + </xsl:if> + + <xsl:apply-templates select="gmd:resourceSpecificUsage"/> + + <!-- Resource / Access constraint / Limitation on public access AND condition to access and use TODO --> + <xsl:apply-templates select="gmd:resourceConstraints"/> + + <xsl:if test="not(gmd:resourceConstraints[*/gmd:accessConstraints])"> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Identification|Adding default access resource constraints.')"/> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/metadata-codelist/LimitationsOnPublicAccess/noLimitations">No + limitations to public access + </gmx:Anchor> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">No limitations to public access + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">No limitations to public access + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">No limitations to public access + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">No limitations to public access + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </xsl:if> + + <xsl:if test="not(gmd:resourceConstraints[*/gmd:useConstraints])"> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Identification|Adding default use access resource constraints.')"/> + <gmd:resourceConstraints> + <gmd:MD_LegalConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gmx:Anchor + xlink:href="http://inspire.ec.europa.eu/metadata-codelist/ConditionsApplyingToAccessAndUse/noConditionsApply"> + No conditions to access and use + </gmx:Anchor> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">No conditions to access and use + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">No conditions to access and use + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">No conditions to access and use + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">No conditions to access and use + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </gmd:MD_LegalConstraints> + </gmd:resourceConstraints> + </xsl:if> + + <xsl:apply-templates select="gmd:aggregationInfo"/> + <xsl:apply-templates select="gmd:spatialRepresentationType"/> + + <!-- + XML document 'file.xml', record '8fc6f748-80ce-47b2-8d49-b05a0c8ba975': The spatial representation type shall be given using at least one element gmd:spatialRepresentationType/gmd:MD_SpatialRepresentationTypeCode. + --> + <xsl:if test="not($isService) and not(gmd:spatialRepresentationType)"> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Identification|Spatial representation type: add default vector because missing.')"/> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_SpatialRepresentationTypeCode" + codeListValue="vector"/> + </gmd:spatialRepresentationType> + </xsl:if> + + <xsl:apply-templates select="gmd:spatialResolution"/> + <xsl:apply-templates select="gmd:language"/> + <xsl:apply-templates select="gmd:characterSet"/> + <xsl:apply-templates select="gmd:topicCategory"/> + <xsl:apply-templates select="gmd:environmentDescription"/> + <xsl:apply-templates select="gmd:extent"/> + <xsl:apply-templates select="gmd:supplementalInformation"/> + + <xsl:apply-templates select="srv:*"/> + <xsl:apply-templates select="*[namespace-uri()!='http://www.isotc211.org/2005/gmd' and + namespace-uri()!='http://www.isotc211.org/2005/srv']"/> + </xsl:copy> + </xsl:template> + + + <xsl:template match="gmd:distributionInfo/*[not(gmd:distributionFormat)]"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates select="gmd:distributionFormat"/> + <xsl:for-each select="gmd:distributor//gmd:distributorFormat"> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Distribution|Move distribution format from distributor to distributionInfo.')"/> + <gmd:distributionFormat> + <xsl:copy-of select="@*"/> + </gmd:distributionFormat> + </xsl:for-each> + <xsl:apply-templates select="gmd:distributor"/> + <xsl:apply-templates select="gmd:transferOptions"/> + </xsl:copy> + </xsl:template> + <xsl:template match="gmd:distributionInfo/*/gmd:distributor/*/gmd:distributorFormat"/> + + + <xsl:template match="gmd:resourceConstraints[string-join((.//*|//@*), '') = '']"> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Identification|Removing empty resource constraints.')"/> + </xsl:template> + + + <xsl:template match="gmd:identificationInfo/*/gmd:citation/*[ + not(gmd:identifier) + and not($isService)]"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:variable name="elements" + select="gmd:title|gmd:alternateTitle|gmd:date|gmd:edition|gmd:editionDate"/> + <xsl:apply-templates select="$elements"/> + + <!-- Dataset / No resource identifier --> + <xsl:variable name="basicgeodataId" + select="ancestor::gmd:identificationInfo/*/che:basicGeodataID/*/text()"/> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="$basicgeodataId != ''"> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Identification|Resource identifier: copy basic geodata id ', $basicgeodataId , ' as identifier.')"/> + <xsl:value-of select="concat('basicGeodataID:', $basicgeodataId)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message + select="concat('INSPIRE|', $uuid, '|Identification|Resource identifier: copy uuid ', $uuid , ' as identifier.')"/> + <xsl:value-of select="$uuid"/> + </xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + + <xsl:apply-templates select="* except $elements"/> + </xsl:copy> + </xsl:template> + + + <xsl:template match="gmd:dataQualityInfo/*"> + <xsl:copy> + <xsl:apply-templates select="gmd:scope"/> + <xsl:apply-templates select="gmd:report"/> + <xsl:call-template name="add-inspire-regulation-conformity"/> + <xsl:apply-templates select="gmd:lineage"/> + </xsl:copy> + </xsl:template> + + + <xsl:template name="add-inspire-regulation-conformity"> + <xsl:if test="not($hasQualityReport10892010)"> + <xsl:message select="concat('INSPIRE|', $uuid, '|DataQuality|Regulation: add conformity for metadata.')"/> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gmx:Anchor xlink:href="http://data.europa.eu/eli/reg/2010/1089"></gmx:Anchor> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung (EG) Nr. 1089/2010 der Kommission vom 23. + November 2010 zur Durchführung der Richtlinie 2007/2/EG des Europäischen Parlaments und des + Rates hinsichtlich der Interoperabilität von Geodatensätzen und -diensten + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Règlement (UE) n ° 1089/2010 de la Commission du 23 + novembre 2010 portant modalités d'application de la directive 2007/2/CE du Parlement européen + et du Conseil en ce qui concerne l'interopérabilité des séries et des services de données + géographiques + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Regolamento (UE) n. 1089/2010 della Commissione, del + 23 novembre 2010 , recante attuazione della direttiva 2007/2/CE del Parlamento europeo e del + Consiglio per quanto riguarda l'interoperabilità dei set di dati territoriali e dei servizi di + dati territoriali + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Commission Regulation (EU) No 1089/2010 of 23 + November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council + as regards interoperability of spatial data sets and services + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2010-12-08</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString>See the referenced specification</gco:CharacterString> + </gmd:explanation> + <gmd:pass gco:nilReason="unknown"/> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </xsl:if> + <xsl:if test="$isService and not($hasQualityReport9762009)"> + <xsl:message select="concat('INSPIRE|', $uuid, '|DataQuality|Regulation: add conformity for service.')"/> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gmx:Anchor xlink:href="http://data.europa.eu/eli/reg/2009/976"></gmx:Anchor> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung (EG) Nr. 976/2009 der Kommission vom 19. + Oktober 2009 zur Durchführung der Richtlinie 2007/2/EG des Europäischen Parlaments und des + Rates hinsichtlich der Netzdienste + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Règlement (CE) n o 976/2009 de la Commission du 19 + octobre 2009 portant modalités d’application de la directive 2007/2/CE du Parlement européen + et du Conseil en ce qui concerne les services en réseau + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Regolamento (CE) n. 976/2009 della Commissione, del + 19 ottobre 2009 , recante attuazione della direttiva 2007/2/CE del Parlamento europeo e del + Consiglio per quanto riguarda i servizi di rete + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Commission Regulation (EC) No 976/2009 of 19 October + 2009 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards + the Network Services + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2009-10-19</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString>See the referenced specification</gco:CharacterString> + </gmd:explanation> + <gmd:pass gco:nilReason="unknown"/> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </xsl:if> + </xsl:template> + + <xsl:template name="create-dq-section"> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode" + codeListValue="{if ($isService) then 'service' else 'dataset'}"/> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <xsl:call-template name="add-inspire-regulation-conformity"/> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-</gco:CharacterString> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + </xsl:template> + + <xsl:template match="srv:serviceType/gco:LocalName[. = 'OGC:CSW']"> + <xsl:message select="concat('INSPIRE|', $uuid, '|Service|Replace OGC:CSW by discovery.')"/> + <gco:LocalName>discovery</gco:LocalName> + </xsl:template> + <xsl:template match="srv:serviceType/gco:LocalName[. = 'OGC:WFS']"> + <xsl:message select="concat('INSPIRE|', $uuid, '|Service|Replace OGC:WFS by download.')"/> + <gco:LocalName>download</gco:LocalName> + </xsl:template> + <xsl:template match="srv:serviceType/gco:LocalName[. = ('OGC:WMS', 'OGC:WMTS', 'OGC:WMTS (Web Map Tile Service)')]"> + <xsl:message select="concat('INSPIRE|', $uuid, '|Service|Replace OGC:WMT?S by view.')"/> + <gco:LocalName>view</gco:LocalName> + </xsl:template> + + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()|comment()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()|comment()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/inspire-add-conformity.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/inspire-add-conformity.xsl new file mode 100644 index 00000000000..74ce363a44c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/inspire-add-conformity.xsl @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:gmd="http://www.isotc211.org/2005/gmd" version="2.0" + exclude-result-prefixes="gmd"> + + <xsl:import href="process-utility.xsl"/> + + <xsl:param name="dataDir"/> + + <!-- i18n information --> + <xsl:variable name="inspire-conformity-loc"> + <msg id="a" xml:lang="en">INSPIRE theme(s) found. Run this task to add an INSPIRE conformity section.</msg> + <msg id="a" xml:lang="fr">thème(s) INSPIRE trouvé(s). Exécuter cette action pour ajouter une section conformité + INSPIRE. + </msg> + </xsl:variable> + + <!-- TODO : retrieve local copy --> + <xsl:variable name="inspire-thesaurus" + select="document(concat(system-property(concat(substring-after($baseUrl, '/'), '.data.dir')), '/codelist/external/thesauri/theme/inspire-theme.rdf'))"/> + <!--<xsl:variable name="inspire-thesaurus" + select="document('http://geonetwork.svn.sourceforge.net/svnroot/geonetwork/utilities/gemet/thesauri/inspire-theme.rdf')"/>--> + + <xsl:variable name="inspire-theme" select="$inspire-thesaurus//skos:Concept"/> + + <xsl:template name="list-inspire-add-conformity"> + <suggestion process="inspire-add-conformity"/> + </xsl:template> + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-inspire-add-conformity"> + <xsl:param name="root"/> + + <!-- TODO : PT_FreeText ? --> + <xsl:variable name="inspire-theme-found" + select="count($inspire-thesaurus//skos:Concept[skos:prefLabel = $root//gmd:keyword/gco:CharacterString])"/> + <!-- Check no conformity --> + <xsl:if + test="$inspire-theme-found and count($root//gmd:DQ_DomainConsistency/gmd:result/gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title[contains(gco:CharacterString, 'INSPIRE')])=0"> + <suggestion process="inspire-add-conformity" category="keyword" target="keyword"> + <name> + <xsl:value-of select="$inspire-theme-found"/> + <xsl:value-of select="geonet:i18n($inspire-conformity-loc, 'a', $guiLang)"/> + </name> + <operational>true</operational> + <form/> + </suggestion> + </xsl:if> + </xsl:template> + + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + + <!-- ================================================================= --> + <!-- Add a dataQuality section to set INSPIRE conformance result + Set the report date to metadata date stamp --> + <!-- ================================================================= --> + <xsl:template match="/gmd:MD_Metadata|/*[@gco:isoType='gmd:MD_Metadata']"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:copy-of + select="gmd:fileIdentifier| + gmd:language| + gmd:characterSet| + gmd:parentIdentifier| + gmd:hierarchyLevel| + gmd:hierarchyLevelName| + gmd:contact| + gmd:dateStamp| + gmd:metadataStandardName| + gmd:metadataStandardVersion| + gmd:dataSetURI| + gmd:locale| + gmd:spatialRepresentationInfo| + gmd:referenceSystemInfo| + gmd:metadataExtensionInfo| + gmd:identificationInfo| + gmd:contentInfo| + gmd:distributionInfo| + gmd:dataQualityInfo"/> + + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeListValue="dataset" + codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode"/> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>INSPIRE Implementing rules</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date> + <xsl:value-of + select="substring-before(gmd:dateStamp/gco:DateTime, 'T')"/> + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString>-- More information on the test --</gco:CharacterString> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>1</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + + <xsl:copy-of + select="gmd:portrayalCatalogueInfo| + gmd:metadataConstraints| + gmd:applicationSchemaInfo| + gmd:metadataMaintenance| + gmd:series| + gmd:describes| + gmd:propertyType| + gmd:featureType| + gmd:featureAttribute" + /> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/inspire-add-dq-toporeport.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/inspire-add-dq-toporeport.xsl new file mode 100644 index 00000000000..7ea10d722c7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/inspire-add-dq-toporeport.xsl @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Suggest the creation of a default topological consistency report + when INSPIRE theme is set to Hydrography, Transport Networks or Utility and governmental services +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="2.0" + exclude-result-prefixes="gmd"> + + <xsl:import href="process-utility.xsl"/> + + <!-- i18n information --> + <xsl:variable name="inspire-add-dq-toporeport-loc"> + <msg id="a" xml:lang="en">INSPIRE theme(s) found. Run this task to add a topological + consistency section. + </msg> + <msg id="a" xml:lang="fr">thème(s) INSPIRE trouvé(s). Exécuter cette action pour ajouter une + section sur la cohérence topologique. + </msg> + </xsl:variable> + + <xsl:variable name="inspire-thesaurus-dq-topo" + select="document(concat(system-property(concat(substring-after($baseUrl, '/'), '.data.dir')), '/codelist/external/thesauri/theme/inspire-theme.rdf'))"/> + + <xsl:template name="list-inspire-add-dq-toporeport"> + <suggestion process="inspire-add-dq-toporeport"/> + </xsl:template> + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-inspire-add-dq-toporeport"> + <xsl:param name="root"/> + + <!-- TODO : PT_FreeText ? --> + <xsl:variable name="inspire-theme-found" + select="count($inspire-thesaurus-dq-topo//skos:Concept[ + skos:prefLabel = $root//gmd:keyword/gco:CharacterString and + ( + @rdf:about = 'http://rdfdata.eionet.europa.eu/inspirethemes/themes/8' or + @rdf:about = 'http://rdfdata.eionet.europa.eu/inspirethemes/themes/7' or + @rdf:about = 'http://rdfdata.eionet.europa.eu/inspirethemes/themes/19' + )])"/> + + <!-- Check no topological consistency section --> + <xsl:if test="$inspire-theme-found and count($root//gmd:DQ_TopologicalConsistency)=0"> + <suggestion process="inspire-add-dq-toporeport" category="keyword" target="keyword"> + <name> + <xsl:value-of select="$inspire-theme-found"/> + <xsl:value-of select="geonet:i18n($inspire-add-dq-toporeport-loc, 'a', $guiLang)"/> + </name> + <operational>true</operational> + <form/> + </suggestion> + </xsl:if> + </xsl:template> + + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + + <!-- ================================================================= --> + <!-- Add a topological consistency section --> + <!-- ================================================================= --> + <xsl:template match="/gmd:MD_Metadata|/*[@gco:isoType='gmd:MD_Metadata']"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:copy-of + select="gmd:fileIdentifier| + gmd:language| + gmd:characterSet| + gmd:parentIdentifier| + gmd:hierarchyLevel| + gmd:hierarchyLevelName| + gmd:contact| + gmd:dateStamp| + gmd:metadataStandardName| + gmd:metadataStandardVersion| + gmd:dataSetURI| + gmd:locale| + gmd:spatialRepresentationInfo| + gmd:referenceSystemInfo| + gmd:metadataExtensionInfo| + gmd:identificationInfo| + gmd:contentInfo| + gmd:distributionInfo"/> + + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <xsl:copy-of select="gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:scope"/> + <xsl:copy-of select="gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:report"/> + <gmd:report> + <gmd:DQ_TopologicalConsistency> + <gmd:nameOfMeasure gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:nameOfMeasure> + <gmd:measureDescription gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:measureDescription> + </gmd:DQ_TopologicalConsistency> + </gmd:report> + <xsl:copy-of select="gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage"/> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + + <xsl:copy-of + select="gmd:portrayalCatalogueInfo| + gmd:metadataConstraints| + gmd:applicationSchemaInfo| + gmd:metadataMaintenance| + gmd:series| + gmd:describes| + gmd:propertyType| + gmd:featureType| + gmd:featureAttribute" + /> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/inspire-themes-and-topiccategory.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/inspire-themes-and-topiccategory.xsl new file mode 100644 index 00000000000..9afb554b82a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/inspire-themes-and-topiccategory.xsl @@ -0,0 +1,416 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exslt="http://exslt.org/common" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:srv="http://www.isotc211.org/2005/srv" + version="2.0" exclude-result-prefixes="#all"> + <!-- + Analyze topic categories and INSPIRE themes in the metadata record and suggest to add matching : + + * missing topic category for current INSPIRE Themes + * missing INSPIRE theme for current topic category. + It makes easier to fill topic category according to INSPIRE themes and vice versa. + + The process is disabled by default in GeoNetwork because related to INSPIRE only. See iso19139/suggest.xsl file for configuration + + Mapping has been proposed by "Guide de saisie des éléments de métadonnées INSPIRE" + + TODO : Add INSPIRE themes translations when metadata record is multilingual + --> + <xsl:import href="process-utility.xsl"/> + + <xsl:variable name="inspire-th" + select="document(concat(system-property(concat(substring-after($baseUrl, '/'), '.data.dir')), '/codelist/external/thesauri/theme/inspire-theme.rdf'))"/> + + <xsl:variable name="itheme-topiccat-map"> + <!-- <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/1</itheme> + All + </entry>--> + <!--<entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/2</itheme> + All + </entry>--> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/3</itheme> + <topiccat>location</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/4</itheme> + <topiccat>boundaries</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/5</itheme> + <topiccat>location</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/6</itheme> + <topiccat>planningCadastre</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/7</itheme> + <topiccat>transportation</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/8</itheme> + <topiccat>inlandWaters</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/9</itheme> + <topiccat>environment</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/10</itheme> + <topiccat>elevation</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/11</itheme> + <topiccat>imageryBaseMapsEarthCover</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/12</itheme> + <topiccat>imageryBaseMapsEarthCover</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/13</itheme> + <topiccat>geoscientificInformation</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/14</itheme> + <topiccat>boundaries</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/15</itheme> + <topiccat>structure</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/16</itheme> + <topiccat>geoscientificInformation</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/17</itheme> + <topiccat>planningCadastre</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/18</itheme> + <topiccat>health</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/19</itheme> + <topiccat>utilitiesCommunication</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/20</itheme> + <topiccat>structure</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/21</itheme> + <topiccat>structure</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/22</itheme> + <topiccat>farming</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/23</itheme> + <topiccat>society</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/24</itheme> + <topiccat>planningCadastre</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/25</itheme> + <topiccat>geoscientificInformation</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/26</itheme> + <topiccat>climatologyMeteorologyAtmosphere</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/27</itheme> + <topiccat>climatologyMeteorologyAtmosphere</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/28</itheme> + <topiccat>oceans</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/29</itheme> + <topiccat>oceans</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/30</itheme> + <topiccat>biota</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/31</itheme> + <topiccat>biota</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/32</itheme> + <topiccat>biota</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/33</itheme> + <topiccat>economy</topiccat> + </entry> + <entry> + <itheme>http://rdfdata.eionet.europa.eu/inspirethemes/themes/34</itheme> + <topiccat>economy</topiccat> + </entry> + </xsl:variable> + + <!-- i18n information --> + <xsl:variable name="itheme-topiccat-loc"> + <msg id="a" xml:lang="en">INSPIRE Themes and/or topic categories found with missing matching items. Run this + suggestion to add all corresponding + values. + </msg> + <msg id="a" xml:lang="fr">thèmes INSPIRE et/ou des catégories ont été trouvés avec des correspondances manquantes. + Lancer ce processus pour ajouter les correspondances. + </msg> + </xsl:variable> + + + <xsl:template name="list-inspire-themes-and-topiccategory"> + <suggestion process="inspire-themes-and-topiccategory"/> + </xsl:template> + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-inspire-themes-and-topiccategory"> + <xsl:param name="root"/> + + <xsl:variable name="lang" select="if (normalize-space($root//gmd:MD_Metadata/gmd:language/gco:CharacterString + |$root//gmd:MD_Metadata/gmd:language/gmd:LanguageCode/@codeListValue)='') + then 'en' + else + substring($root//gmd:MD_Metadata/gmd:language/gco:CharacterString + |$root//gmd:MD_Metadata/gmd:language/gmd:LanguageCode/@codeListValue, 1, 2) + "/> + + <xsl:variable name="mappingAvailable"> + <!-- For all theme in metadata language --> + <xsl:for-each select="$inspire-th//skos:Concept[skos:prefLabel/@xml:lang = normalize-space($lang)]"> + <xsl:variable name="themeLabel" select="skos:prefLabel[@xml:lang = normalize-space($lang)]"/> + <!-- if in metadata --> + <xsl:if test="$root//gmd:keyword[gco:CharacterString = $themeLabel]"> + <xsl:variable name="themeId" select="@rdf:about"/> + <!-- and corresponding topic cat does not exist in metadata --> + <xsl:for-each select="$itheme-topiccat-map/entry[itheme=$themeId]/topiccat"> + <xsl:variable name="tcId" select="."/> + <xsl:if test="count($root//gmd:topicCategory[gmd:MD_TopicCategoryCode = normalize-space($tcId)]) != 1"> + YES + </xsl:if> + </xsl:for-each> + </xsl:if> + </xsl:for-each> + <xsl:for-each select="$root//gmd:topicCategory/gmd:MD_TopicCategoryCode"> + <xsl:variable name="tcId" select="."/> + + <xsl:for-each select="$itheme-topiccat-map/entry[topiccat = $tcId]/itheme"> + <xsl:variable name="themeId" select="."/> + <xsl:variable name="themeLabel" + select="$inspire-th//skos:Concept[@rdf:about = $themeId]/skos:prefLabel[@xml:lang = normalize-space($lang)]"/> + + <xsl:if test="count($root//gmd:keyword[gco:CharacterString = $themeLabel]) != 1"> + YES + </xsl:if> + </xsl:for-each> + </xsl:for-each> + </xsl:variable> + + + <xsl:if test="normalize-space($mappingAvailable)!=''"> + <suggestion process="inspire-themes-and-topiccategory" category="keyword" target="keyword"> + <name> + <xsl:value-of select="geonet:i18n($itheme-topiccat-loc, 'a', $guiLang)"/> + </name> + <operational>true</operational> + <form/> + </suggestion> + </xsl:if> + </xsl:template> + + + <xsl:template + match="gmd:identificationInfo/gmd:MD_DataIdentification| + gmd:identificationInfo/*[@gco:isoType='gmd:MD_DataIdentification']| + gmd:identificationInfo/srv:SV_ServiceIdentification| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']" + priority="2"> + + <xsl:copy> + <xsl:copy-of select="@*"/> + <!-- Copy all elements from AbstractMD_IdentificationType--> + <xsl:copy-of + select="gmd:citation + |gmd:abstract + |gmd:purpose + |gmd:credit + |gmd:status + |gmd:pointOfContact + |gmd:resourceMaintenance + |gmd:graphicOverview + |gmd:resourceFormat + |gmd:descriptiveKeywords[not(contains(*/gmd:thesaurusName[1]/gmd:CI_Citation/gmd:title/gco:CharacterString, 'INSPIRE'))]"/> + + <!-- Add INSPIRE themes according to topic category. --> + <xsl:variable name="existingInspireThemes" + select="gmd:descriptiveKeywords[contains(*/gmd:thesaurusName/gmd:CI_Citation/gmd:title/gco:CharacterString, 'INSPIRE')]"/> + + <!-- Default language is english if not set + else use the 2 first letter of the language code (skos xml:lang attribute is ISO 2 letter code) + --> + <xsl:variable name="lang" select="if (normalize-space(//gmd:MD_Metadata/gmd:language/gco:CharacterString + |//gmd:MD_Metadata/gmd:language/gmd:LanguageCode/@codeListValue)='') + then 'en' + else + substring(//gmd:MD_Metadata/gmd:language/gco:CharacterString + |//gmd:MD_Metadata/gmd:language/gmd:LanguageCode/@codeListValue, 1, 2) + "/> + <xsl:variable name="mdKeywords" select="gmd:descriptiveKeywords"/> + <xsl:variable name="missing-inspirethemes"> + <xsl:for-each select="gmd:topicCategory/gmd:MD_TopicCategoryCode"> + <xsl:variable name="tcId" select="."/> + + <xsl:for-each select="$itheme-topiccat-map/entry[topiccat = $tcId]/itheme"> + <xsl:variable name="themeId" select="."/> + <xsl:variable name="themeLabel" + select="$inspire-th//skos:Concept[@rdf:about = $themeId]/skos:prefLabel[@xml:lang = normalize-space($lang)]"/> + + <xsl:if test="count($mdKeywords//gmd:keyword[gco:CharacterString = $themeLabel]) != 1"> + <elem> + <xsl:value-of select="$themeLabel"/> + </elem> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + </xsl:variable> + + <xsl:choose> + <xsl:when test="normalize-space($missing-inspirethemes) != ''"> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <xsl:copy-of select="$existingInspireThemes/gmd:MD_Keywords/gmd:keyword"/> + <xsl:for-each-group select="exslt:node-set($missing-inspirethemes)//elem" group-by="."> + <gmd:keyword> + <!-- TODO : add translation according to gmd:locale--> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:keyword> + </xsl:for-each-group> + + <gmd:type> + <gmd:MD_KeywordTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <xsl:choose> + <xsl:when test="$existingInspireThemes/gmd:MD_Keywords/gmd:thesaurusName"> + <xsl:copy-of select="$existingInspireThemes[1]/gmd:MD_Keywords/gmd:thesaurusName"/> + </xsl:when> + <xsl:otherwise> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString> + <xsl:value-of select="$inspire-th//skos:ConceptScheme/dc:title"/> + </gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date> + <xsl:value-of select="$inspire-th//skos:ConceptScheme/dcterms:issued"/> + </gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:thesaurusName> + </xsl:otherwise> + </xsl:choose> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$existingInspireThemes"/> + </xsl:otherwise> + </xsl:choose> + + <xsl:copy-of + select="gmd:resourceSpecificUsage + |gmd:resourceConstraints + |gmd:aggregationInfo"/> + <xsl:copy-of + select="gmd:spatialRepresentationType + |gmd:spatialResolution + |gmd:language + |gmd:characterSet + |gmd:topicCategory"/> + + <!-- Add topic categories according to INSPIRE themes. --> + <xsl:variable name="ident" select="."/> + <xsl:variable name="missing-topiccat"> + <xsl:for-each select="$inspire-th//skos:Concept[skos:prefLabel/@xml:lang = normalize-space($lang)]"> + <xsl:variable name="themeLabel" select="skos:prefLabel[@xml:lang = normalize-space($lang)]"/> + <!-- if in metadata --> + <xsl:if test="$ident//gmd:keyword[gco:CharacterString = $themeLabel]"> + <xsl:variable name="themeId" select="@rdf:about"/> + <!-- and corresponding topic cat does not exist in metadata --> + <xsl:for-each select="$itheme-topiccat-map/entry[itheme=$themeId]/topiccat"> + <xsl:variable name="tcId" select="."/> + <xsl:if test="count($ident//gmd:topicCategory[gmd:MD_TopicCategoryCode = normalize-space($tcId)]) != 1"> + <elem> + <xsl:value-of select="$tcId"/> + </elem> + </xsl:if> + </xsl:for-each> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:for-each-group select="exslt:node-set($missing-topiccat)//elem" group-by="."> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode> + <xsl:value-of select="."/> + </gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + </xsl:for-each-group> + + <xsl:copy-of + select="gmd:environmentDescription + |gmd:extent + |gmd:supplementalInformation"/> + + + <!-- Service --> + <xsl:copy-of + select="srv:* + "/> + </xsl:copy> + </xsl:template> + + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/keywords-comma-exploder.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/keywords-comma-exploder.xsl new file mode 100644 index 00000000000..7580999e94c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/keywords-comma-exploder.xsl @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" version="2.0"> + + <xsl:import href="process-utility.xsl"/> + + + <!-- i18n information --> + <xsl:variable name="keyword-comma-loc"> + <msg id="a" xml:lang="en">Keyword field contains "," (ie.</msg> + <msg id="b" xml:lang="en">). Run this task to explode that keywords.</msg> + <msg id="a" xml:lang="fr">Un mot clé contient le caractère "," (ie.</msg> + <msg id="b" xml:lang="fr">). Exécuter cette action pour le corriger.</msg> + <msg id="c" xml:lang="en">and</msg> + <msg id="c" xml:lang="fr">et</msg> + </xsl:variable> + + <xsl:template name="list-keywords-comma-exploder"> + <suggestion process="keywords-comma-exploder"/> + </xsl:template> + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-keywords-comma-exploder"> + <xsl:param name="root"/> + <xsl:variable name="keywordWithComma" + select="$root//gmd:keyword[contains(gco:CharacterString, ',')]"/><!-- TODO : PT_FreeText --> + <xsl:if test="$keywordWithComma"> + <suggestion process="keywords-comma-exploder" id="{generate-id()}" category="keyword" target="keyword"> + <name xml:lang="en"> + <xsl:value-of select="geonet:i18n($keyword-comma-loc, 'a', $guiLang)"/> + <xsl:value-of select="string-join($keywordWithComma, geonet:i18n($keyword-comma-loc, 'c', $guiLang))"/> + <xsl:value-of select="geonet:i18n($keyword-comma-loc, 'b', $guiLang)"/> + </name> + <operational>true</operational> + <form/> + </suggestion> + </xsl:if> + </xsl:template> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Always remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- Apply to all keywords having "," in it. --> + <xsl:template match="gmd:MD_Keywords" priority="2"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:for-each select="gmd:keyword"> + <xsl:call-template name="explode-keyword"> + <xsl:with-param name="value" select="gco:CharacterString"/> + <xsl:with-param name="separator" select="','"/> + </xsl:call-template> + </xsl:for-each> + <xsl:copy-of select="gmd:type"/> + </xsl:copy> + </xsl:template> + + + <!-- Take each token separated by the separator + and create as many elements as needed --> + <xsl:template name="explode-keyword"> + <xsl:param name="value"/> + <xsl:param name="separator"/> + + <gmd:keyword> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="contains($value, $separator)"> + <xsl:value-of select="normalize-space(substring-before($value, $separator))"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$value"/> + </xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + <xsl:copy-of select="gmd:PT_FreeText"/> + </gmd:keyword> + + <xsl:if test="contains($value, $separator)"> + <xsl:call-template name="explode-keyword"> + <xsl:with-param name="value" select="substring-after($value, $separator)"/> + <xsl:with-param name="separator" select="$separator"/> + </xsl:call-template> + </xsl:if> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/keywords-mapper.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/keywords-mapper.xsl new file mode 100644 index 00000000000..76eabcadafe --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/keywords-mapper.xsl @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common" + xmlns:geonet="http://www.fao.org/geonetwork" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" version="1.0" exclude-result-prefixes="exslt"> + + <!-- The keyword separator --> + <xsl:param name="separator">;</xsl:param> + <!-- The keyword to search for --> + <xsl:param name="search">key1;key2/</xsl:param> + <!-- The keyword to put in --> + <xsl:param name="replace">newkey1;newkey2</xsl:param> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- Build a map from the inputs parameters --> + <xsl:variable name="map"> + <xsl:for-each select="tokenize($search, $separator)"> + <xsl:variable name="pos" select="position()"/> + <map key="{.}" value="{tokenize($replace, $separator)[position() = $pos]}"/> + </xsl:for-each> + </xsl:variable> + + <!-- Map all keywords to new value. + If no new value define, current value is used. --> + <xsl:template match="gmd:keyword" priority="2"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + + <xsl:variable name="mapNodes" select="exslt:node-set($map)"/> + <xsl:variable name="currentValue" select="gco:CharacterString"/> + <xsl:variable name="newValue" select="$mapNodes/map[@key=$currentValue]/@value"/> + <!--<xsl:message>Mapping '<xsl:value-of select="$currentValue"/>' with '<xsl:value-of select="$newValue"/>'</xsl:message>--> + <gco:CharacterString> + <xsl:choose> + <xsl:when test="$newValue!=''"> + <xsl:value-of select="$newValue"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$currentValue"/> + </xsl:otherwise> + </xsl:choose> + </gco:CharacterString> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/linked-data-checker.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/linked-data-checker.xsl new file mode 100644 index 00000000000..03446332b69 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/linked-data-checker.xsl @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:java="java:org.fao.geonet.util.XslUtil" version="2.0" exclude-result-prefixes="#all"> + + <xsl:import href="process-utility.xsl"/> + + <xsl:param name="linkUrl"/> + + <!-- i18n information --> + <xsl:variable name="linked-data-checker-loc"> + <msg id="a" xml:lang="en">return an error (</msg> + <msg id="b" xml:lang="en">). Run this task to remove it.</msg> + <msg id="a" xml:lang="fr">a retourné une erreur (</msg> + <msg id="b" xml:lang="fr">). Si l'erreur persiste, corriger le lien manuellement ou exécuter cette action pour le + supprimer. + </msg> + </xsl:variable> + + <xsl:template name="list-linked-data-checker"> + <suggestion process="linked-data-checker"/> + </xsl:template> + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-linked-data-checker"> + <xsl:param name="root"/> + + <!-- Check URL --> + <xsl:variable name="httpLinks" + select="$root//*[starts-with(., 'http') and name(..) != 'geonet:info']"/> + <xsl:for-each-group select="$httpLinks" group-by="."> + <xsl:call-template name="checkUrl"> + <xsl:with-param name="url" select="."/> + </xsl:call-template> + </xsl:for-each-group> + </xsl:template> + + <xsl:template name="checkUrl"> + <xsl:param name="url"/> + <xsl:param name="type"/> + + <xsl:variable name="status" select="java:getUrlStatus($url)"/> + <!-- <xsl:message>Check:<xsl:value-of select="."/>|<xsl:value-of select="$status"/></xsl:message> + --> + <xsl:if test="$status!=''"> + <suggestion process="linked-data-checker" id="{generate-id()}" category="links" target="all"> + <name xml:lang="en"> + <xsl:value-of select="$type"/> + <xsl:value-of select="."/> + <xsl:value-of select="geonet:i18n($linked-data-checker-loc, 'a', $guiLang)"/> + <xsl:value-of select="$status"/> + <xsl:value-of select="geonet:i18n($linked-data-checker-loc, 'b', $guiLang)"/> + </name> + <operational>true</operational> + <params>{ linkUrl:{type:'string', defaultValue:'<xsl:value-of select="normalize-space($url)"/>'} + } + </params> + </suggestion> + </xsl:if> + </xsl:template> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Always remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- Remove the link. TODO : remove the parent ? --> + <xsl:template match="*[text()=$linkUrl]" priority="2"/> + + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update-clean-changes.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update-clean-changes.xsl new file mode 100644 index 00000000000..d769dbd8708 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update-clean-changes.xsl @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + version="1.0" exclude-result-prefixes="gmd geonet che"> + + + <!-- ================================================================= --> + + <xsl:template match="che:CHE_MD_Metadata"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates select="node()"/> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + + + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + <xsl:template match="@geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update-extract-changes.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update-extract-changes.xsl new file mode 100644 index 00000000000..4ee05d439b9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update-extract-changes.xsl @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + version="2.0" + exclude-result-prefixes="gmd xsl geonet che"> + + <xsl:template match="che:CHE_MD_Metadata"> + <changes> + <xsl:apply-templates select="@*|node()"/> + </changes> + </xsl:template> + + <xsl:template match="*[@geonet:change]"> + <change> + <fieldid> + <xsl:value-of select="@geonet:change"/> + </fieldid> + <originalval> + <xsl:value-of select="@geonet:original"/> + </originalval> + <changedval> + <xsl:value-of select="@geonet:new"/> + </changedval> + </change> + </xsl:template> + + + <xsl:template match="@*|node()"> + <xsl:apply-templates select="@*|node()"/> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update.xsl new file mode 100644 index 00000000000..474da0c31a7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/massive-content-update.xsl @@ -0,0 +1,1395 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" version="2.0" + exclude-result-prefixes="gmd xsl gco srv geonet che"> + + + <!-- Example of replacements parameter: + + <replacements> + <caseInsensitive>i</caseInsensitive> + <replacement> + <field>id.contact.individualName</field> + <searchValue>John Doe</searchValue> + <replaceValue>Jennifer Smith</replaceValue> + </replacement> + <replacement> + <field>id.contact.organisationName</field> + <searchValue>Acme</searchValue> + <replaceValue>New Acme</replaceValue> + </replacement> + </replacements> + --> + <xsl:param name="replacements"/> + + <!-- by default is case sensitive, sending i value in the param makes replacements case insensitive --> + <xsl:variable name="case_insensitive" select="$replacements/replacements/caseInsensitive"/> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- METADATA CONTACT updates: che:CHE_MD_Metadata/gmd:contact --> + <!-- individualName --> + <xsl:template match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.individualName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- organisationName --> + <xsl:template match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.organisationName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- voice --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.voicePhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- facsimile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.faxPhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- deliveryPoint --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.address</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- city --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.city</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- administrativeArea/province --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.province</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- postalCode --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.postalCode</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- country --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.country</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- email --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.email</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- hoursOfService --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.hoursOfService</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- contactInstructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.contactInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.or.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource protocol --> + <!--<xsl:template match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:protocol"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.or.protocol</xsl:with-param> + </xsl:call-template> + </xsl:template>--> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.or.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.or.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.contact.or.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- IDENTIFICATION updates: che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact --> + <!-- individualName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.individualName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- organisationName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.organisationName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- voice --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.voicePhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- facsimile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.faxPhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- deliveryPoint --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.address</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- city --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.city</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- administrativeArea/province --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.province</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- postalCode --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.postalCode</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- country --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.country</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- email --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.email</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- hoursOfService --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.hoursOfService</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- contactInstructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.contactInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.or.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.or.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.or.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.poc.or.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- abstract --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:abstract|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:abstract"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.abstract</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- purpose --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:purpose|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:purpose"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.purpose</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- IDENTIFICATION CITATION updates: che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/che:CHE_CI_ResponsibleParty --> + <!-- individualName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.individualName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- organisationName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.organisationName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- voice --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.voicePhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- facsimile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.faxPhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- deliveryPoint --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.address</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- city --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.city</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- administrativeArea/province --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.province</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- postalCode --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.postalCode</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- country --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.country</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- email --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.email</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.or.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.or.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.or.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.or.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- hoursOfService --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.hoursOfService</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- contactInstructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.citation.contactInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- keywords --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.keyword</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- resource constraints general - use limitation --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceConstraints/gmd:MD_Constraints/gmd:useLimitation|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:resourceConstraints/gmd:MD_Constraints/gmd:useLimitation"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.resc.gc.useLimitation</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- resource constraints legal - use limitation --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceConstraints/che:CHE_MD_LegalConstraints/gmd:useLimitation|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:resourceConstraints/che:CHE_MD_LegalConstraints/gmd:useLimitation"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.resc.lc.useLimitation</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- resource constraints legal - other constraints --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceConstraints/che:CHE_MD_LegalConstraints/gmd:otherConstraints|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:resourceConstraints/che:CHE_MD_LegalConstraints/gmd:otherConstraints"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.resc.lc.otherConstraints</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- resource constraints security - use limitation --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/che:CHE_MD_DataIdentification/gmd:resourceConstraints/gmd:MD_SecurityConstraints/gmd:useLimitation|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='che:CHE_MD_DataIdentification']/gmd:resourceConstraints/gmd:MD_SecurityConstraints/gmd:useLimitation"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.dataid.resc.sc.useLimitation</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- SERVICE IDENTIFICATION --> + <!-- abstract --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:abstract|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:abstract"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.abstract</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- purpose --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:purpose|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:purpose"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.purpose</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- individualName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.individualName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- organisationName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.organisationName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- voice --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.voicePhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- facsimile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.faxPhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- deliveryPoint --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.address</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- city --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.city</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- administrativeArea/province --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.province</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- postalCode --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.postalCode</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- country --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.country</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- email --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.email</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.or.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.or.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.or.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.or.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- hoursOfService --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.hoursOfService</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- contactInstructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.citation.contactInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- poc --> + <!-- individualName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.individualName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- organisationName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.organisationName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- voice --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.voicePhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- facsimile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.faxPhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- deliveryPoint --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.address</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- city --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.city</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- administrativeArea/province --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.province</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- postalCode --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.postalCode</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- country --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.country</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- email --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.email</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- hoursOfService --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.hoursOfService</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- contactInstructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.contactInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.or.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.or.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.or.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.poc.or.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- connect point --> + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.connectpoint.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:applicationProfile|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.connectpoint.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:name|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.connectpoint.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:description|che:CHE_MD_Metadata/gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">id.serviceid.connectpoint.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- MAINTENANCE INFORMATION updates: che:CHE_MD_Metadata/gmd:metadataMaintenance --> + <!-- individualName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.individualName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- individualName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.organisationName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- voice --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.voicePhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- facsimile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.faxPhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- deliveryPoint --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.address</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- city --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.city</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- administrativeArea/province --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.province</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- country --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.country</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- postalCode --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.postalCode</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- email --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.email</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.or.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.or.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.or.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.or.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- hoursOfService --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.hoursOfService</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- contactInstructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:metadataMaintenance/che:CHE_MD_MaintenanceInformation/gmd:contact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">mi.contact.contactInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- CONTENT INFORMATION updates: che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty --> + <!-- individualName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.individualName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- organisationName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.organisationName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- voice --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.voicePhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- facsimile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.faxPhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- deliveryPoint --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.address</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- city --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.city</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- administrative area --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.province</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- postal code --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.postalCode</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- country --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.country</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- email --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.email</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- hours of service --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.hoursOfService</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- contact instructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.contactInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.or.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.or.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.or.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:contentInfo/che:CHE_MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation/gmd:CI_Citation/gmd:citedResponsibleParty/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">ci.citation.or.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- DISTRIBUTION INFORMATION updates: che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution --> + <!-- individualName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/*[name()='che:individualFirstName' or name()='che:individualLastName']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.individualName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- organisationName --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/*[name()='gmd:organisationName' or name()='che:organisationAcronym']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.organisationName</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- voice --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/*[name()='gmd:voice' or name()='che:directNumber' or name()='che:mobile']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.voicePhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- facsimile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.faxPhone</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- deliveryPoint --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/*[name()='che:streetName' or name()='che:streetNumber']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.address</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- city --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:city"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.city</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- administrative area --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:administrativeArea"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.province</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- country --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:country"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.country</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- postal code --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:postalCode"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.postalCode</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- email --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/che:CHE_CI_Address/gmd:electronicMailAddress"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.email</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- hours of service --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.hoursOfService</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.or.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource protocol --> + <!--<xsl:template match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:protocol|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:protocol"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.or.protocol</xsl:with-param> + </xsl:call-template> + </xsl:template>--> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.or.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.or.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.or.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- contact instructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/che:CHE_CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.contact.contactInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- fees --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:fees|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:fees"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.fees</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- ordering instructions --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:orderingInstructions|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:orderingInstructions"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.orderingInstructions</xsl:with-param> + </xsl:call-template> + </xsl:template> + + + <!-- transfer options --> + <!-- onlineResource url --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage//*[name()='gmd:URL' or name()='che:LocalisedURL']"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.transferOptions.url</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource protocol --> + <!--<xsl:template match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:protocol|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:protocol"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.transferOptions.protocol</xsl:with-param> + </xsl:call-template> + </xsl:template>--> + + <!-- onlineResource app profile --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:applicationProfile|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:applicationProfile"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.transferOptions.ap</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource name --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:name|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:CI_OnlineResource/gmd:name"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.transferOptions.name</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- onlineResource description --> + <xsl:template + match="che:CHE_MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:description|*[@gco:isoType='che:CHE_MD_Metadata']/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:description"> + <xsl:call-template name="replaceField"> + <xsl:with-param name="fieldId">di.transferOptions.description</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- + Field replacement template. Checks if a replacement for the field is defined to apply it, otherwise copies the field value. + --> + <xsl:template name="replaceField"> + <xsl:param name="fieldId"/> + + <xsl:copy> + <xsl:copy-of select="@*"/> + + <xsl:choose> + <!-- A replacement defined for the field, apply it --> + <xsl:when + test="$replacements/replacements/replacement[field = $fieldId] and string($replacements/replacements/replacement[field = $fieldId]/searchValue)"> + + <xsl:choose> + <!-- gmd:URL --> + <xsl:when test="name() = 'gmd:URL' or name() = 'che:LocalisedURL'"> + <xsl:call-template name="replaceValueForField"> + <xsl:with-param name="fieldId" select="$fieldId"/> + <xsl:with-param name="value" select="."/> + </xsl:call-template> + </xsl:when> + + <!-- Fields with gco:CharacterString --> + <xsl:when test="name(*[1]) = 'gco:CharacterString'"> + <gco:CharacterString> + <xsl:call-template name="replaceValueForField"> + <xsl:with-param name="fieldId" select="$fieldId"/> + <xsl:with-param name="value" select="gco:CharacterString"/> + </xsl:call-template> + </gco:CharacterString> + + <xsl:if test="gmd:PT_FreeText"> + <xsl:for-each select="gmd:PT_FreeText"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:for-each select="gmd:textGroup"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:for-each select="gmd:LocalisedCharacterString"> + <gmd:LocalisedCharacterString locale="{@locale}"> + <xsl:call-template name="replaceValueForField"> + <xsl:with-param name="fieldId" select="$fieldId"/> + <xsl:with-param name="value" select="."/> + </xsl:call-template> + </gmd:LocalisedCharacterString> + </xsl:for-each> + </xsl:copy> + </xsl:for-each> + </xsl:copy> + + </xsl:for-each> + </xsl:if> + </xsl:when> + + <!-- Other type, just copy them --> + <xsl:otherwise> + <xsl:apply-templates select="@*|node()"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <!-- No replacement defined, just process the field to copy it --> + <xsl:otherwise> + <xsl:apply-templates select="@*|node()"/> + </xsl:otherwise> + </xsl:choose> + </xsl:copy> + + </xsl:template> + + <!-- + Template to manage about a field value replacement using the case insensitive parameter. + --> + <xsl:template name="replaceValueForField"> + <xsl:param name="fieldId"/> + <xsl:param name="value"/> + + <xsl:choose> + <xsl:when test="string($case_insensitive)"> + <xsl:call-template name="replaceCaseInsensitive"> + <xsl:with-param name="fieldId" select="$fieldId"/> + <xsl:with-param name="currentValue" select="$value"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="replaceCaseSensitive"> + <xsl:with-param name="fieldId" select="$fieldId"/> + <xsl:with-param name="currentValue" select="$value"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <xsl:template name="replaceCaseInsensitive"> + <xsl:param name="fieldId"/> + <xsl:param name="currentValue"/> + + <xsl:variable name="newValue" + select="replace($currentValue, $replacements/replacements/replacement[field = $fieldId]/searchValue, $replacements/replacements/replacement[field = $fieldId]/replaceValue, $case_insensitive)"/> + + <!--<xsl:message>====== replaceCaseInsensitive fieldId:<xsl:value-of select="$fieldId" /></xsl:message> + <xsl:message>====== replaceCaseInsensitive currentVal:<xsl:value-of select="$currentValue" /></xsl:message> + <xsl:message>====== replaceCaseInsensitive newVal:<xsl:value-of select="$newValue" /></xsl:message>--> + + + <xsl:if test="$currentValue != $newValue"> + <xsl:attribute name="geonet:change" select="$fieldId"/> + <xsl:attribute name="geonet:original" select="$currentValue"/> + <xsl:attribute name="geonet:new" select="$newValue"/> + </xsl:if> + + <xsl:value-of select="$newValue"/> + </xsl:template> + + + <xsl:template name="replaceCaseSensitive"> + <xsl:param name="fieldId"/> + <xsl:param name="currentValue"/> + + <xsl:variable name="newValue" + select="replace($currentValue, $replacements/replacements/replacement[field = $fieldId]/searchValue, $replacements/replacements/replacement[field = $fieldId]/replaceValue)"/> + + <!--<xsl:message>====== replaceCaseSensitive fieldId:<xsl:value-of select="$fieldId" /></xsl:message> + <xsl:message>====== replaceCaseSensitive currentVal:<xsl:value-of select="$currentValue" /></xsl:message> + <xsl:message>====== replaceCaseSensitive newVal:<xsl:value-of select="$newValue" /></xsl:message>--> + + <xsl:if test="$currentValue != $newValue"> + <xsl:attribute name="geonet:change" select="$fieldId"/> + <xsl:attribute name="geonet:original" select="$currentValue"/> + <xsl:attribute name="geonet:new" select="$newValue"/> + </xsl:if> + + <xsl:value-of select="$newValue"/> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/migration3_4.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/migration3_4.xsl new file mode 100644 index 00000000000..a2c37c69aed --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/migration3_4.xsl @@ -0,0 +1,368 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gml="http://www.opengis.net/gml" + xmlns:sdi="http://www.easysdi.org/2011/sdi" + xmlns:xalan="http://xml.apache.org/xalan" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + exclude-result-prefixes="#all" + version="2.0"> + + <!-- Migration process for iso19139.che metadata for version 3.4 --> + <xsl:output method="xml" indent="yes"/> + + <xsl:param name="nodeUrl" select="'https://www.geocat.ch/geonetwork/srv/'"/> + + <xsl:variable name="uuid" + select="*/gmd:fileIdentifier/*/text()"/> + + <xsl:variable name="langs" + select="*/gmd:language/gco:CharacterString| + */gmd:language/gmd:LanguageCode/@codeListValue| + */gmd:locale/gmd:PT_Locale/gmd:languageCode/gmd:LanguageCode/@codeListValue"/> + + + + <xsl:variable name="sb218matchText" + select="'Modèle de géodonnées'"/> + + <xsl:variable name="isInScopeOfSb218" + select="count(*/gmd:identificationInfo/*/gmd:citation/*/ + gmd:title[ + starts-with(gco:CharacterString, $sb218matchText) or + */gmd:textGroup/gmd:LocalisedCharacterString[ + starts-with(., $sb218matchText)] + ]) = 1"/> + + + + <xsl:variable name="hasExpiryDate" + select="count(//gmd:CI_DateTypeCode[@codeListValue = 'expiry']) > 0"/> + <!-- + Remove hardcoded schemaLocation in records. Schema location + is added by the application depending on the schema configuration + (see schema-ident.xml). + https://jira.swisstopo.ch/browse/MGEO_SB-2 + + Try to cleanup namespaces by defining them at the root element level. + --> + <xsl:template match="che:CHE_MD_Metadata"> + <xsl:copy copy-namespaces="no"> + <xsl:namespace name="che" select="'http://www.geocat.ch/2008/che'"/> + <xsl:namespace name="gmd" select="'http://www.isotc211.org/2005/gmd'"/> + <xsl:namespace name="gco" select="'http://www.isotc211.org/2005/gco'"/> + <xsl:namespace name="gmx" select="'http://www.isotc211.org/2005/gmx'"/> + <xsl:namespace name="gts" select="'http://www.isotc211.org/2005/gts'"/> + <xsl:namespace name="srv" select="'http://www.isotc211.org/2005/srv'"/> + <xsl:namespace name="gml" select="'http://www.opengis.net/gml'"/> + <xsl:namespace name="xsi" select="'http://www.w3.org/2001/XMLSchema-instance'"/> + <xsl:namespace name="xlink" select="'http://www.w3.org/1999/xlink'"/> + + <xsl:apply-templates select="@*|*"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="@xsi:schemaLocation"/> + + <!-- Remove all easysdi extension --> + <xsl:template match="sdi:*"/> + + <xsl:template match="gmd:topicCategory[count(*) = 0]"/> + + <xsl:template match="gmd:locale"> + <xsl:variable name="id" select="*/@id"/> + <xsl:if test="count(preceding-sibling::gmd:locale[*/@id = $id]) = 0"> + <xsl:copy-of select="." copy-namespaces="no"/> + </xsl:if> + </xsl:template> + + <!-- Encode language following INSPIRE rules --> + <xsl:template match="gmd:language[gco:CharacterString != '']"> + <xsl:element name="{name()}"> + <xsl:apply-templates select="@*"/> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" + codeListValue="{gco:CharacterString}"/> + </xsl:element> + </xsl:template> + <!-- Remove empty language which will break on schematron rule + checking non empty values in codelist --> + <xsl:template match="gmd:language[gco:CharacterString = '']"/> + + + <!-- Convert expiry codelist to lastRevision --> + <xsl:template match="gmd:CI_DateTypeCode/@codeListValue[. = 'expiry']"> + <xsl:attribute name="codeListValue">lastRevision</xsl:attribute> + </xsl:template> + + <!-- https://jira.swisstopo.ch/browse/MGEO_SB-218 + Move description to name for all gmd:CI_OnlineResource + where title starts with Modèle de géodonnées --> + <xsl:template match="gmd:CI_OnlineResource[$isInScopeOfSb218]"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:apply-templates select="gmd:linkage"/> + <xsl:apply-templates select="gmd:protocol"/> + <xsl:apply-templates select="gmd:applicationProfile"/> + <xsl:if test="gmd:description"> + <gmd:name> + <xsl:apply-templates select="gmd:description/*"/> + </gmd:name> + </xsl:if> + <xsl:if test="gmd:name"> + <gmd:description> + <xsl:apply-templates select="gmd:name/*"/> + </gmd:description> + </xsl:if> + <xsl:apply-templates select="gmd:function"/> + </xsl:copy> + </xsl:template> + + + <!-- Replace old link to resources.get to attachement API --> + <xsl:template match="text()[contains(., '/resources.get?')]"> + <xsl:value-of select="replace( + ., + '(.*)/([a-zA-Z0-9_\-]+)/([a-z]{2,3})/{1,2}resources.get\?.*fname=([\w,\s-]+\.[\w]+)(&amp;.*|$)', + concat($nodeUrl, 'api/records/', $uuid, '/attachments/$4') + )"/> + </xsl:template> + + <xsl:template match="gmd:MD_BrowseGraphic/gmd:fileName/gco:CharacterString[not(starts-with(., 'http'))]"> + <xsl:copy copy-namespaces="no"> + <xsl:apply-templates select="@*"/> + + <xsl:value-of select="concat($nodeUrl, 'api/records/', $uuid, '/attachments/', .)"/> + </xsl:copy> + </xsl:template> + + + <!-- XLink updates --> + <!-- Remove deprecated ones but keep what's in the resolved (if any elements) --> + <xsl:template match="@xlink:href[starts-with(., 'local://xml.reusable.deleted?')]"/> + <xsl:template match="@xlink:href[starts-with(., 'local://xml.format.get?id=')]"/> + <xsl:template match="@xlink:href[starts-with(., 'local://xml.user.get?')]"/> + + + <!-- Remove non validated Xlinks ? + eg. "local://xml.extent.get?id=255&amp;wfs=default&amp;typename=gn:non_validated&amp;format=GMD_BBOX&amp;extentTypeCode=true" --> + <xsl:template match="*[contains(@xlink:href, 'gn:non_validated')]"/> + + + <!-- Extent subtemplates are now located in metadata template + as subtemplate with a uuid like: geocatch-subtpl-extent-custom-{{oldId}} + + Reference dataset like canton, ... are also loaded in metadata table + with if like geocatch-subtpl-extent-{{type}}-{{uuid}}. + --> + <xsl:template match="@xlink:href[starts-with(., + 'http://www.geocat.ch:80/geonetwork/srv/deu/xml.extent.get?') or + starts-with(., 'local://xml.extent.get?')]"> + + <xsl:variable name="id" + select="replace(., '.*id=([0-9.]+)(&amp;.*|$)', '$1')"/> + <xsl:variable name="type" + select="replace(., '.*(featuretype|typename)=([A-Za-z0-9:_]+)(&amp;.*|$)', '$2')"/> + + + <!-- Shared object stored in xlinks tables are + now identified as custom. For reference dataset, + gn: prefix is removed (eg. gn:gemeindenBB) --> + <xsl:variable name="newType" + select="if ($type = 'gn:xlinks') + then 'custom' + else if ($type = 'gn:countries') + then 'landesgebiet' + else if ($type = 'gn:kantoneBB') + then 'kantonsgebiet' + else if ($type = 'gn:gemeindenBB') + then 'hoheitsgebiet' + else substring-after($type, ':')"/> + + <!-- Remap old id to new one + LANDESGEBIET(NAME)=CountriesBB(NAME) + KANTONSGEBIET(KANTONSNUM)=KantoneBB(KANTONSNR) + HOHEITSGEBIET(BFS_NUMMER)=gemeindenBB(OBJECTVAL) + --> + + <xsl:variable name="newId"> + <xsl:choose> + <xsl:when test="$newType = 'landesgebiet'"> + <xsl:value-of select="if ($id = '0') then 'CH' + else if ($id = '1') then 'LI' else $id"/> + </xsl:when> + <xsl:otherwise> + <!-- Old Ids were numerics--> + <xsl:value-of select="if (contains($id, '.')) + then substring-before($id, '.') + else $id"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:attribute name="xlink:href" select="concat('local://srv/api/registries/entries/', + 'geocatch-subtpl-extent-', $newType, '-', + normalize-space($newId), '?', + if (count($langs) > 0) + then concat('lang=', string-join(distinct-values($langs), '&amp;lang=')) + else '' + )"/> + </xsl:template> + + + + <!-- Old subtemplates are preserved, only the base URL is reworded + and the list of metadata language added. + --> + <xsl:template match="@xlink:href[starts-with(., 'local://subtemplate?')]"> + + <xsl:variable name="uuid" + select="replace(., '.*uuid=([a-z0-9-]+)(&amp;.*|$)', '$1')"/> + + <xsl:variable name="params" + select="replace(., '.*uuid=([a-z0-9-]+)(&amp;|$)(.*)', '$3')"/> + + <xsl:attribute name="xlink:href" select="concat( + 'local://srv/api/registries/entries/', + $uuid, '?', + if ($params != '') + then normalize-space($params) + else '', + if (count($langs) > 0) + then concat('&amp;lang=', + string-join(distinct-values($langs), '&amp;lang=')) + else '' + )"/> + </xsl:template> + + + <!-- Remove non validated XLinks. + eg. local://eng/xml.keyword.get?thesaurus=local._none_.non_validated&amp;id=http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%2301521da7-8aa1-42da-b73c-271f5c566def,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%23f5099d41-2b76-4efa-9736-918caccfa675,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%23c93b198f-156c-4dc0-a0a8-9a237bd7304c,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%2335d4f0be-449b-4f5d-b7c2-002160a07e17,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%236deb04a9-cb57-4020-8925-9bf69de563f4,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%230fe4668b-02f2-4800-a01c-8c381c15e03d,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%239e6e35d9-a2c7-4f31-8f3a-476bdb7bda37,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%238853db72-01d2-4df9-9567-fd6d2f3e3c1e,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%231f09df8a-d811-44be-8748-56d70437fef0,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%23a395a4c2-33da-4dc9-9282-9021173ef08a,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%23be8f32a1-54f2-41b8-96a1-48480f753df1,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%231d495352-eb56-4f5e-b7c7-94f23e8e5fca,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%23f2a4aaca-efdd-4927-8bb6-e750208ab19a,http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%23af1a6e79-f33e-4adf-87f1-b1671c6f35ce&amp;multiple=true&amp;lang=eng,ger,ita,fre,roh&amp;textgroupOnly=true&amp;skipdescriptivekeywords=true + --> + <xsl:template match="*[starts-with(@xlink:href, 'local://eng/xml.keyword.get?') and contains(@xlink:href, 'keyword.get?thesaurus=local._none_.non_validated')]" priority="10"/> + + <xsl:template match="@xlink:href[starts-with(., 'local://eng/xml.keyword.get?') or starts-with(., 'local://che.keyword.get?')]"> + + <!-- Extract parameters and remove old locales parameter which + is replaced by lang parameters. --> + <xsl:variable name="params" + select="replace( + replace( + replace( + replace(., + '(local://eng/xml.keyword.get\?|local://che.keyword.get\?)(.*)', '$2'), + '(&amp;locales=fr,en,de,it|&amp;lang=eng,ger,ita,fre,roh)', ''), + 'local._none_.geocat.ch', 'local.theme.geocat.ch'), + '&amp;multiple=true', '')"/> + + <xsl:attribute name="xlink:href" + select="concat('local://srv/api/registries/vocabularies/keyword?', + $params, + if (count($langs) > 0) + then concat('&amp;lang=', string-join(distinct-values($langs), '&amp;lang=')) + else '' + )"/> + </xsl:template> + + + + + <!-- + Parent identifier is replaced by aggregate with + association type 'crossReference'. + https://jira.swisstopo.ch/browse/MGEO_SB-73 + --> + <xsl:template match="gmd:parentIdentifier"/> + + <xsl:template match="gmd:identificationInfo/*"> + + <!-- In production, some service records contains + first an empty DataIdentification block that we ignore here --> + <xsl:if test="name(following-sibling::*[1]) != 'che:CHE_SV_ServiceIdentification' and + name(following-sibling::*[1]) != 'srv:SV_ServiceIdentification'"> + <xsl:element name="{name()}"> + <xsl:copy-of select="@*"/> + <xsl:apply-templates select="gmd:citation"/> + <xsl:apply-templates select="gmd:abstract"/> + <xsl:apply-templates select="gmd:purpose"/> + <xsl:apply-templates select="gmd:credit"/> + <xsl:apply-templates select="gmd:status"/> + + <!-- If expiry then flag record as completed --> + <xsl:if test="$hasExpiryDate and + count(gmd:status[gmd:MD_ProgressCode/@codeListValue = 'completed']) = 0"> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ProgressCode" + codeListValue="completed"/> + </gmd:status> + </xsl:if> + + <xsl:apply-templates select="gmd:pointOfContact"/> + <xsl:apply-templates select="gmd:resourceMaintenance"/> + <xsl:apply-templates select="gmd:graphicOverview"/> + <xsl:apply-templates select="gmd:resourceFormat"/> + <xsl:apply-templates select="gmd:descriptiveKeywords"/> + <xsl:apply-templates select="gmd:resourceSpecificUsage"/> + <xsl:apply-templates select="gmd:resourceConstraints"/> + <xsl:apply-templates select="gmd:aggregationInfo"/> + + <!-- Move the parent identifier to an aggregate--> + <xsl:variable name="parentIdentifier" + select="ancestor::che:CHE_MD_Metadata/gmd:parentIdentifier/gco:CharacterString"/> + <xsl:if test="normalize-space($parentIdentifier) != ''"> + <gmd:aggregationInfo> + <gmd:MD_AggregateInformation> + <gmd:aggregateDataSetIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString> + <xsl:value-of select="$parentIdentifier"/> + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:aggregateDataSetIdentifier> + <gmd:associationType> + <gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#DS_AssociationTypeCode" + codeListValue="largerWorkCitation"/> + </gmd:associationType> + </gmd:MD_AggregateInformation> + </gmd:aggregationInfo> + </xsl:if> + + <xsl:apply-templates select="gmd:spatialRepresentationType"/> + <xsl:apply-templates select="gmd:spatialResolution"/> + <xsl:apply-templates select="gmd:language"/> + <xsl:apply-templates select="gmd:characterSet"/> + <xsl:apply-templates select="gmd:topicCategory"/> + <xsl:apply-templates select="gmd:environmentDescription"/> + <xsl:apply-templates select="gmd:extent"/> + <xsl:apply-templates select="gmd:supplementalInformation"/> + + <xsl:apply-templates select="srv:*"/> + <xsl:apply-templates select="che:*"/> + </xsl:element> + </xsl:if> + </xsl:template> + + <!-- Do a copy of every nodes (removing extra namespaces) --> + <xsl:template match="*"> + <xsl:element name="{name()}"> + <xsl:apply-templates select="@*|node()"/> + </xsl:element> + </xsl:template> + + <!-- Do a copy of every attributes and text node. --> + <xsl:template match="@*|text()"> + <xsl:copy/> + </xsl:template> + + <!-- Always remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/migrationtest.xml b/iso19139.che/src/main/plugin/iso19139.che/process/migrationtest.xml new file mode 100644 index 00000000000..2b85a5ae525 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/migrationtest.xml @@ -0,0 +1,740 @@ +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:gml="http://www.opengis.net/gml" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:xlink="http://www.w3.org/1999/xlink" + gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>01cdc71a-e10b-43e4-9da5-236441836576</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:language> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset"/> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Fonds de plan</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:hierarchyLevelName> + <gco:CharacterString>Cartes de base</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:hierarchyLevelName> + <gco:CharacterString>Photos aériennes</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact xlink:href="local://srv/api/registries/entries/b40ae7ff-1875-483a-83c0-eca6bc4140fe?process=*//gmd:CI_RoleCode/@codeListValue~resourceProvider&amp;lang=fre&amp;lang=ger&amp;lang=ita&amp;lang=eng" + xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Responsable de projet</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Responsable de projet</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Responsable de projet</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Responsable de projet</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 32 889 67 50</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41 32 889 61 21</gco:CharacterString> + </gmd:facsimile> + <che:directNumber> + <gco:CharacterString>+41 32 889 47 69</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Neuchâtel</gco:CharacterString> + </gmd:city> + <gmd:administrativeArea> + <gco:CharacterString>République et canton de Neuchâtel</gco:CharacterString> + </gmd:administrativeArea> + <gmd:postalCode> + <gco:CharacterString>2003</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>francois.voisard@ne.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue de Tivoli</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>22</gco:CharacterString> + </che:streetNumber> + <che:addressLine> + <gco:CharacterString>Système d'Information du Territoire Neuchâtelois</gco:CharacterString> + </che:addressLine> + <che:postBox> + <gco:CharacterString>39</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.ne.ch/sitn</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.ne.ch/sitn</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.ne.ch/sitn</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.ne.ch/sitn</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Guichet cartographique du SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Guichet cartographique du SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Guichet cartographique du SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Guichet cartographique du SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Guichet cartographique en ligne du Canton de Neuchâtel</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Guichet cartographique en ligne du Canton de Neuchâtel</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Guichet cartographique en ligne du Canton de Neuchâtel</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Guichet cartographique en ligne du Canton de Neuchâtel</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>08.00-12.00 et 13.30-17.00 sauf le vendredi après-midi</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="resourceProvider"/> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>François</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Voisard</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SGRF – SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SGRF – SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">SGRF – SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:contact xlink:href="local://srv/api/registries/entries/73946384-438c-483c-9bc1-2f5ffb985809?process=*//gmd:CI_RoleCode/@codeListValue~pointOfContact&amp;lang=fre&amp;lang=ger&amp;lang=ita&amp;lang=eng" + xlink:title=""> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Géomaticienne</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 32 889 67 50</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41 32 889 61 21</gco:CharacterString> + </gmd:facsimile> + <che:directNumber> + <gco:CharacterString>+41 32 889 57 63</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Neuchâtel</gco:CharacterString> + </gmd:city> + <gmd:administrativeArea> + <gco:CharacterString>République et canton de Neuchâtel</gco:CharacterString> + </gmd:administrativeArea> + <gmd:postalCode> + <gco:CharacterString>2003</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>chantal.monnier@ne.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue de Tivoli</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>22</gco:CharacterString> + </che:streetNumber> + <che:addressLine> + <gco:CharacterString>Système d'Information du Territoire Neuchâtelois</gco:CharacterString> + </che:addressLine> + <che:postBox> + <gco:CharacterString>39</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.ne.ch/sitn</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.ne.ch/sitn</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Géoportail du canton de Neuchâtel</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Guichet cartographique en ligne du Canton de Neuchâtel</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Tous les matins de 08:00 à 12:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="pointOfContact"/> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Chantal</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Monnier</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SGRF -SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2017-08-18T13:29:47</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CH1903+/MN95, Système de coordonnées nationales (EPSG:2056)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">CH1903+/MN95, Système de coordonnées nationales (EPSG:2056)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">CH1903+/MN95, Système de coordonnées nationales (EPSG:2056)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Photo aérienne ImageONE 2009</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Photo aérienne ImageONE 2009</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2006-06-11</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="creation"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>ImageOne 2009 est un ensemble de photos aériennes rectifiées de 10 cm de résolution (orthophotos) sur les villes de la Chaux-de-Fonds et du Locle réalisée par la société Flotron AG pour tester la caméra Ultracam X. Elle a été achetée en partenariat entre le SITN et les 2 villes.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">ImageOne 2009 est un ensemble de photos aériennes rectifiées de 10 cm de résolution (orthophotos) sur les villes de la Chaux-de-Fonds et du Locle réalisée par la société Flotron AG pour tester la caméra Ultracam X. Elle a été achetée en partenariat entre le SITN et les 2 villes.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Utilisation pour pour la localisation, comme fond-de-plan, comme réseau routier, etc.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Utilisation pour pour la localisation, comme fond-de-plan, comme réseau routier, etc.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:pointOfContact xlink:href="local://srv/api/registries/entries/a9cff8ee-c96a-409d-8347-5b2f61ada284?process=*//gmd:CI_RoleCode/@codeListValue~pointOfContact&amp;lang=fre&amp;lang=ger&amp;lang=ita&amp;lang=eng" + xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Service de la géomatique et du registre foncier</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Chef d'équipe, responsable de projet</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Chef d'équipe, responsable de projet</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Chef d'équipe, responsable de projet</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Chef d'équipe, responsable de projet</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 32 889 67 50</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41 32 889 61 21</gco:CharacterString> + </gmd:facsimile> + <che:directNumber> + <gco:CharacterString>+41 32 889 47 83</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Neuchâtel</gco:CharacterString> + </gmd:city> + <gmd:administrativeArea> + <gco:CharacterString>République et canton de Neuchâtel</gco:CharacterString> + </gmd:administrativeArea> + <gmd:postalCode> + <gco:CharacterString>2003</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>marc.riedo@ne.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Tivoli</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>22</gco:CharacterString> + </che:streetNumber> + <che:addressLine> + <gco:CharacterString>Système d'Information du Territoire Neuchâtelois</gco:CharacterString> + </che:addressLine> + <che:postBox> + <gco:CharacterString>39</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.ne.ch/neat/site/jsp/rubrique/rubrique.jsp?StyleType=bleu&amp;CatId=6</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.ne.ch/neat/site/jsp/rubrique/rubrique.jsp?StyleType=bleu&amp;CatId=6</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.ne.ch/neat/site/jsp/rubrique/rubrique.jsp?StyleType=bleu&amp;CatId=6</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.ne.ch/neat/site/jsp/rubrique/rubrique.jsp?StyleType=bleu&amp;CatId=6</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>08.00 - 12.00 et 13.30 - 17.00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="pointOfContact"/> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Marc</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Riedo</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">SGRF - SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SGRF - SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SGRF - SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">SGRF - SITN</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:descriptiveKeywords xlink:href="local://eng/xml.keyword.get??thesaurus=local._none_.geocat.ch&amp;id=http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%233e478930-8a66-4821-99e4-9e2a57781895,http%3A%2F%2Fgeocat.ch%2Fconcept%23126&amp;lang=eng,ger,ita,fre,roh&amp;textgroupOnly=true&amp;skipdescriptivekeywords=true&amp;lang=fre&amp;lang=ger&amp;lang=ita&amp;lang=eng&amp;lang=eng,ger,ita,fre,roh"/> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_SpatialRepresentationTypeCode" + codeListValue="grid"/> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:distance> + <gco:Distance uom="m">0.1</gco:Distance> + </gmd:distance> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:language> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory/> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>imageryBaseMapsEarthCover</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>imageryBaseMapsEarthCover_BaseMaps</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>geoscientificInformation</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>geoscientificInformation_Geology</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>geoscientificInformation_NaturalHazards</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>environment</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>environment_EnvironmentalProtection</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>environment_NatureProtection</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>structure</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>farming</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:extent xlink:href="local://srv/api/registries/entries/geocatch-subtpl-extent-kantonsgebiet-24?lang=fre&amp;lang=ger&amp;lang=ita&amp;lang=eng" + xlink:title="" + xlink:role=""> + <gmd:EX_Extent> + <gmd:description> + <gco:CharacterString>Neuchtel</gco:CharacterString> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal>6.429080215351398</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>7.089920495640753</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>46.84809665132898</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.16860925037933</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:polygon> + <gml:MultiSurface xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gn="http://geonetwork-opensource.org" + xmlns:wfs="http://www.opengis.net/wfs" + xmlns:ows="http://www.opengis.net/ows" + xmlns:ogc="http://www.opengis.net/ogc" + srsDimension="2"> + <gml:surfaceMember> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:posList>7.041234 46.981449 7.037505 46.982176 7.029746 46.983689 7.003311 46.988836 6.959634 46.969131 6.929068 46.955322 6.907679 46.93665 6.897097 46.927407 6.866552 46.911494 6.836198 46.891504 6.784936 46.85769 6.780673 46.854874 6.75611 46.87237 6.756103 46.872375 6.752699 46.872527 6.752229 46.872728 6.751446 46.873049 6.750424 46.873099 6.741421 46.873704 6.740842 46.873896 6.740007 46.873353 6.739144 46.872881 6.738426 46.872577 6.737997 46.872286 6.737282 46.871881 6.736451 46.87149 6.735485 46.870976 6.735053 46.87065 6.734226 46.869816 6.733923 46.870096 6.733765 46.870171 6.733557 46.870238 6.73345 46.870257 6.733349 46.870224 6.733499 46.870359 6.73387 46.870911 6.73408 46.871326 6.734435 46.872236 6.734509 46.872497 6.734497 46.872619 6.734464 46.872832 6.734508 46.873109 6.734603 46.873368 6.734698 46.873533 6.734895 46.873719 6.735456 46.873904 6.735928 46.874109 6.736277 46.874302 6.736553 46.874468 6.736724 46.874643 6.736903 46.875145 6.737637 46.875731 6.737728 46.876139 6.737922 46.876552 6.738138 46.877305 6.738326 46.87762 6.738585 46.878237 6.7387 46.878535 6.739075 46.879206 6.739354 46.879626 6.739542 46.880013 6.739698 46.880261 6.739804 46.880444 6.740091 46.880621 6.740228 46.880858 6.7403 46.881114 6.740355 46.881578 6.740405 46.881766 6.740517 46.882111 6.740581 46.882395 6.740659 46.882827 6.740667 46.88285 6.740711 46.88335 6.740705 46.883503 6.740715 46.883617 6.74079 46.883977 6.740931 46.884271 6.741061 46.884661 6.741215 46.884863 6.741469 46.885127 6.741528 46.885243 6.741539 46.885359 6.741503 46.885473 6.741448 46.885581 6.741383 46.88568 6.741245 46.885842 6.741204 46.8859 6.741163 46.885976 6.741087 46.88607 6.740967 46.886183 6.740921 46.886217 6.740835 46.886298 6.740612 46.886306 6.740278 46.886306 6.740126 46.886303 6.739979 46.886291 6.73974 46.886293 6.739618 46.886285 6.739564 46.886279 6.739526 46.886271 6.739466 46.88627 6.73942 46.886286 6.739327 46.886307 6.739044 46.886325 6.738938 46.886377 6.738914 46.886451 6.738847 46.88648 6.739577 46.889641 6.739696 46.890202 6.740174 46.89252 6.740502 46.89427 6.74095 46.896731 6.73223 46.901258 6.727507 46.903852 6.726771 46.904302 6.726016 46.904754 6.72347 46.906292 6.721834 46.907304 6.721161 46.907412 6.721048 46.907365 6.720375 46.907545 6.720006 46.907615 6.718596 46.907828 6.71754 46.907997 6.718114 46.910975 6.718584 46.913612 6.718376 46.917786 6.719401 46.92075 6.720166 46.923116 6.721712 46.927745 6.724543 46.933041 6.724317 46.933103 6.72371 46.93323 6.723185 46.933443 6.722706 46.93366 6.722004 46.934274 6.721238 46.93525 6.721046 46.935725 6.72119 46.936227 6.721235 46.936732 6.721413 46.936694 6.721716 46.937222 6.721667 46.938013 6.71646 46.936714 6.713393 46.935785 6.708692 46.934374 6.70338 46.932839 6.69752 46.931125 6.693878 46.930052 6.693445 46.929927 6.690568 46.929082 6.690226 46.928979 6.685108 46.927557 6.684873 46.92749 6.680761 46.925951 6.675391 46.924316 6.669349 46.922482 6.666623 46.921191 6.663806 46.919829 6.65568 46.916045 6.654845 46.915303 6.653435 46.914711 6.652453 46.91429 6.650774 46.913713 6.649378 46.91312 6.64906 46.913003 6.648052 46.912623 6.647741 46.91222 6.646315 46.908087 6.640005 46.902032 6.637024 46.899182 6.634874 46.897151 6.631029 46.893539 6.63085 46.893366 6.62793 46.890624 6.615457 46.890826 6.612207 46.889867 6.609865 46.88919 6.607372 46.888586 6.607307 46.888571 6.605734 46.887978 6.604019 46.887304 6.59944 46.885538 6.597802 46.885451 6.594176 46.886276 6.590676 46.88625 6.588449 46.886226 6.587984 46.886088 6.580284 46.883796 6.57562 46.882399 6.573433 46.881649 6.5712 46.880739 6.56366 46.877446 6.562993 46.877146 6.561671 46.876398 6.560718 46.875992 6.560222 46.875876 6.559451 46.875769 6.557936 46.875618 6.557454 46.875291 6.557111 46.875085 6.556147 46.875015 6.555745 46.875276 6.555374 46.875271 6.5549 46.875128 6.553983 46.87517 6.553461 46.875016 6.552821 46.874939 6.552244 46.874709 6.55151 46.874289 6.551061 46.874107 6.550452 46.873757 6.550049 46.873449 6.549375 46.872947 6.54915 46.87277 6.548686 46.872383 6.547402 46.871342 6.547147 46.871131 6.546307 46.870664 6.545983 46.870519 6.545528 46.87036 6.544639 46.870196 6.54382 46.86993 6.543276 46.869749 6.542575 46.869609 6.542217 46.86938 6.541752 46.869334 6.540323 46.868879 6.5399 46.868787 6.538574 46.868765 6.537628 46.868054 6.537074 46.867576 6.536544 46.867013 6.536169 46.866653 6.535662 46.866262 6.534939 46.865794 6.534253 46.865104 6.533888 46.864851 6.533652 46.864608 6.533265 46.864073 6.532876 46.863664 6.532389 46.863218 6.531814 46.862636 6.531396 46.862276 6.530499 46.861829 6.529499 46.86098 6.528578 46.860617 6.528344 46.860624 6.528102 46.860599 6.526815 46.85996 6.526119 46.859852 6.524119 46.85848 6.523274 46.858298 6.515154 46.856704 6.514613 46.856563 6.513415 46.856279 6.50959 46.855332 6.508476 46.855071 6.507771 46.854898 6.506147 46.854519 6.505197 46.854283 6.50359 46.85385 6.50255 46.853582 6.501894 46.853394 6.499923 46.852902 6.498231 46.852448 6.49743 46.85224 6.497096 46.85216 6.496368 46.851974 6.496124 46.851907 6.495199 46.851677 6.494152 46.851399 6.492602 46.851024 6.491985 46.850866 6.49139 46.850708 6.490701 46.850541 6.487556 46.849749 6.482908 46.848508 6.479871 46.848669 6.475928 46.848855 6.471517 46.849045 6.46732 46.849748 6.467003 46.850456 6.46664 46.851754 6.466591 46.851744 6.466161 46.852749 6.463479 46.852982 6.46083 46.853219 6.46197 46.862282 6.462516 46.867037 6.463338 46.873973 6.46366 46.876585 6.463769 46.877495 6.4641 46.880277 6.464544 46.883914 6.464699 46.88542 6.464996 46.888181 6.465163 46.889885 6.465418 46.892276 6.464627 46.893557 6.462421 46.897003 6.458724 46.902707 6.45519 46.906279 6.452596 46.908891 6.451722 46.909779 6.449641 46.911956 6.448589 46.913068 6.442399 46.919486 6.441657 46.920084 6.439944 46.921484 6.43668 46.923562 6.435559 46.92604 6.434382 46.928666 6.433485 46.930608 6.434299 46.930859 6.43473 46.930979 6.435358 46.931221 6.435602 46.931297 6.435911 46.931447 6.436236 46.931628 6.436612 46.931736 6.437222 46.931973 6.437431 46.93207 6.437847 46.932208 6.438596 46.932497 6.438728 46.932419 6.439271 46.932613 6.439858 46.932689 6.440519 46.932947 6.44077 46.933083 6.441237 46.933346 6.441831 46.933668 6.442676 46.934 6.445066 46.935037 6.445312 46.935181 6.447305 46.935998 6.450468 46.937941 6.451954 46.93925 6.452572 46.939717 6.454332 46.940667 6.454558 46.941319 6.456135 46.942042 6.458596 46.944091 6.460038 46.944821 6.461138 46.945761 6.462249 46.948057 6.463065 46.949072 6.464707 46.950084 6.466014 46.951213 6.466745 46.952364 6.467198 46.953129 6.468498 46.953916 6.470261 46.955093 6.470263 46.955096 6.472558 46.957977 6.473502 46.958835 6.47501 46.960385 6.476183 46.961421 6.477819 46.963041 6.47855 46.963706 6.479532 46.964391 6.480135 46.964758 6.480641 46.965103 6.481357 46.965677 6.482051 46.966125 6.484609 46.968108 6.486545 46.9694 6.489012 46.97058 6.48965 46.970939 6.490037 46.971182 6.49085 46.971741 6.49172 46.972366 6.492615 46.973017 6.493082 46.973335 6.493926 46.973894 6.494342 46.9742 6.495016 46.974719 6.495746 46.975231 6.496103 46.975452 6.496726 46.975867 6.49729 46.976074 6.501091 46.972247 6.505614 46.967622 6.507123 46.968237 6.508337 46.968696 6.509027 46.968755 6.509626 46.968962 6.511162 46.969468 6.514602 46.971219 6.515079 46.971352 6.515265 46.971455 6.515568 46.971548 6.515952 46.971631 6.516385 46.971847 6.517139 46.972148 6.518139 46.972489 6.518456 46.972551 6.5189 46.972692 6.519703 46.972907 6.520583 46.973039 6.52095 46.973152 6.522242 46.973357 6.524758 46.97396 6.525544 46.973799 6.527262 46.973709 6.527674 46.973862 6.528858 46.974193 6.533918 46.974931 6.535532 46.975219 6.536689 46.97526 6.538107 46.975395 6.538668 46.975546 6.539488 46.975761 6.542493 46.976639 6.550532 46.978876 6.551138 46.978965 6.551667 46.979123 6.553836 46.979789 6.555811 46.98028 6.557648 46.980674 6.55884 46.980961 6.560489 46.9812 6.561822 46.981412 6.562669 46.981333 6.563311 46.981301 6.564382 46.981582 6.566634 46.982534 6.566924 46.982532 6.567195 46.982576 6.567635 46.982714 6.5694 46.983476 6.571953 46.983924 6.572699 46.983974 6.573996 46.984347 6.57517 46.98485 6.576777 46.985581 6.576858 46.986155 6.578815 46.986564 6.57984 46.986834 6.582245 46.987998 6.584579 46.989152 6.587199 46.990686 6.589783 46.991623 6.590416 46.992138 6.592229 46.992807 6.592229 46.992807 6.59223 46.992808 6.592582 46.992979 6.593116 46.993169 6.593667 46.993376 6.593932 46.993735 6.595036 46.9939 6.597015 46.994316 6.600774 46.994472 6.600812 46.993686 6.601809 46.993804 6.602338 46.993765 6.603057 46.993767 6.603297 46.993729 6.603605 46.99371 6.60423 46.993805 6.604369 46.993789 6.604703 46.993699 6.604924 46.993611 6.605109 46.993387 6.605418 46.993132 6.605552 46.992982 6.606518 46.992856 6.609241 46.993008 6.611279 46.992647 6.613661 46.993012 6.614702 46.993474 6.618798 46.993578 6.619705 46.99397 6.620572 46.994534 6.621478 46.994935 6.622146 46.995382 6.623278 46.995698 6.624193 46.996179 6.626182 46.997083 6.628396 46.998298 6.629432 46.998558 6.632221 46.999299 6.634404 47.000082 6.637914 47.002486 6.641184 47.004744 6.645154 47.00934 6.646875 47.011493 6.648 47.01339 6.649198 47.016549 6.652838 47.021913 6.654454 47.024277 6.655679 47.025413 6.6557 47.025497 6.65579 47.025595 6.655884 47.02568 6.655935 47.025737 6.656004 47.025845 6.656465 47.026228 6.656629 47.026348 6.656859 47.026533 6.657027 47.02665 6.657155 47.026754 6.657336 47.026886 6.657492 47.027016 6.657738 47.027235 6.657944 47.02744 6.65803 47.027562 6.658109 47.027657 6.658152 47.027716 6.658313 47.027881 6.658343 47.027907 6.658537 47.02804 6.658601 47.028093 6.658699 47.028193 6.658962 47.028405 6.659144 47.028585 6.659216 47.02865 6.659303 47.028701 6.659546 47.028831 6.659683 47.028928 6.659724 47.029006 6.659749 47.029039 6.659848 47.029129 6.659936 47.029218 6.660028 47.029278 6.660164 47.029305 6.660243 47.029326 6.660646 47.029456 6.660735 47.029494 6.661019 47.029697 6.661325 47.029939 6.661406 47.02999 6.661543 47.030063 6.661785 47.030174 6.661902 47.030067 6.663221 47.030843 6.664729 47.031486 6.665532 47.031852 6.665777 47.031938 6.666081 47.032092 6.666431 47.032205 6.667068 47.032425 6.667622 47.032885 6.668613 47.033276 6.669736 47.033859 6.670273 47.034054 6.671339 47.034317 6.671639 47.034431 6.67203 47.034658 6.672299 47.034736 6.672611 47.034865 6.673009 47.035063 6.67338 47.035188 6.673593 47.035254 6.673763 47.035325 6.674228 47.03551 6.674448 47.035627 6.675491 47.03625 6.676253 47.036573 6.676418 47.036684 6.676559 47.036712 6.677352 47.037046 6.678054 47.037241 6.679093 47.037517 6.680257 47.037805 6.68153 47.038042 6.682236 47.038277 6.682775 47.038429 6.683156 47.038554 6.683605 47.038691 6.684073 47.038755 6.684379 47.038822 6.684824 47.038941 6.685081 47.038967 6.685246 47.039007 6.685676 47.039149 6.686431 47.039351 6.686689 47.039385 6.686943 47.039387 6.688528 47.039511 6.68983 47.0395 6.690694 47.039409 6.691641 47.039234 6.69168 47.039239 6.695157 47.039062 6.695276 47.039061 6.695449 47.039041 6.695597 47.03893 6.696021 47.038936 6.696299 47.039106 6.696604 47.039173 6.697378 47.039242 6.698098 47.039727 6.699741 47.040784 6.702402 47.042705 6.704391 47.044321 6.705431 47.045285 6.706654 47.046265 6.70666 47.046266 6.709672 47.046913 6.712346 47.049978 6.716317 47.051591 6.720012 47.05312 6.72045 47.053967 6.72045 47.053967 6.720436 47.05397 6.720346 47.053992 6.720311 47.054021 6.720212 47.054058 6.720081 47.054063 6.719936 47.054115 6.719805 47.054153 6.719702 47.054216 6.719644 47.054232 6.719454 47.054243 6.719387 47.054234 6.719186 47.054235 6.718959 47.054214 6.718806 47.054244 6.718692 47.054281 6.71853 47.05432 6.718399 47.054363 6.718299 47.054371 6.717959 47.054356 6.717932 47.054368 6.717769 47.054408 6.717509 47.054497 6.717328 47.054543 6.717176 47.054588 6.717038 47.05464 6.716904 47.054663 6.716465 47.054686 6.716332 47.054735 6.716225 47.054819 6.716085 47.054867 6.716013 47.054876 6.715929 47.054878 6.715737 47.054871 6.715608 47.054879 6.715494 47.054911 6.715432 47.054945 6.715264 47.055014 6.71516 47.055067 6.714992 47.055078 6.714782 47.055063 6.714624 47.055069 6.71439 47.055101 6.714158 47.05519 6.713973 47.055241 6.713755 47.055257 6.71347 47.055326 6.713362 47.055364 6.713026 47.055452 6.712818 47.055542 6.712668 47.055634 6.712585 47.055733 6.712476 47.055789 6.712298 47.055898 6.712287 47.055926 6.712249 47.055934 6.712122 47.056007 6.712094 47.056007 6.712088 47.056011 6.712003 47.056067 6.711883 47.056245 6.711841 47.056244 6.711833 47.05626 6.711801 47.056275 6.71178 47.056343 6.711786 47.056554 6.711718 47.056619 6.711584 47.056728 6.711554 47.056742 6.711528 47.056764 6.711413 47.056945 6.71119 47.057136 6.711008 47.057219 6.710924 47.057311 6.710991 47.057414 6.710919 47.057705 6.710841 47.057863 6.710757 47.05801 6.710562 47.058142 6.710448 47.0582 6.710412 47.058259 6.710446 47.058476 6.71044 47.05856 6.710389 47.05867 6.710351 47.058777 6.710297 47.05886 6.710018 47.059152 6.709952 47.059249 6.709945 47.05931 6.709911 47.059385 6.709854 47.059411 6.709799 47.059472 6.709765 47.059539 6.709623 47.059689 6.709616 47.05972 6.70966 47.059786 6.709659 47.05982 6.709699 47.059834 6.709727 47.059937 6.709683 47.059964 6.709646 47.06 6.709553 47.06002 6.709477 47.06002 6.709306 47.059986 6.709264 47.059964 6.708974 47.059865 6.708691 47.059747 6.708484 47.059697 6.708312 47.059689 6.708134 47.059756 6.708103 47.059818 6.708076 47.05984 6.707967 47.059887 6.707778 47.059945 6.707621 47.060019 6.707458 47.060091 6.707316 47.06018 6.707103 47.060269 6.707091 47.060302 6.707072 47.060329 6.70703 47.060329 6.706971 47.060357 6.706851 47.060385 6.706736 47.060438 6.706675 47.060463 6.706629 47.060459 6.706475 47.060475 6.706446 47.060485 6.706373 47.060476 6.706328 47.060485 6.706263 47.060512 6.706246 47.060541 6.706219 47.060555 6.70619 47.06058 6.706197 47.060598 6.70616 47.06066 6.706023 47.060771 6.706016 47.060775 6.705885 47.060866 6.705847 47.060915 6.705703 47.060967 6.705581 47.061 6.705496 47.061012 6.705364 47.061041 6.705337 47.061057 6.705304 47.061065 6.705182 47.061078 6.704993 47.061069 6.704817 47.061038 6.704728 47.06099 6.704716 47.060969 6.704675 47.060948 6.704546 47.060814 6.704509 47.060797 6.704494 47.060765 6.704475 47.060763 6.704458 47.060755 6.704407 47.060755 6.704366 47.060719 6.704222 47.060648 6.704212 47.060618 6.70397 47.060534 6.703815 47.060532 6.703506 47.06055 6.703262 47.060556 6.703061 47.060544 6.702703 47.060539 6.702577 47.060567 6.702485 47.060603 6.702409 47.060653 6.701225 47.061278 6.700314 47.062307 6.700371 47.063223 6.699051 47.064276 6.698368 47.064707 6.697099 47.065506 6.696274 47.065162 6.696583 47.064717 6.696044 47.064454 6.696038 47.064458 6.695617 47.064751 6.695649 47.065197 6.6955 47.065265 6.695144 47.065478 6.694939 47.065878 6.694712 47.066174 6.694747 47.066527 6.69471 47.066692 6.694491 47.066976 6.694187 47.067227 6.693784 47.067414 6.69302 47.068086 6.693014 47.068091 6.692344 47.068614 6.692572 47.069001 6.69275 47.069498 6.693025 47.069885 6.693655 47.070417 6.694242 47.070875 6.694881 47.070949 6.695481 47.070812 6.696257 47.070817 6.69675 47.070899 6.697779 47.071214 6.698289 47.071239 6.69878 47.071351 6.69953 47.071448 6.700042 47.071479 6.700527 47.071597 6.700918 47.071629 6.701447 47.071792 6.701989 47.072051 6.702431 47.072457 6.702763 47.072915 6.702854 47.073056 6.702938 47.07343 6.70322 47.073875 6.703483 47.074375 6.703768 47.074808 6.703814 47.074898 6.70382 47.075001 6.703903 47.075131 6.704151 47.075388 6.704665 47.075682 6.704925 47.075775 6.705711 47.07582 6.706037 47.075784 6.706176 47.07579 6.706611 47.075871 6.707079 47.076145 6.70719 47.076342 6.707404 47.076597 6.707353 47.076758 6.707162 47.077001 6.706466 47.077536 6.706336 47.077731 6.706081 47.077986 6.706057 47.078029 6.706049 47.078329 6.706239 47.078683 6.706343 47.078803 6.706621 47.079007 6.706764 47.079078 6.707472 47.07955 6.708211 47.080252 6.708374 47.080543 6.708448 47.080768 6.708478 47.081087 6.708376 47.081394 6.708178 47.081636 6.708072 47.081713 6.707814 47.081867 6.707501 47.081981 6.706768 47.082035 6.706357 47.082082 6.706128 47.082132 6.705376 47.082212 6.70487 47.082327 6.704389 47.082504 6.703897 47.082836 6.703595 47.083107 6.703508 47.083226 6.703364 47.083587 6.703422 47.083869 6.703568 47.08408 6.703862 47.084244 6.704538 47.084474 6.705844 47.084598 6.706362 47.084724 6.707037 47.084838 6.707386 47.084926 6.708047 47.085014 6.708441 47.085034 6.708748 47.085094 6.708967 47.085563 6.709069 47.085892 6.709203 47.086105 6.709272 47.086185 6.709486 47.086313 6.709691 47.086479 6.709912 47.086592 6.710172 47.086546 6.710434 47.08642 6.710561 47.086322 6.710689 47.086278 6.710869 47.08628 6.711127 47.086318 6.71128 47.086387 6.711489 47.086556 6.711728 47.08698 6.711795 47.087044 6.712227 47.087313 6.712784 47.087765 6.71295 47.087869 6.713897 47.088228 6.714286 47.088254 6.714579 47.088327 6.714904 47.088535 6.715008 47.088635 6.71504 47.088888 6.714815 47.088973 6.714634 47.089098 6.714574 47.089173 6.714668 47.089277 6.715031 47.089538 6.715429 47.090022 6.715646 47.090188 6.715921 47.090354 6.716092 47.090409 6.716729 47.090519 6.71699 47.090639 6.71774 47.090828 6.718078 47.091019 6.718512 47.091162 6.71903 47.091185 6.719328 47.091267 6.71954 47.091292 6.720338 47.09132 6.72065 47.091371 6.721557 47.091457 6.721872 47.091452 6.722241 47.091415 6.722883 47.091417 6.723176 47.091428 6.723553 47.091517 6.724191 47.091788 6.724438 47.091847 6.7246 47.091947 6.724925 47.092269 6.724974 47.092432 6.724994 47.092787 6.725124 47.092964 6.725517 47.093269 6.726004 47.093563 6.726537 47.093822 6.726717 47.093881 6.727018 47.093932 6.72736 47.093929 6.727491 47.093891 6.727877 47.093635 6.72843 47.093206 6.728595 47.093152 6.728723 47.093077 6.728793 47.092961 6.729778 47.092486 6.729966 47.092287 6.730425 47.09196 6.731047 47.091747 6.731633 47.091588 6.732033 47.09152 6.732269 47.091456 6.732836 47.091407 6.734241 47.091598 6.734576 47.091612 6.735395 47.091597 6.736022 47.091547 6.736311 47.09164 6.736457 47.091687 6.736902 47.091877 6.737032 47.091933 6.737693 47.092121 6.738186 47.092186 6.738617 47.092276 6.73928 47.092343 6.739477 47.092352 6.739842 47.092297 6.740091 47.092318 6.740874 47.092469 6.741162 47.092562 6.741421 47.092569 6.742415 47.092869 6.742608 47.09299 6.742732 47.093106 6.742844 47.093296 6.743017 47.093494 6.743233 47.093584 6.743797 47.093887 6.744381 47.094086 6.744911 47.094319 6.74524 47.094503 6.745413 47.094626 6.745545 47.094948 6.745633 47.095336 6.745725 47.095586 6.745767 47.095905 6.745901 47.096342 6.745992 47.096935 6.746111 47.097298 6.746331 47.09774 6.746734 47.098433 6.747294 47.098953 6.747441 47.099212 6.74755 47.099502 6.747575 47.099758 6.747528 47.100042 6.747166 47.100601 6.747171 47.100748 6.747368 47.101237 6.747384 47.101351 6.747355 47.101472 6.747259 47.10161 6.746957 47.101784 6.746563 47.102095 6.746412 47.102374 6.746036 47.102744 6.745782 47.103051 6.745698 47.103119 6.745558 47.10322 6.745445 47.1033 6.745323 47.10342 6.745007 47.103673 6.744797 47.103956 6.744157 47.104529 6.743764 47.10488 6.742891 47.105475 6.742701 47.105686 6.742632 47.105727 6.742308 47.106152 6.742207 47.106505 6.74222 47.106565 6.74197 47.107014 6.741862 47.107207 6.741532 47.107659 6.741473 47.107929 6.740831 47.109961 6.740824 47.110194 6.740881 47.110699 6.740966 47.110993 6.741245 47.111417 6.741389 47.111567 6.741744 47.111604 6.742354 47.111786 6.742999 47.111837 6.743142 47.11191 6.74327 47.111897 6.743788 47.11175 6.743937 47.111641 6.744732 47.111542 6.745242 47.111514 6.74561 47.111458 6.745744 47.111481 6.745886 47.111571 6.746508 47.111629 6.746811 47.111694 6.747172 47.111736 6.74769 47.111934 6.748333 47.112329 6.748728 47.112763 6.749118 47.113058 6.749201 47.113162 6.749518 47.11333 6.749771 47.113422 6.750064 47.113599 6.750656 47.114191 6.750891 47.114371 6.750943 47.114492 6.751835 47.115471 6.751975 47.115733 6.752081 47.115861 6.752157 47.1159 6.752339 47.116146 6.75252 47.116299 6.752911 47.116537 6.753235 47.116712 6.753935 47.116916 6.754986 47.117099 6.755216 47.117243 6.755394 47.11741 6.755688 47.117626 6.7561 47.11802 6.756507 47.11821 6.756578 47.118291 6.756895 47.118534 6.757094 47.118733 6.757115 47.118808 6.757348 47.118951 6.757753 47.119029 6.758595 47.119317 6.758914 47.119379 6.759324 47.119572 6.759414 47.119655 6.760001 47.119954 6.760349 47.120251 6.76069 47.120423 6.761041 47.120557 6.761813 47.12071 6.762215 47.120848 6.763067 47.121247 6.763698 47.121497 6.764523 47.121938 6.764798 47.122011 6.765563 47.122329 6.766623 47.122666 6.766931 47.122711 6.768298 47.123012 6.769062 47.123051 6.76935 47.123085 6.769577 47.123137 6.769967 47.123177 6.770634 47.12321 6.771441 47.123358 6.772578 47.123421 6.772954 47.123392 6.773387 47.123406 6.773565 47.123388 6.774173 47.123255 6.774359 47.123139 6.774829 47.123083 6.77531 47.123055 6.775535 47.123065 6.776325 47.1232 6.776821 47.123309 6.777217 47.123467 6.77769 47.123692 6.778079 47.123938 6.778274 47.124107 6.778295 47.124135 6.77851 47.12441 6.77908 47.125028 6.779682 47.125472 6.780012 47.125646 6.780224 47.125716 6.780685 47.125811 6.781779 47.125943 6.782223 47.126024 6.783199 47.12615 6.784049 47.126305 6.784777 47.126549 6.786352 47.126993 6.786915 47.127186 6.787685 47.127381 6.788247 47.127622 6.788983 47.127775 6.790379 47.12813 6.792001 47.128618 6.792569 47.128728 6.793018 47.128904 6.793197 47.128994 6.793349 47.12907 6.793549 47.129115 6.794274 47.129344 6.794747 47.129587 6.795134 47.129675 6.795916 47.130127 6.796419 47.130509 6.796667 47.13063 6.79703 47.130741 6.797402 47.130982 6.797748 47.131091 6.798301 47.131161 6.798915 47.131145 6.799343 47.131026 6.799598 47.130927 6.799904 47.130875 6.801141 47.13096 6.801214 47.130974 6.801394 47.131122 6.801471 47.13114 6.802787 47.131338 6.803107 47.131497 6.803601 47.13159 6.803962 47.131714 6.80438 47.131907 6.805091 47.132119 6.805669 47.132235 6.806125 47.132377 6.806581 47.132587 6.806901 47.132658 6.80715 47.132821 6.807433 47.133098 6.80752 47.133216 6.807622 47.133447 6.80793 47.133836 6.808068 47.134534 6.808085 47.13494 6.808168 47.135316 6.808186 47.135928 6.808263 47.136441 6.808436 47.136829 6.80852 47.136952 6.808806 47.13723 6.808934 47.137315 6.80911 47.137395 6.809683 47.137567 6.810086 47.13764 6.81335 47.137361 6.814364 47.137355 6.814849 47.137377 6.815187 47.137407 6.815716 47.137514 6.816031 47.137674 6.816474 47.137848 6.816572 47.137867 6.81683 47.138032 6.817035 47.1382 6.817274 47.138586 6.817536 47.138854 6.817763 47.139192 6.81799 47.139426 6.818313 47.13989 6.819108 47.14075 6.819285 47.141034 6.820364 47.141963 6.82077 47.142226 6.821469 47.142587 6.82248 47.142904 6.823454 47.143057 6.823948 47.143209 6.824327 47.143355 6.825022 47.143688 6.825436 47.143923 6.826091 47.144497 6.826224 47.144573 6.826485 47.144902 6.826904 47.145513 6.827406 47.146466 6.827974 47.147369 6.828346 47.147791 6.829213 47.148441 6.8295 47.148524 6.829853 47.148532 6.830079 47.148513 6.830129 47.148499 6.830254 47.148321 6.830461 47.14822 6.830981 47.148125 6.831255 47.14814 6.831834 47.148381 6.833241 47.14921 6.833416 47.149358 6.833769 47.14948 6.83403 47.149609 6.83426 47.149671 6.834944 47.149919 6.835304 47.150126 6.835952 47.150417 6.836693 47.150708 6.837331 47.150918 6.838 47.151204 6.838178 47.1513 6.838403 47.151519 6.838765 47.151698 6.83929 47.151903 6.839513 47.151954 6.839806 47.151971 6.840177 47.151924 6.840418 47.152221 6.840614 47.152425 6.840733 47.152503 6.84076 47.152563 6.840757 47.152857 6.840597 47.153057 6.840544 47.1532 6.840503 47.153638 6.840525 47.153736 6.840495 47.153864 6.840515 47.154136 6.840623 47.154541 6.840729 47.154727 6.840843 47.154846 6.841008 47.155165 6.841033 47.155364 6.840995 47.155507 6.841161 47.155776 6.841248 47.155844 6.841401 47.155891 6.842203 47.15627 6.842727 47.156449 6.843587 47.156457 6.844757 47.156703 6.845061 47.156817 6.845961 47.157096 6.846116 47.157195 6.847323 47.157508 6.847519 47.157586 6.848072 47.15765 6.849237 47.157731 6.850075 47.158042 6.850765 47.158387 6.850906 47.158631 6.850945 47.158906 6.851218 47.159234 6.851261 47.159343 6.851646 47.159827 6.851974 47.160479 6.852128 47.160723 6.852398 47.161018 6.853173 47.161523 6.853406 47.161708 6.853567 47.16179 6.854117 47.16223 6.855024 47.162777 6.85624 47.163641 6.857246 47.164662 6.857398 47.164797 6.857668 47.164969 6.858827 47.166035 6.859134 47.166285 6.859276 47.166613 6.859272 47.166877 6.859164 47.167139 6.859067 47.167219 6.859109 47.167245 6.859266 47.16734 6.859459 47.167457 6.860533 47.167487 6.860578 47.167531 6.860799 47.167672 6.860838 47.16769 6.860884 47.167691 6.861245 47.167647 6.861761 47.167466 6.862066 47.167512 6.862356 47.167584 6.86288 47.166899 6.862969 47.16679 6.86368 47.165887 6.865234 47.163921 6.865735 47.16325 6.867233 47.161291 6.867954 47.160337 6.869014 47.15896 6.870608 47.156756 6.872121 47.155172 6.87301 47.153327 6.873055 47.153236 6.875509 47.150328 6.877484 47.148 6.880994 47.143767 6.882153 47.141523 6.8836 47.140056 6.885731 47.137882 6.886427 47.136765 6.886925 47.135957 6.88949 47.133293 6.88967 47.133078 6.889476 47.132503 6.889219 47.131701 6.888853 47.130602 6.888684 47.130111 6.88847 47.129473 6.888274 47.128885 6.888086 47.128312 6.887925 47.127852 6.887827 47.127559 6.887814 47.127535 6.887877 47.127341 6.887587 47.126937 6.887305 47.126195 6.887205 47.125797 6.886978 47.125122 6.886886 47.124889 6.886935 47.124797 6.88688 47.12475 6.886645 47.124056 6.885835 47.121588 6.885679 47.121138 6.884926 47.119017 6.884279 47.117096 6.883499 47.114895 6.883428 47.114746 6.883112 47.113806 6.882737 47.112757 6.882664 47.112564 6.881865 47.110336 6.881 47.109873 6.880813 47.109741 6.878937 47.108646 6.878732 47.10854 6.878289 47.108263 6.87767 47.107889 6.876071 47.106909 6.87556 47.106588 6.874498 47.105953 6.872654 47.104805 6.87159 47.101589 6.871494 47.101307 6.871073 47.100027 6.870765 47.09905 6.870731 47.09896 6.870728 47.09893 6.870516 47.09825 6.870455 47.098064 6.869748 47.095835 6.869597 47.095353 6.86945 47.094896 6.869244 47.09423 6.868584 47.091148 6.868581 47.0911 6.868458 47.090513 6.867726 47.087059 6.871157 47.088457 6.871397 47.088373 6.873995 47.089311 6.876043 47.090073 6.877824 47.090837 6.879253 47.091528 6.87991 47.091798 6.880531 47.091983 6.881079 47.092154 6.881262 47.091954 6.882153 47.092234 6.88269 47.092547 6.883152 47.092648 6.883813 47.092785 6.884567 47.093043 6.885692 47.093478 6.886947 47.093944 6.889002 47.094781 6.890959 47.095723 6.890764 47.095879 6.891488 47.096211 6.891823 47.096408 6.892605 47.096766 6.89298 47.096979 6.893419 47.097153 6.893998 47.097405 6.894774 47.097756 6.895127 47.097932 6.895535 47.098091 6.896363 47.098443 6.897041 47.09869 6.898372 47.099146 6.90195 47.100567 6.906193 47.102272 6.908712 47.103244 6.909587 47.103574 6.9114 47.104158 6.912417 47.104514 6.912632 47.104573 6.914168 47.104967 6.915502 47.105415 6.916598 47.105727 6.918902 47.107049 6.922341 47.108326 6.923551 47.109045 6.923765 47.109151 6.92746 47.111094 6.928959 47.112673 6.929693 47.113465 6.930354 47.11415 6.930702 47.114541 6.931263 47.114145 6.932152 47.113536 6.933869 47.112424 6.935002 47.111681 6.936947 47.110791 6.937219 47.110673 6.940174 47.111675 6.94078 47.111101 6.942136 47.111581 6.942618 47.111733 6.942659 47.11173 6.943089 47.111887 6.944257 47.11255 6.944989 47.112823 6.945493 47.112991 6.946239 47.113181 6.947562 47.113661 6.948171 47.113855 6.948558 47.114073 6.948467 47.114227 6.949212 47.114363 6.949655 47.114 6.950684 47.114346 6.952397 47.114598 6.953083 47.114753 6.953705 47.11461 6.954314 47.114634 6.954622 47.114691 6.954946 47.114758 6.955137 47.114775 6.955522 47.114887 6.956244 47.11503 6.956582 47.115065 6.956853 47.115206 6.957079 47.115241 6.957877 47.11534 6.958456 47.115392 6.95901 47.115421 6.959413 47.115522 6.960579 47.115767 6.961198 47.115881 6.96186 47.115918 6.964027 47.116139 6.965068 47.11623 6.965532 47.116264 6.966075 47.116357 6.9664 47.116385 6.966666 47.116382 6.967096 47.116397 6.96725 47.116385 6.967466 47.116318 6.968413 47.116358 6.969098 47.11647 6.969602 47.116544 6.97012 47.116533 6.970488 47.116545 6.970934 47.116652 6.971658 47.116804 6.972647 47.116898 6.972635 47.116926 6.973456 47.117014 6.973646 47.117058 6.973964 47.117147 6.974867 47.117456 6.975664 47.117206 6.976535 47.117606 6.976545 47.117596 6.977363 47.117612 6.978565 47.11777 6.979565 47.117896 6.980208 47.117942 6.980179 47.117951 6.981278 47.118115 6.982067 47.118213 6.983263 47.118342 6.984334 47.118475 6.985094 47.118593 6.985448 47.118641 6.985943 47.118706 6.986546 47.118824 6.987258 47.118893 6.987794 47.119008 6.988995 47.119213 6.989502 47.119251 6.990048 47.119348 6.990581 47.119469 6.991526 47.119706 6.992635 47.120009 6.993319 47.120115 6.996843 47.120832 6.997767 47.121073 6.998733 47.121347 6.998649 47.121586 6.999115 47.121719 7.000344 47.122191 7.001624 47.122969 7.001783 47.123097 7.00258 47.123585 7.00263 47.124138 7.003525 47.124146 7.003976 47.1242 7.004532 47.124258 7.005547 47.124454 7.006595 47.12475 7.007015 47.124858 7.007018 47.125195 7.007031 47.125425 7.007381 47.125484 7.008642 47.126173 7.008724 47.126163 7.010014 47.126116 7.010491 47.125984 7.01116 47.125763 7.01132 47.125643 7.011492 47.125171 7.014496 47.125424 7.01677 47.125934 7.019992 47.125847 7.023527 47.126075 7.026477 47.126081 7.026969 47.126442 7.027339 47.126721 7.027613 47.127007 7.027806 47.127262 7.02801 47.127502 7.028362 47.127782 7.028745 47.128096 7.029101 47.128367 7.029266 47.128476 7.029417 47.128864 7.030039 47.129003 7.030312 47.129076 7.030759 47.12917 7.031047 47.129206 7.031966 47.129261 7.034969 47.128863 7.035911 47.128769 7.03616 47.128771 7.039128 47.128385 7.039606 47.127919 7.040856 47.126595 7.040506 47.126434 7.039154 47.125688 7.038661 47.125442 7.038364 47.12523 7.037853 47.124929 7.037204 47.124495 7.036759 47.124279 7.036166 47.123862 7.033249 47.12175 7.032271 47.12158 7.03204 47.121384 7.031782 47.121136 7.031311 47.120665 7.031299 47.120435 7.030655 47.119879 7.030003 47.11923 7.029494 47.118666 7.028874 47.118064 7.028531 47.117715 7.02796 47.117347 7.027257 47.116719 7.026851 47.116396 7.026177 47.115672 7.025944 47.115447 7.025614 47.115254 7.025249 47.114927 7.024394 47.114147 7.027392 47.109314 7.029619 47.105616 7.032675 47.106999 7.036629 47.108729 7.0415 47.110948 7.042059 47.110311 7.0463 47.108406 7.048562 47.107544 7.049472 47.107206 7.050178 47.10693 7.052117 47.105598 7.056177 47.103055 7.058035 47.101625 7.064147 47.101488 7.067856 47.100352 7.076574 47.098203 7.080879 47.094152 7.0835 47.091669 7.085031 47.090207 7.087719 47.087637 7.087953 47.083489 7.082284 47.080433 7.079152 47.078699 7.078505 47.078281 7.077901 47.077896 7.077963 47.077819 7.077998 47.077786 7.078045 47.077758 7.078205 47.077704 7.078291 47.077689 7.078394 47.077685 7.078416 47.077675 7.078485 47.07763 7.0785 47.077611 7.078518 47.077513 7.078564 47.077471 7.078703 47.077413 7.078831 47.077373 7.078991 47.077242 7.079068 47.07719 7.079104 47.077157 7.079203 47.077129 7.079292 47.077111 7.079343 47.076987 7.079489 47.076825 7.079565 47.076787 7.07964 47.076739 7.079687 47.076688 7.079677 47.076623 7.079677 47.076534 7.07971 47.076472 7.079777 47.076408 7.079844 47.076361 7.079972 47.076299 7.080196 47.076105 7.080318 47.076038 7.080373 47.075961 7.080444 47.075919 7.080625 47.075868 7.080672 47.075831 7.080821 47.075779 7.081029 47.075685 7.081147 47.075551 7.081231 47.075475 7.081276 47.075423 7.081322 47.075326 7.081341 47.075251 7.081414 47.075146 7.08143 47.075088 7.081409 47.075017 7.08142 47.074879 7.081418 47.074847 7.081409 47.074803 7.081378 47.074732 7.081365 47.07465 7.08137 47.074574 7.081667 47.0745 7.081693 47.074438 7.081695 47.074378 7.081718 47.074325 7.081698 47.074297 7.081717 47.074241 7.081761 47.074196 7.081731 47.074146 7.081726 47.074075 7.081638 47.07398 7.081552 47.073906 7.081516 47.073855 7.08154 47.073839 7.081597 47.073724 7.081604 47.07369 7.081636 47.073608 7.081632 47.073563 7.081637 47.073518 7.081657 47.073482 7.081674 47.073423 7.081683 47.073312 7.081729 47.07327 7.081716 47.073231 7.081607 47.073132 7.081578 47.07304 7.081619 47.073009 7.081599 47.07295 7.081622 47.072881 7.081577 47.07284 7.081591 47.072781 7.081574 47.072702 7.081556 47.072654 7.081549 47.072553 7.0815 47.072462 7.081475 47.072372 7.081485 47.072339 7.081468 47.072255 7.08146 47.072087 7.081486 47.072062 7.081504 47.071989 7.081504 47.071949 7.081418 47.071858 7.081437 47.071819 7.081414 47.071776 7.0814 47.071725 7.081412 47.071698 7.081346 47.071646 7.081332 47.071458 7.081319 47.071386 7.081336 47.071296 7.081315 47.071172 7.081225 47.070979 7.081182 47.070937 7.081144 47.070881 7.081119 47.070795 7.081097 47.07074 7.081119 47.070721 7.081097 47.070667 7.081187 47.070614 7.081225 47.070569 7.081239 47.070496 7.081196 47.07034 7.081219 47.070246 7.081215 47.070148 7.081185 47.070049 7.081173 47.069969 7.081212 47.069815 7.081186 47.0696 7.081217 47.069566 7.081221 47.069518 7.081212 47.069477 7.08117 47.069408 7.081185 47.069336 7.081175 47.069254 7.081226 47.069109 7.081283 47.069058 7.081347 47.068983 7.08138 47.068922 7.081462 47.068691 7.0815 47.068624 7.081508 47.068568 7.081533 47.068484 7.081569 47.068403 7.081663 47.068351 7.081772 47.068341 7.081846 47.068364 7.081905 47.068378 7.082014 47.068383 7.082319 47.068357 7.082477 47.068369 7.08253 47.068378 7.082728 47.068485 7.082834 47.068524 7.083026 47.068566 7.083254 47.068581 7.083298 47.06858 7.083504 47.068545 7.08356 47.06854 7.083672 47.068545 7.083735 47.068512 7.083751 47.068518 7.083774 47.068519 7.083856 47.068497 7.083925 47.068456 7.083999 47.068371 7.084044 47.068291 7.084011 47.068222 7.083984 47.068197 7.083852 47.068154 7.083794 47.068143 7.083689 47.068135 7.0836 47.068114 7.083522 47.06808 7.083448 47.068016 7.083409 47.067971 7.083403 47.067958 7.083503 47.067835 7.083531 47.067672 7.083546 47.067675 7.083547 47.067654 7.083542 47.067639 7.083512 47.067603 7.083389 47.067518 7.083363 47.067485 7.08328 47.06741 7.083172 47.067285 7.083096 47.067242 7.082968 47.067188 7.082963 47.067167 7.08286 47.067118 7.08277 47.067041 7.082695 47.066988 7.082656 47.066939 7.082589 47.066826 7.082587 47.066758 7.082595 47.06667 7.082632 47.066579 7.082659 47.066538 7.083006 47.066324 7.083055 47.06632 7.083098 47.066308 7.083126 47.066308 7.083184 47.066317 7.083461 47.06637 7.083633 47.066391 7.083756 47.066415 7.083803 47.06642 7.083988 47.066436 7.084032 47.066437 7.084121 47.066432 7.084196 47.066412 7.084308 47.066367 7.084524 47.066314 7.084623 47.066267 7.084829 47.066122 7.084878 47.066104 7.08508 47.066055 7.085139 47.066034 7.085212 47.065999 7.085245 47.065948 7.085268 47.065868 7.085265 47.06585 7.085224 47.065758 7.085222 47.065721 7.085232 47.065665 7.085248 47.06562 7.085269 47.065582 7.085317 47.065524 7.085435 47.065423 7.085662 47.065243 7.0857 47.065219 7.086139 47.065005 7.086303 47.064899 7.086558 47.064705 7.086592 47.064667 7.086838 47.064347 7.086888 47.064302 7.087008 47.064219 7.087103 47.064122 7.087299 47.063838 7.087366 47.06373 7.087642 47.063445 7.087768 47.06326 7.088122 47.062587 7.088155 47.06242 7.088216 47.062322 7.088351 47.062151 7.088519 47.061828 7.088552 47.061673 7.07908 47.053869 7.078884 47.053742 7.077999 47.053172 7.077675 47.052946 7.077208 47.052629 7.076977 47.052496 7.076717 47.052356 7.076439 47.052216 7.076137 47.052078 7.075768 47.051926 7.075509 47.051826 7.075201 47.05172 7.073941 47.051362 7.073602 47.051261 7.073232 47.051119 7.072793 47.050902 7.072502 47.050733 7.072249 47.050566 7.071632 47.050089 7.070928 47.049556 7.070493 47.049245 7.070046 47.048941 7.069335 47.048558 7.068491 47.048131 7.068271 47.048011 7.06698 47.047251 7.066327 47.046958 7.065958 47.046837 7.06532 47.04669 7.064344 47.04652 7.063534 47.04639 7.063155 47.046347 7.062904 47.046331 7.062597 47.046323 7.061613 47.046327 7.061078 47.046309 7.060814 47.046285 7.060429 47.046225 7.059239 47.046015 7.058438 47.045884 7.05736 47.045724 7.055417 47.045455 7.054872 47.04537 7.054245 47.04523 7.053689 47.045088 7.053113 47.044917 7.052549 47.044717 7.052011 47.044502 7.051474 47.044248 7.049858 47.043419 7.043853 47.040275 7.041249 47.038902 7.040537 47.038487 7.040127 47.038217 7.039772 47.037958 7.039415 47.037676 7.039186 47.037482 7.038749 47.037073 7.038161 47.036498 7.035566 47.033959 7.035231 47.03361 7.035 47.033331 7.034766 47.032999 7.034575 47.032671 7.034374 47.032269 7.034178 47.031716 7.034077 47.031256 7.034032 47.030843 7.033994 47.029866 7.03398 47.028869 7.033995 47.028386 7.034155 47.02585 7.03418 47.025398 7.034408 47.022359 7.034551 47.020258 7.034544 47.019646 7.034481 47.019034 7.034355 47.01839 7.034174 47.017821 7.033045 47.015071 7.032739 47.014404 7.03254 47.014025 7.032307 47.013607 7.032088 47.013256 7.03184 47.012906 7.031557 47.012569 7.031251 47.012244 7.030899 47.011927 7.030185 47.011308 7.028891 47.010293 7.026923 47.00876 7.026586 47.008491 7.025996 47.007998 7.026442 47.007749 7.026535 47.007583 7.026601 47.007467 7.040182 46.983319 7.040905 46.982034 7.041053 46.981771 7.041234 46.981449</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xlink:href="local://srv/api/registries/entries/400a0c9a-a87a-4c21-81ae-b85f60673158?&amp;lang=fre&amp;lang=ger&amp;lang=ita&amp;lang=eng" + xlink:role="" + xlink:show="embed"/> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.ne.ch/sitn</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SITN - Guichet cartographique du canton de Neuchâtel</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SITN - Guichet cartographique du canton de Neuchâtel</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Guichet cartographique</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Guichet cartographique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kartenserver</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="information"/> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset"/> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Photos aériennes orthoréctifiées: Prise des clichés par caméra digitale (UltraCam X; Focale : 100 mm) puis ajustement AT (Bundle Block), Ortho (bicubique), réctification des images avec MNT-MO Lidar 2002</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Photos aériennes orthoréctifiées: Prise des clichés par caméra digitale (UltraCam X; Focale : 100 mm) puis ajustement AT (Bundle Block), Ortho (bicubique), réctification des images avec MNT-MO Lidar 2002</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/onlinesrc-add.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/onlinesrc-add.xsl new file mode 100644 index 00000000000..5dac1421990 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/onlinesrc-add.xsl @@ -0,0 +1,562 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- +Processing to insert or update an online resource element. +Insert is made in first transferOptions found. +--> +<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:java="java:org.fao.geonet.util.XslUtil" + version="2.0" xmlns:che="http://www.geocat.ch/2008/che"> + + <!-- Main properties for the link. + Name and description may be multilingual eg. ENG#English name|FRE#Le français + Name and description may be a list of layer/feature type names and titles comma separated. --> + <xsl:param name="protocol" select="'WWW:LINK-1.0-http--link'"/> + <xsl:param name="url"/> + <xsl:param name="name"/> + <xsl:param name="desc"/> + <xsl:param name="function"/> + <xsl:param name="applicationProfile"/> + + <!-- Add an optional uuidref attribute to the onLine element created. --> + <xsl:param name="uuidref"/> + + <!-- In this case an external metadata is available under the + extra element and all online resource from this records are added + in this one. --> + <xsl:param name="extra_metadata_uuid"/> + + <!-- Target element to update. The key is based on the concatenation + of URL+Protocol+Name --> + <xsl:param name="updateKey"/> + + <!-- The default language is also added as gmd:locale + for multilingual metadata records. --> + <xsl:variable name="mainLanguage" + select="/*/gmd:language/gco:CharacterString/text()| + /*/gmd:language/gmd:LanguageCode/@codeListValue"/> + + <xsl:variable name="mainLanguageId" + select="concat('#', upper-case(java:twoCharLangCode($mainLanguage)))"/> + + <xsl:variable name="isMultilingual" + select="count(/*/gmd:locale[*/gmd:languageCode/*/@codeListValue != $mainLanguage]) > 0"/> + + <xsl:variable name="mainLang"> + <xsl:value-of + select="(gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata'])/gmd:language/gmd:LanguageCode/@codeListValue"/> + </xsl:variable> + + <xsl:template match="gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata']"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:apply-templates + select="gmd:fileIdentifier| + gmd:language| + gmd:characterSet| + gmd:parentIdentifier| + gmd:hierarchyLevel| + gmd:hierarchyLevelName| + gmd:contact| + gmd:dateStamp| + gmd:metadataStandardName| + gmd:metadataStandardVersion| + gmd:dataSetURI| + gmd:locale| + gmd:spatialRepresentationInfo| + gmd:referenceSystemInfo| + gmd:metadataExtensionInfo| + gmd:identificationInfo| + gmd:contentInfo"/> + + <gmd:distributionInfo> + <gmd:MD_Distribution> + <xsl:apply-templates + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat"/> + <xsl:apply-templates + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor"/> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <xsl:apply-templates + select="gmd:distributionInfo/gmd:MD_Distribution/ + gmd:transferOptions[1]/gmd:MD_DigitalTransferOptions/gmd:unitsOfDistribution"/> + <xsl:apply-templates + select="gmd:distributionInfo/gmd:MD_Distribution/ + gmd:transferOptions[1]/gmd:MD_DigitalTransferOptions/gmd:transferSize"/> + <xsl:apply-templates + select="gmd:distributionInfo/gmd:MD_Distribution/ + gmd:transferOptions[1]/gmd:MD_DigitalTransferOptions/gmd:onLine"/> + + + <xsl:if test="$updateKey = ''"> + <xsl:call-template name="createOnlineSrc"/> + </xsl:if> + + <xsl:apply-templates + select="gmd:distributionInfo/gmd:MD_Distribution/ + gmd:transferOptions[1]/gmd:MD_DigitalTransferOptions/gmd:offLine"/> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + + + <xsl:apply-templates + select="gmd:distributionInfo/gmd:MD_Distribution/ + gmd:transferOptions[position() > 1]"/> + + </gmd:MD_Distribution> + </gmd:distributionInfo> + + <xsl:apply-templates + select="gmd:dataQualityInfo| + gmd:portrayalCatalogueInfo| + gmd:metadataConstraints| + gmd:applicationSchemaInfo| + gmd:metadataMaintenance| + gmd:series| + gmd:describes| + gmd:propertyType| + gmd:featureType| + gmd:featureAttribute"/> + </xsl:copy> + </xsl:template> + + + <!-- Updating the link matching the update key. --> + <xsl:template match="gmd:onLine[ + normalize-space($updateKey) = concat( + (if ($isMultilingual) + then gmd:CI_OnlineResource/gmd:linkage/che:PT_FreeURL/che:URLGroup/che:LocalisedURL[@locale = $mainLanguageId] + else gmd:CI_OnlineResource/gmd:linkage/gmd:URL), + gmd:CI_OnlineResource/gmd:protocol/gco:CharacterString, + gmd:CI_OnlineResource/gmd:name/gco:CharacterString) + ]"> + <xsl:call-template name="createOnlineSrc"/> + </xsl:template> +<!-- TMP TO REMOVE when gco:characterString is added in multilingual elements + <xsl:template match="gmd:onLine[ + normalize-space($updateKey) = concat( + gmd:CI_OnlineResource/gmd:linkage/che:PT_FreeURL/che:URLGroup/che:LocalisedURL[@locale = '#DE'], + gmd:CI_OnlineResource/gmd:protocol/gco:CharacterString, + gmd:CI_OnlineResource/gmd:name/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[@locale = '#DE') + ]"> + <xsl:call-template name="createOnlineSrc"/> + </xsl:template> +--> + + + <xsl:template name="createOnlineSrc"> + <!-- Add all online source from the target metadata to the + current one --> + <xsl:if test="//extra"> + <xsl:for-each select="//extra//gmd:onLine"> + <gmd:onLine> + <xsl:if test="$extra_metadata_uuid"> + <xsl:attribute name="uuidref" select="$extra_metadata_uuid"/> + </xsl:if> + <xsl:apply-templates select="*"/> + </gmd:onLine> + </xsl:for-each> + </xsl:if> + + <xsl:variable name="separator" select="'\|'"/> + <xsl:variable name="useOnlyPTFreeText"> + <xsl:value-of + select="count(//*[gmd:PT_FreeText and not(gco:CharacterString)]) > 0"/> + </xsl:variable> + + + <xsl:if test="$url"> + <!-- In case the protocol is an OGC protocol + the name parameter may contains a list of layers + separated by comma. + In that case on one online element is added per + layer/featureType. + --> + + <xsl:choose> + <xsl:when test="starts-with($protocol, 'OGC:') and $name != ''"> + <xsl:for-each select="tokenize($name, ',')"> + <xsl:variable name="pos" select="position()"/> + <gmd:onLine> + <xsl:if test="$uuidref"> + <xsl:attribute name="uuidref" select="$uuidref"/> + </xsl:if> + <gmd:CI_OnlineResource> + <gmd:linkage> + <xsl:choose> + <!--Multilingual--> + <xsl:when test="contains($url, '#')"> + <xsl:attribute name="xsi:type">che:PT_FreeURL_PropertyType</xsl:attribute> + + <xsl:for-each select="tokenize($url, $separator)"> + <xsl:variable name="urlLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="urlValue" + select="substring-after(., '#')"></xsl:variable> + <xsl:if + test="$useOnlyPTFreeText = 'false' and $urlLang = $mainLang"> + <gmd:URL> + <xsl:value-of select="$urlValue"/> + </gmd:URL> + </xsl:if> + </xsl:for-each> + + <che:PT_FreeURL> + <xsl:for-each select="tokenize($url, $separator)"> + <xsl:variable name="urlLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="urlValue" + select="substring-after(., '#')"></xsl:variable> + + <xsl:if + test="$useOnlyPTFreeText = 'true' or $urlLang != $mainLang"> + <che:URLGroup> + <che:LocalisedURL + locale="{concat('#', $urlLang)}"> + <xsl:value-of select="$urlValue"/> + </che:LocalisedURL> + </che:URLGroup> + </xsl:if> + + </xsl:for-each> + </che:PT_FreeURL> + </xsl:when> + <xsl:otherwise> + <gmd:URL> + <xsl:value-of select="$url"/> + </gmd:URL> + </xsl:otherwise> + </xsl:choose> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString> + <xsl:value-of select="$protocol"/> + </gco:CharacterString> + </gmd:protocol> + + <xsl:if test="$applicationProfile != ''"> + <gmd:applicationProfile> + <xsl:choose> + <xsl:when test="contains($applicationProfile, '#')"> + <xsl:for-each select="tokenize($applicationProfile, $separator)"> + <xsl:variable name="nameLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="nameValue" + select="substring-after(., '#')"></xsl:variable> + <xsl:if + test="$useOnlyPTFreeText = 'false' and $nameLang = $mainLang"> + <gco:CharacterString> + <xsl:value-of select="$nameValue"/> + </gco:CharacterString> + </xsl:if> + </xsl:for-each> + + <gmd:PT_FreeText> + <xsl:for-each select="tokenize($applicationProfile, $separator)"> + <xsl:variable name="nameLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="nameValue" + select="substring-after(., '#')"></xsl:variable> + + <xsl:if + test="$useOnlyPTFreeText = 'true' or $nameLang != $mainLang"> + <gmd:textGroup> + <gmd:LocalisedCharacterString + locale="{concat('#', $nameLang)}"> + <xsl:value-of select="$nameValue"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:if> + + </xsl:for-each> + </gmd:PT_FreeText> + </xsl:when> + <xsl:otherwise> + <gco:CharacterString> + <xsl:value-of select="$applicationProfile"/> + </gco:CharacterString> + </xsl:otherwise> + </xsl:choose> + </gmd:applicationProfile> + </xsl:if> + + <xsl:if test=". != ''"> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="."/> + </gco:CharacterString> + </gmd:name> + </xsl:if> + + <xsl:if test="tokenize($desc, ',')[position() = $pos] != ''"> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="tokenize($desc, ',')[position() = $pos]"/> + </gco:CharacterString> + </gmd:description> + </xsl:if> + + + <xsl:if test="$function != ''"> + <gmd:function> + <gmd:CI_OnLineFunctionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="{$function}"/> + </gmd:function> + </xsl:if> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <!-- ... the name is simply added in the newly + created online element. --> + + <gmd:onLine> + <xsl:if test="$uuidref"> + <xsl:attribute name="uuidref" select="$uuidref"/> + </xsl:if> + <gmd:CI_OnlineResource> + <gmd:linkage> + + <xsl:choose> + + <!--Multilingual--> + <xsl:when test="contains($url, '#')"> + <xsl:attribute name="xsi:type">che:PT_FreeURL_PropertyType</xsl:attribute> + + <xsl:for-each select="tokenize($url, $separator)"> + <xsl:variable name="urlLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="urlValue" + select="substring-after(., '#')"></xsl:variable> + <xsl:if + test="$useOnlyPTFreeText = 'false' and $urlLang = $mainLang"> + <gmd:URL> + <xsl:value-of select="$urlValue"/> + </gmd:URL> + </xsl:if> + </xsl:for-each> + + <che:PT_FreeURL> + <xsl:for-each select="tokenize($url, $separator)"> + <xsl:variable name="urlLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="urlValue" + select="substring-after(., '#')"></xsl:variable> + + <xsl:if + test="$useOnlyPTFreeText = 'true' or $urlLang != $mainLang"> + <che:URLGroup> + <che:LocalisedURL + locale="{concat('#', $urlLang)}"> + <xsl:value-of select="$urlValue"/> + </che:LocalisedURL> + </che:URLGroup> + </xsl:if> + + </xsl:for-each> + </che:PT_FreeURL> + </xsl:when> + <xsl:otherwise> + <gmd:URL> + <xsl:value-of select="$url"/> + </gmd:URL> + </xsl:otherwise> + </xsl:choose> + </gmd:linkage> + + <xsl:if test="$protocol != ''"> + <gmd:protocol> + <gco:CharacterString> + <xsl:value-of select="$protocol"/> + </gco:CharacterString> + </gmd:protocol> + </xsl:if> + + <xsl:if test="$applicationProfile != ''"> + <gmd:applicationProfile> + <xsl:choose> + <xsl:when test="contains($applicationProfile, '#')"> + <xsl:for-each select="tokenize($applicationProfile, $separator)"> + <xsl:variable name="nameLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="nameValue" + select="substring-after(., '#')"></xsl:variable> + <xsl:if + test="$useOnlyPTFreeText = 'false' and $nameLang = $mainLang"> + <gco:CharacterString> + <xsl:value-of select="$nameValue"/> + </gco:CharacterString> + </xsl:if> + </xsl:for-each> + + <gmd:PT_FreeText> + <xsl:for-each select="tokenize($applicationProfile, $separator)"> + <xsl:variable name="nameLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="nameValue" + select="substring-after(., '#')"></xsl:variable> + + <xsl:if + test="$useOnlyPTFreeText = 'true' or $nameLang != $mainLang"> + <gmd:textGroup> + <gmd:LocalisedCharacterString + locale="{concat('#', $nameLang)}"> + <xsl:value-of select="$nameValue"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:if> + + </xsl:for-each> + </gmd:PT_FreeText> + </xsl:when> + <xsl:otherwise> + <gco:CharacterString> + <xsl:value-of select="$applicationProfile"/> + </gco:CharacterString> + </xsl:otherwise> + </xsl:choose> + </gmd:applicationProfile> + </xsl:if> + + <xsl:if test="$name != ''"> + <gmd:name> + + <xsl:choose> + + <!--Multilingual--> + <xsl:when test="contains($name, '#')"> + <xsl:for-each select="tokenize($name, $separator)"> + <xsl:variable name="nameLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="nameValue" + select="substring-after(., '#')"></xsl:variable> + <xsl:if + test="$useOnlyPTFreeText = 'false' and $nameLang = $mainLang"> + <gco:CharacterString> + <xsl:value-of select="$nameValue"/> + </gco:CharacterString> + </xsl:if> + </xsl:for-each> + + <gmd:PT_FreeText> + <xsl:for-each select="tokenize($name, $separator)"> + <xsl:variable name="nameLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="nameValue" + select="substring-after(., '#')"></xsl:variable> + + <xsl:if + test="$useOnlyPTFreeText = 'true' or $nameLang != $mainLang"> + <gmd:textGroup> + <gmd:LocalisedCharacterString + locale="{concat('#', $nameLang)}"> + <xsl:value-of select="$nameValue"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:if> + + </xsl:for-each> + </gmd:PT_FreeText> + </xsl:when> + <xsl:otherwise> + <gco:CharacterString> + <xsl:value-of select="$name"/> + </gco:CharacterString> + </xsl:otherwise> + </xsl:choose> + </gmd:name> + </xsl:if> + + <xsl:if test="$desc != ''"> + <gmd:description> + <xsl:choose> + <xsl:when test="contains($desc, '#')"> + <xsl:for-each select="tokenize($desc, $separator)"> + <xsl:variable name="descLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="descValue" + select="substring-after(., '#')"></xsl:variable> + <xsl:if + test="$useOnlyPTFreeText = 'false' and $descLang = $mainLang"> + <gco:CharacterString> + <xsl:value-of select="$descValue"/> + </gco:CharacterString> + </xsl:if> + </xsl:for-each> + + <gmd:PT_FreeText> + <xsl:for-each select="tokenize($desc, $separator)"> + <xsl:variable name="descLang" + select="substring-before(., '#')"></xsl:variable> + <xsl:variable name="descValue" + select="substring-after(., '#')"></xsl:variable> + <xsl:if + test="$useOnlyPTFreeText = 'true' or $descLang != $mainLang"> + <gmd:textGroup> + <gmd:LocalisedCharacterString + locale="{concat('#', $descLang)}"> + <xsl:value-of select="$descValue"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:if> + </xsl:for-each> + </gmd:PT_FreeText> + </xsl:when> + <xsl:otherwise> + <gco:CharacterString> + <xsl:value-of select="$desc"/> + </gco:CharacterString> + </xsl:otherwise> + </xsl:choose> + </gmd:description> + </xsl:if> + + <xsl:if test="$function != ''"> + <gmd:function> + <gmd:CI_OnLineFunctionCode + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="{$function}"/> + </gmd:function> + </xsl:if> + </gmd:CI_OnlineResource> + </gmd:onLine> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:template> + + <xsl:template match="extra" priority="2"/> + + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/onlinesrc-remove.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/onlinesrc-remove.xsl new file mode 100644 index 00000000000..910eb9fd216 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/onlinesrc-remove.xsl @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Stylesheet used to remove a reference to a online resource. +--> +<xsl:stylesheet xmlns:geonet="http://www.fao.org/geonetwork" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0"> + + <xsl:param name="url"/> + <xsl:param name="name"/> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template + match="geonet:*|gmd:onLine[normalize-space(gmd:CI_OnlineResource/gmd:linkage/gmd:URL) = $url and normalize-space(gmd:CI_OnlineResource/gmd:name/gco:CharacterString) = $name]" + priority="2"/> + <xsl:template + match="geonet:*|gmd:onLine[count(gmd:CI_OnlineResource/gmd:linkage/che:PT_FreeURL/che:URLGroup[normalize-space(che:LocalisedURL) = normalize-space($url)]) > 0 and count(gmd:CI_OnlineResource/gmd:name/gmd:PT_FreeText/gmd:textGroup[normalize-space(gmd:LocalisedCharacterString) = normalize-space($name)]) > 0]" + priority="2"/> + <xsl:template + match="geonet:*|gmd:onLine[count(gmd:CI_OnlineResource/gmd:linkage/che:PT_FreeURL/che:URLGroup[normalize-space(che:LocalisedURL) = normalize-space($url)]) > 0 and normalize-space(gmd:CI_OnlineResource/gmd:name/gco:CharacterString) = $name]" + priority="2"/> + <xsl:template + match="geonet:*|gmd:onLine[normalize-space(gmd:CI_OnlineResource/gmd:linkage/gmd:URL) = $url and normalize-space(gmd:CI_OnlineResource/gmd:name//gmd:LocalisedCharacterString) = $name]" + priority="2"/> + <xsl:template + match="geonet:*|gmd:onLine[normalize-space(gmd:CI_OnlineResource/gmd:linkage/gmd:URL) = $url and normalize-space(gmd:CI_OnlineResource/gmd:protocol/gco:CharacterString) = 'WWW:DOWNLOAD-1.0-http--download']" + priority="2"/> + <xsl:template + match="geonet:*|gmd:onLine[normalize-space(gmd:CI_OnlineResource/gmd:linkage/che:LocalisedURL) = $url and normalize-space(gmd:CI_OnlineResource/gmd:protocol/gco:CharacterString) = 'WWW:DOWNLOAD-1.0-http--download']" + priority="2"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/parent-add.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/parent-add.xsl new file mode 100644 index 00000000000..02f35505e80 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/parent-add.xsl @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all" version="2.0"> + <xsl:import href="../../iso19139/process/parent-add.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/parent-remove.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/parent-remove.xsl new file mode 100644 index 00000000000..22b0be1fe2a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/parent-remove.xsl @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all" version="2.0"> + <xsl:import href="../../iso19139/process/parent-remove.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/process-utility.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/process-utility.xsl new file mode 100644 index 00000000000..9138b1f036e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/process-utility.xsl @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exslt="http://exslt.org/common" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xs="http://www.w3.org/2001/XMLSchema" + version="2.0" exclude-result-prefixes="exslt"> + + <!-- Language of the GUI --> + <xsl:param name="guiLang" select="'en'"/> + <xsl:param name="baseUrl" select="''"/> + + <!-- Search for any of the searchStrings provided --> + <xsl:function name="geonet:parseBoolean" as="xs:boolean"> + <xsl:param name="arg"/> + <xsl:value-of + select="if ($arg='on' or $arg=true() or $arg='true' or $arg='1') then true() else false()"/> + </xsl:function> + + <!-- Return the message identified by the id in the required language + or return the english message if not found. --> + <xsl:function name="geonet:i18n" as="xs:string"> + <xsl:param name="loc"/> + <xsl:param name="id"/> + <xsl:param name="lang"/> + <xsl:value-of + select="if ($loc/msg[@id=$id and @xml:lang=$lang]) then $loc/msg[@id=$id and @xml:lang=$lang] else $loc/msg[@id=$id and @xml:lang='en']"/> + </xsl:function> + + <!-- + Retrive a WMS capabilities document. + --> + <xsl:function name="geonet:get-wms-capabilities" as="node()"> + <xsl:param name="url" as="xs:string"/> + <xsl:param name="version" as="xs:string"/> + + <xsl:copy-of + select="geonet:get-wxs-capabilities($url, 'WMS', $version)"/> + + </xsl:function> + + <xsl:function name="geonet:get-wxs-capabilities" as="node()"> + <xsl:param name="url" as="xs:string"/> + <xsl:param name="type" as="xs:string"/> + <xsl:param name="version" as="xs:string"/> + <xsl:variable name="sep" select="if (contains($url, '?')) then '&amp;' else '?'"/> + <xsl:copy-of + select="document(concat($url, $sep, 'SERVICE=', $type, '&amp;VERSION=', $version, '&amp;REQUEST=GetCapabilities'))"/> + + </xsl:function> + + <!-- Create a GetMap request for the layer which could be used to set a thumbnail. + TODO : add projection, width, heigth + --> + <xsl:function name="geonet:get-wms-thumbnail-url" as="xs:string"> + <xsl:param name="url" as="xs:string"/> + <xsl:param name="version" as="xs:string"/> + <xsl:param name="layer" as="xs:string"/> + <xsl:param name="bbox" as="xs:string"/> + + <xsl:value-of + select="concat($url, '?SERVICE=WMS&amp;VERSION=', $version, '&amp;REQUEST=GetMap&amp;SRS=EPSG:4326&amp;WIDTH=400&amp;HEIGHT=400&amp;FORMAT=image/png&amp;STYLES=&amp;LAYERS=', $layer, '&amp;BBOX=', $bbox)"/> + + </xsl:function> + + + <!-- Create an ISO 19139 extent fragment --> + <xsl:function name="geonet:make-iso-extent" as="node()"> + <xsl:param name="w" as="xs:string"/> + <xsl:param name="s" as="xs:string"/> + <xsl:param name="e" as="xs:string"/> + <xsl:param name="n" as="xs:string"/> + <xsl:param name="description" as="xs:string?"/> + + <gmd:EX_Extent> + <xsl:if test="normalize-space($description)!=''"> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="$description"/> + </gco:CharacterString> + </gmd:description> + </xsl:if> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal> + <xsl:value-of select="$w"/> + </gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal> + <xsl:value-of select="$e"/> + </gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal> + <xsl:value-of select="$s"/> + </gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal> + <xsl:value-of select="$n"/> + </gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </xsl:function> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/related-metadata-checker.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/related-metadata-checker.xsl new file mode 100644 index 00000000000..904ac548458 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/related-metadata-checker.xsl @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:java="java:org.fao.geonet.util.XslUtil" version="2.0" exclude-result-prefixes="#all"> + + <xsl:import href="process-utility.xsl"/> + + <xsl:param name="uuidToRemove"/> + + <!-- i18n information --> + <xsl:variable name="related-metadata-checker-loc"> + <msg id="a" xml:lang="en">not found (</msg> + <msg id="b" xml:lang="en">). Run this task to remove it.</msg> + <msg id="a" xml:lang="fr">non trouvé (</msg> + <msg id="b" xml:lang="fr">). Si l'erreur persiste, corriger le lien manuellement ou exécuter cette action pour le + supprimer. + </msg> + </xsl:variable> + + <xsl:template name="list-related-metadata-checker"> + <suggestion process="related-metadata-checker"/> + </xsl:template> + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-related-metadata-checker"> + <xsl:param name="root"/> + + <!-- Check URL --> + <xsl:variable name="links" + select="$root//gmd:parentIdentifier/gco:CharacterString"/> + <xsl:for-each select="$links"> + <xsl:call-template name="checkUuid"> + <xsl:with-param name="uuid" select="."/> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <xsl:template name="checkUuid"> + <xsl:param name="uuid"/> + <xsl:param name="type"/> + + <xsl:variable name="status" select="java:getIndexField($baseUrl, '_uuid', $uuid, 'en')"/> + <!-- <xsl:message>Check:<xsl:value-of select="."/>|<xsl:value-of select="$status"/></xsl:message> + --> + <xsl:if test="$status=''"> + <suggestion process="related-metadata-checker" id="{generate-id()}" category="links" target="all"> + <name xml:lang="en"> + <xsl:value-of select="$type"/> + <xsl:value-of select="."/> + <xsl:value-of select="geonet:i18n($related-metadata-checker-loc, 'a', $guiLang)"/> + <xsl:value-of select="."/>:<xsl:value-of select="$status"/> + <xsl:value-of select="geonet:i18n($related-metadata-checker-loc, 'b', $guiLang)"/> + </name> + <operational>true</operational> + <params>{ uuidToRemove:{type:'string', defaultValue:'<xsl:value-of select="normalize-space($uuid)"/>'} + } + </params> + </suggestion> + </xsl:if> + </xsl:template> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Always remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- Remove the uuid. TODO : remove the parent ? --> + <xsl:template match="*[text()=$uuidToRemove]" priority="2"/> + + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/scale-denominator-formatter.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/scale-denominator-formatter.xsl new file mode 100644 index 00000000000..962b60f1aa7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/scale-denominator-formatter.xsl @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" version="2.0"> + + <xsl:import href="process-utility.xsl"/> + + <!-- i18n information --> + <xsl:variable name="scale-denominator-loc"> + <msg id="a" xml:lang="en">The following values are not recommended for scale denominator:</msg> + <msg id="b" xml:lang="en">. Run this task to try to fix it(them).</msg> + <msg id="a" xml:lang="fr">Les valeurs suivantes ne sont pas recommandées pour le dénominateur de l'échelle :</msg> + <msg id="b" xml:lang="fr">). Exécuter cette action pour le corriger.</msg> + </xsl:variable> + + <xsl:template name="list-scale-denominator-formatter"> + <suggestion process="scale-denominator-formatter"/> + </xsl:template> + + <!-- Analyze the metadata record and return available suggestion + for that process --> + <xsl:template name="analyze-scale-denominator-formatter"> + <xsl:param name="root"/> + <xsl:variable name="dummyScales" + select="string-join($root//gmd:equivalentScale/gmd:MD_RepresentativeFraction/ + gmd:denominator[contains(gco:Integer, '/') or contains(gco:Integer, ':') or contains(gco:Integer, ' ')], ', ')"/> + <xsl:if test="$dummyScales!=''"> + <suggestion process="scale-denominator-formatter" id="{generate-id()}" category="identification" target="scale"> + <name> + <xsl:value-of select="geonet:i18n($scale-denominator-loc, 'a', $guiLang)"/> + <xsl:value-of select="$dummyScales"/> + <xsl:value-of select="geonet:i18n($scale-denominator-loc, 'b', $guiLang)"/> + </name> + <operational>true</operational> + <form/> + </suggestion> + </xsl:if> + </xsl:template> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- Remove duplicates + --> + <xsl:template match="gmd:equivalentScale/gmd:MD_RepresentativeFraction/ + gmd:denominator[contains(gco:Integer, '/') or contains(gco:Integer, ':') or contains(gco:Integer, ' ')]" + priority="2"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <gco:Integer> + <xsl:value-of select="replace(replace(replace(gco:Integer, '1:', ''), '1/', ''), ' ', '')"/> + </gco:Integer> + </xsl:copy> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/service-add.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/service-add.xsl new file mode 100644 index 00000000000..996af14ea67 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/service-add.xsl @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> + <xsl:include href="dataset-add.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/services-remove.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/services-remove.xsl new file mode 100644 index 00000000000..132834f2050 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/services-remove.xsl @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Stylesheet used to update metadata for a service and +detach a dataset metadata +--> +<xsl:stylesheet xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + version="2.0" +> + + <xsl:param name="uuidref"/> + + <!-- Detach --> + <xsl:template match="srv:operatesOn[@uuidref=$uuidref]" priority="2"/> + <xsl:template match="srv:coupledResource[srv:SV_CoupledResource/srv:identifier/gco:CharacterString=$uuidref]" + priority="2"/> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/sibling-add.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/sibling-add.xsl new file mode 100644 index 00000000000..9c27a32b072 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/sibling-add.xsl @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../../iso19139/process/sibling-add.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/sibling-remove.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/sibling-remove.xsl new file mode 100644 index 00000000000..b193b3ff6b8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/sibling-remove.xsl @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../../iso19139/process/sibling-remove.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/source-add.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/source-add.xsl new file mode 100644 index 00000000000..d386af08d56 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/source-add.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../../iso19139/process/source-add.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/source-remove.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/source-remove.xsl new file mode 100644 index 00000000000..c197516db2f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/source-remove.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" exclude-result-prefixes="#all"> + <xsl:import href="../../iso19139/process/source-remove.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/thumbnail-add.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/thumbnail-add.xsl new file mode 100644 index 00000000000..1795ee1e6f1 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/thumbnail-add.xsl @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all" version="2.0"> + <xsl:import href="../../iso19139/process/thumbnail-add.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/thumbnail-remove.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/thumbnail-remove.xsl new file mode 100644 index 00000000000..a5401a974f3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/thumbnail-remove.xsl @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="#all" version="2.0"> + <xsl:import href="../../iso19139/process/thumbnail-remove.xsl"/> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/thumbnails-host-url-relocator.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/thumbnails-host-url-relocator.xsl new file mode 100644 index 00000000000..2d392abce72 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/thumbnails-host-url-relocator.xsl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + This processing allows changing the url prefix of any + gmd:URL elements in iso19139 based metadata records. + + Parameters: + * process=thumbnails-host-url-relocator (fixed value) + * urlPrefix=http://localhost : url prefix to replace + * newUrlPrefix=http://newhost.org : prefix to be replaced by. + + Calling the process using: + http://localhost:8082/geonetwork/srv/eng/metadata.batch.processing?process=thumbnails-host-url-relocator&urlPrefix=http://localhost&newUrlPrefix=http://newhost.org +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:gmd="http://www.isotc211.org/2005/gmd" version="1.0"> + + <xsl:param name="urlPrefix">http://localhost:8080/</xsl:param> + <xsl:param name="newUrlPrefix">http://newhost.org/</xsl:param> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- Replace url prefix. --> + <xsl:template match="gmd:URL" priority="2"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:choose> + <xsl:when test="starts-with(., $urlPrefix)"> + <xsl:value-of select="$newUrlPrefix"/><xsl:value-of select="substring-after(., $urlPrefix)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/update-attachFeatureCatalogue.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/update-attachFeatureCatalogue.xsl new file mode 100644 index 00000000000..e69bb9d1c59 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/update-attachFeatureCatalogue.xsl @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xlink="http://www.w3.org/1999/xlink" + version="2.0" +> + + <!-- ============================================================================= --> + + <xsl:param name="uuidref"></xsl:param> + <xsl:param name="siteUrl"></xsl:param> + + <!-- ============================================================================= --> + + <xsl:template match="/gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata']"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:copy-of + select="gmd:fileIdentifier| + gmd:language| + gmd:characterSet| + gmd:parentIdentifier| + gmd:hierarchyLevel| + gmd:hierarchyLevelName| + gmd:contact| + gmd:dateStamp| + gmd:metadataStandardName| + gmd:metadataStandardVersion| + gmd:dataSetURI| + gmd:locale| + gmd:spatialRepresentationInfo| + gmd:referenceSystemInfo| + gmd:metadataExtensionInfo| + gmd:identificationInfo"/> + + + <xsl:choose> + <!-- Check if featureCatalogueCitation for uuidref --> + <xsl:when + test="gmd:contentInfo/gmd:MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation[@uuidref = $uuidref]"> + <gmd:contentInfo> + <gmd:MD_FeatureCatalogueDescription> + <xsl:copy-of select="gmd:contentInfo/gmd:MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation[@uuidref = $uuidref]/../gmd:complianceCode| + gmd:contentInfo/gmd:MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation[@uuidref = $uuidref]/../gmd:language| + gmd:contentInfo/gmd:MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation[@uuidref = $uuidref]/../gmd:includedWithDataset| + gmd:contentInfo/gmd:MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation[@uuidref = $uuidref]/../gmd:featureTypes"/> + + <!-- Add xlink:href featureCatalogueCitation --> + <gmd:featureCatalogueCitation uuidref="{$uuidref}" + xlink:href="{$siteUrl}/csw?service=CSW&amp;request=GetRecordById&amp;version=2.0.2&amp;outputSchema=http://www.isotc211.org/2005/gmd&amp;elementSetName=full&amp;id={$uuidref}"> + <xsl:copy-of + select="gmd:contentInfo/gmd:MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation[@uuidref = $uuidref]/gmd:CI_Citation"/> + </gmd:featureCatalogueCitation> + + </gmd:MD_FeatureCatalogueDescription> + </gmd:contentInfo> + </xsl:when> + + <xsl:otherwise> + <xsl:copy-of select="gmd:contentInfo"/> + <gmd:contentInfo> + <gmd:MD_FeatureCatalogueDescription> + <gmd:includedWithDataset/> + <gmd:featureCatalogueCitation uuidref="{$uuidref}" + xlink:href="{$siteUrl}/csw?service=CSW&amp;request=GetRecordById&amp;version=2.0.2&amp;outputSchema=http://www.isotc211.org/2005/gmd&amp;elementSetName=full&amp;id={$uuidref}"/> + </gmd:MD_FeatureCatalogueDescription> + </gmd:contentInfo> + </xsl:otherwise> + </xsl:choose> + + <xsl:copy-of select="gmd:distributionInfo| + gmd:dataQualityInfo| + gmd:portrayalCatalogueInfo| + gmd:metadataConstraints| + gmd:applicationSchemaInfo| + gmd:metadataMaintenance| + gmd:series| + gmd:describes| + gmd:propertyType| + gmd:featureType| + gmd:featureAttribute"/> + + </xsl:copy> + </xsl:template> + + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/update-detachFeatureCatalogue.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/update-detachFeatureCatalogue.xsl new file mode 100644 index 00000000000..e19d4864f7c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/update-detachFeatureCatalogue.xsl @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Stylesheet used to update metadata for a service and +detach a dataset metadata +--> +<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + version="2.0" +> + + <xsl:param name="uuidref"/> + + <!-- Detach --> + <!-- Remove attributes uuidref and xlink:href --> + <xsl:template + match="gmd:contentInfo/gmd:MD_FeatureCatalogueDescription/gmd:featureCatalogueCitation[@uuidref=$uuidref]" + priority="2"> + <xsl:copy> + <xsl:apply-templates select="node()"/> + </xsl:copy> + </xsl:template> + + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/update-onlineSrc.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/update-onlineSrc.xsl new file mode 100644 index 00000000000..db60a217f2b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/update-onlineSrc.xsl @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="2.0" +> + <xsl:param name="protocol" select="'OGC:WMS-1.1.1-http-get-map'"/> + <xsl:param name="url"/> + <xsl:param name="desc"/> + <xsl:param name="scopedName"/> + + <!-- ============================================================================= --> + + <xsl:template match="gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata']"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:copy-of select="gmd:fileIdentifier| + gmd:language| + gmd:characterSet| + gmd:parentIdentifier| + gmd:hierarchyLevel| + gmd:hierarchyLevelName| + gmd:contact| + gmd:dateStamp| + gmd:metadataStandardName| + gmd:metadataStandardVersion| + gmd:dataSetURI| + gmd:locale| + gmd:spatialRepresentationInfo| + gmd:referenceSystemInfo| + gmd:metadataExtensionInfo| + gmd:identificationInfo| + gmd:contentInfo"/> + + <!-- TODO we could check if online resource already exists before adding information --> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <xsl:copy-of select="gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat"/> + <xsl:copy-of select="gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor"/> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <xsl:copy-of + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions[1]/gmd:MD_DigitalTransferOptions/gmd:unitsOfDistribution"/> + <xsl:copy-of + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions[1]/gmd:MD_DigitalTransferOptions/gmd:transferSize"/> + <xsl:copy-of + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions[1]/gmd:MD_DigitalTransferOptions/gmd:onLine"/> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <gmd:URL> + <xsl:value-of select="$url"/> + </gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString> + <xsl:value-of select="$protocol"/> + </gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gco:CharacterString> + <xsl:value-of select="$scopedName"/> + </gco:CharacterString> + </gmd:name> + <gmd:description> + <gco:CharacterString> + <xsl:value-of select="$desc"/> + </gco:CharacterString> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + <xsl:copy-of + select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions[1]/gmd:MD_DigitalTransferOptions/gmd:offLine"/> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <xsl:copy-of select="gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions[position() > 1]"/> + </gmd:MD_Distribution> + + </gmd:distributionInfo> + + <xsl:copy-of select="gmd:dataQualityInfo| + gmd:portrayalCatalogueInfo| + gmd:metadataConstraints| + gmd:applicationSchemaInfo| + gmd:metadataMaintenance| + gmd:series| + gmd:describes| + gmd:propertyType| + gmd:featureType| + gmd:featureAttribute"/> + + </xsl:copy> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/update-srv-attachDataset.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/update-srv-attachDataset.xsl new file mode 100644 index 00000000000..ba93ef8b26f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/update-srv-attachDataset.xsl @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Stylesheet used to update metadata for a service and +attached it to the metadata for data. +--> +<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xlink="http://www.w3.org/1999/xlink" + version="2.0" +> + + <!-- ============================================================================= --> + + <xsl:param name="uuidref"></xsl:param> + <xsl:param name="scopedName"></xsl:param> + <xsl:param name="siteUrl"></xsl:param> + + <!-- ============================================================================= --> + + <xsl:template match="/gmd:MD_Metadata|*[@gco:isoType='gmd:MD_Metadata']"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:copy-of + select="gmd:fileIdentifier| + gmd:language| + gmd:characterSet| + gmd:parentIdentifier| + gmd:hierarchyLevel| + gmd:hierarchyLevelName| + gmd:contact| + gmd:dateStamp| + gmd:metadataStandardName| + gmd:metadataStandardVersion| + gmd:dataSetURI| + gmd:locale| + gmd:spatialRepresentationInfo| + gmd:referenceSystemInfo| + gmd:metadataExtensionInfo"/> + + <!-- Check current metadata is a service metadata record --> + <xsl:choose> + <xsl:when test="gmd:identificationInfo/srv:SV_ServiceIdentification| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']"> + <gmd:identificationInfo> + <srv:SV_ServiceIdentification> + <xsl:copy-of select="gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:citation| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:citation| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:abstract| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:abstract| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:purpose| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:purpose| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:credit| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:credit| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:statut| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:statut| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:pointOfContact| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceMaintenance| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:resourceMaintenance| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:graphicOverview| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:graphicOverview| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceFormat| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:resourceFormat| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:descriptiveKeywords| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:descriptiveKeywords| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceSpecificUsage| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:resourceSpecificUsage| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:resourceConstraints| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:resourceConstraints| + gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:aggregationInfo| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:aggregationInfo| + gmd:identificationInfo/srv:SV_ServiceIdentification/srv:serviceType| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:serviceType| + gmd:identificationInfo/srv:SV_ServiceIdentification/srv:serviceTypeVersion| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:serviceTypeVersion| + gmd:identificationInfo/srv:SV_ServiceIdentification/srv:accessProperties| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:accessProperties| + gmd:identificationInfo/srv:SV_ServiceIdentification/srv:restrictions| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:restrictions| + gmd:identificationInfo/srv:SV_ServiceIdentification/srv:keywords| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:keywords| + gmd:identificationInfo/srv:SV_ServiceIdentification/srv:extent| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:extent"/> + + + <!-- Handle SV_CoupledResource --> + <xsl:variable name="coupledResource"> + <srv:coupledResource> + <srv:SV_CoupledResource> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:identifier> + <gco:CharacterString> + <xsl:value-of select="$uuidref"/> + </gco:CharacterString> + </srv:identifier> + <gco:ScopedName> + <xsl:value-of select="$scopedName"/> + </gco:ScopedName> + </srv:SV_CoupledResource> + </srv:coupledResource> + </xsl:variable> + + <xsl:choose> + <xsl:when test="gmd:identificationInfo/srv:SV_ServiceIdentification/srv:coupledResource| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:coupledResource"> + <xsl:for-each select="gmd:identificationInfo/srv:SV_ServiceIdentification/srv:coupledResource| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:coupledResource"> + <!-- Avoid duplicate SV_CoupledResource elements --> + <xsl:choose> + <xsl:when test="srv:SV_CoupledResource/srv:identifier/gco:CharacterString!=$uuidref"> + <xsl:copy-of select="."/> + </xsl:when> + </xsl:choose> + <xsl:if test="position()=last()"> + <xsl:copy-of select="$coupledResource"/> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$uuidref and $uuidref != ''"> + <xsl:copy-of select="$coupledResource"/> + </xsl:if> + </xsl:otherwise> + + </xsl:choose> + + + <xsl:copy-of select="gmd:identificationInfo/srv:SV_ServiceIdentification/srv:couplingType| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:couplingType| + gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:containsOperations| + gmd:identificationInfo/srv:SV_ServiceIdentification/srv:operatesOn[@uuidref!=$uuidref]| + gmd:identificationInfo/*[@gco:isoType='srv:SV_ServiceIdentification']/srv:operatesOn[@uuidref!=$uuidref]"/> + + <!-- Handle operatesOn --> + <srv:operatesOn uuidref="{$uuidref}" + xlink:href="{$siteUrl}/csw?service=CSW&amp;request=GetRecordById&amp;version=2.0.2&amp;outputSchema=http://www.isotc211.org/2005/gmd&amp;elementSetName=full&amp;id={$uuidref}"/> + + </srv:SV_ServiceIdentification> + </gmd:identificationInfo> + </xsl:when> + <xsl:otherwise> + <!-- Probably a dataset metadata record --> + <xsl:copy-of select="gmd:identificationInfo"/> + </xsl:otherwise> + </xsl:choose> + + <xsl:copy-of select="gmd:contentInfo| + gmd:distributionInfo| + gmd:dataQualityInfo| + gmd:portrayalCatalogueInfo| + gmd:metadataConstraints| + gmd:applicationSchemaInfo| + gmd:metadataMaintenance| + gmd:series| + gmd:describes| + gmd:propertyType| + gmd:featureType| + gmd:featureAttribute"/> + + </xsl:copy> + </xsl:template> + + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/update-srv-detachDataset.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/update-srv-detachDataset.xsl new file mode 100644 index 00000000000..132834f2050 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/update-srv-detachDataset.xsl @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Stylesheet used to update metadata for a service and +detach a dataset metadata +--> +<xsl:stylesheet xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + version="2.0" +> + + <xsl:param name="uuidref"/> + + <!-- Detach --> + <xsl:template match="srv:operatesOn[@uuidref=$uuidref]" priority="2"/> + <xsl:template match="srv:coupledResource[srv:SV_CoupledResource/srv:identifier/gco:CharacterString=$uuidref]" + priority="2"/> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/url-host-relocator.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/url-host-relocator.xsl new file mode 100644 index 00000000000..a87016c37b4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/url-host-relocator.xsl @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + This processing allows changing the url prefix of any + gmd:URL, gco:CharacterString and xlink:href elements + in iso19139 based metadata records. + + Parameters: + * process=url-host-relocator (fixed value) + * urlPrefix=http://localhost : url prefix to replace + * newUrlPrefix=http://newhost.org : prefix to be replaced by. + + Calling the process using: + http://localhost:8082/geonetwork/srv/eng/metadata.batch.processing?process=url-host-relocator&urlPrefix=http://localhost&newUrlPrefix=http://newhost.org +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" version="1.0"> + + <xsl:param name="urlPrefix">http://localhost:8080/</xsl:param> + <xsl:param name="newUrlPrefix">http://newhost.org/</xsl:param> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- Replace in gmd:URL (uploaded document) + or gco:CharacterString (eg. resource identifier may be based on host name) --> + <xsl:template match="gmd:URL[starts-with(text(), $urlPrefix)]| + che:LocalisedURL[starts-with(text(), $urlPrefix)]| + gco:CharacterString[starts-with(text(), $urlPrefix)]" priority="2"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:value-of select="concat($newUrlPrefix, substring-after(., $urlPrefix))"/> + </xsl:copy> + </xsl:template> + + <!-- Replace in XLinks. --> + <xsl:template match="@xlink:href[starts-with(., $urlPrefix)]" priority="2"> + <xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink"> + <xsl:value-of select="concat($newUrlPrefix, substring-after(., $urlPrefix))"/> + </xsl:attribute> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/process/xlinks-href-update.xsl b/iso19139.che/src/main/plugin/iso19139.che/process/xlinks-href-update.xsl new file mode 100644 index 00000000000..95c44c87b99 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/process/xlinks-href-update.xsl @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Processing steps are : + * update host and port + + Parameters: + * process=xlinks-href-update (fixed value) + * search : old host URL + * replace : new host URL + +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:geonet="http://www.fao.org/geonetwork" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:exslt="http://exslt.org/common" version="2.0" + exclude-result-prefixes="exslt"> + + <xsl:param name="search">http://localhost:8084/</xsl:param> + <xsl:param name="replace">http://localhost:8080/</xsl:param> + + <!-- Do a copy of every nodes and attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Remove geonet:* elements. --> + <xsl:template match="geonet:*" priority="2"/> + + <!-- Replace url prefix. --> + <xsl:template match="*[@xlink:href]" priority="2"> + <xsl:message>Processing:<xsl:value-of select="name(.)"/> + </xsl:message> + <xsl:message>XLink:<xsl:value-of select="@xlink:href"/> + </xsl:message> + <xsl:copy> + <xsl:apply-templates select="@*[name(.) != 'xlink:href']"/> + + + <xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink"> + <xsl:variable name="url" select="@xlink:href"/> + + <xsl:choose> + <xsl:when test="starts-with($url, $search)"> + <xsl:value-of select="$replace"/> + <xsl:value-of select="substring-after($url, $search)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$url"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:apply-templates select="*"/> + </xsl:copy> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/sample-data/geocat-md-samples.mef b/iso19139.che/src/main/plugin/iso19139.che/sample-data/geocat-md-samples.mef new file mode 100644 index 00000000000..8b65b237d06 Binary files /dev/null and b/iso19139.che/src/main/plugin/iso19139.che/sample-data/geocat-md-samples.mef differ diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema-ident.xml b/iso19139.che/src/main/plugin/iso19139.che/schema-ident.xml new file mode 100644 index 00000000000..062874d2e6d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema-ident.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://geonetwork-opensource.org/schemas/schema-ident" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xsi:schemaLocation="http://geonetwork-opensource.org/schemas/schema-ident http://geonetwork-opensource.org/schemas/schema-ident/schema-ident.xsd"> + <name>iso19139.che</name> + <id>4f95190a-dde4-11df-8626-001c2346de4c</id> + <version>1.0</version> + <appMinorVersionSupported>3.4.0</appMinorVersionSupported> + <title xml:lang="en">Geographic information -- Metadata -- ISO19139.che for GM03</title> + <title xml:lang="fr">Information géographique -- Métadonnées -- ISO19139.che for GM03</title> + <description xml:lang="en"> + The metadata model GM03 is a Swiss standard SNV 612050. GM03 is a profile of the international metadata standard ISO 19115. + </description> + <description xml:lang="fr"> + Le modèle de métadonnées suisse GM03 est une norme suisse: SN 612050. GM03 est un profil de la norme de métadonnées internationale ISO 19115. + </description> + <standardUrl xml:lang="en">https://www.geocat.admin.ch/en/documentation/gm03-metadata-model.html</standardUrl> + <standardUrl xml:lang="fr">https://www.geocat.admin.ch/fr/documentation/gm03-metadata-model.html</standardUrl> + <schemaLocation>http://www.geocat.ch/2008/che https://www.geocat.ch/geonetwork/xml/schemas/iso19139.che/schema/che/che.xsd + </schemaLocation> + <autodetect xmlns:che="http://www.geocat.ch/2008/che"> + <elements type="root"> + <che:CHE_MD_Metadata/> + <che:CHE_CI_ResponsibleParty/> + <gmd:MD_Format/> + <gmd:EX_Extent/> + </elements> + </autodetect> + <filters xmlns:gco="http://www.isotc211.org/2005/gco"> + <filter xpath="*//*[@gco:nilReason='withheld']" + ifNotOperation="editing"> + <keepMarkedElement gco:nilReason="withheld"/> + </filter> + <filter + xpath="*//gmd:onLine[*/gmd:protocol/gco:CharacterString = 'WWW:DOWNLOAD-1.0-http--download']" + ifNotOperation="download"/> + <filter xpath="*//gmd:onLine[starts-with(*/gmd:protocol/gco:CharacterString, 'OGC:WMS')]" + ifNotOperation="dynamic"/> + </filters> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema-overrides.xml b/iso19139.che/src/main/plugin/iso19139.che/schema-overrides.xml new file mode 100644 index 00000000000..7d5aef57389 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema-overrides.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<fields/> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema-substitutes.xml b/iso19139.che/src/main/plugin/iso19139.che/schema-substitutes.xml new file mode 100644 index 00000000000..574609d7f87 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema-substitutes.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<fields> + <!-- override all the schema substitutes for gco:CharacterString + - we don't want any--> + <field name="gco:CharacterString"> + </field> + + <!-- offer just the service and data identification --> + <field name="gmd:AbstractMD_Identification"> + <substitute name="che:CHE_MD_DataIdentification"/> + <substitute name="che:CHE_SV_ServiceIdentification"/> + <substitute name="srv:SV_ServiceIdentification"/> + <substitute name="gmd:MD_DataIdentification"/> + </field> + + <field name="gmd:MD_Metadata"> + <substitute name="che:CHE_MD_Metadata"/> + </field> + + <field name="gmd:CI_ResponsibleParty"> + <substitute name="che:CHE_CI_ResponsibleParty"/> + </field> + + <field name="gmd:CI_Telephone"> + <substitute name="che:CHE_CI_Telephone"/> + </field> + + <field name="gmd:CI_Address"> + <substitute name="che:CHE_CI_Address"/> + </field> + + <field name="gmd:MD_MaintenanceInformation"> + <substitute name="che:CHE_MD_MaintenanceInformation"/> + </field> + + <field name="gmd:MD_LegalConstraints"> + <substitute name="CHE_MD_LegalConstraints"/> + </field> + + <field name="gmd:MD_SecurityConstraints"> + <substitute name="che:CHE_MD_SecurityConstraints"/> + </field> + + <field name="gmd:MD_CoverageDescription"> + <substitute name="che:CHE_MD_CoverageDescription"/> + </field> + + <field name="gmd:MD_FeatureCatalogueDescription"> + <substitute name="che:CHE_MD_FeatureCatalogueDescription"/> + </field> + + <field name="gmd:MD_ScopeCode"> + <substitute name="gmd:MD_ScopeCode"/> + </field> + <field name="gmd:URL"> + <substitute name="che:PT_FreeURL"/> + </field> + + <field name="gmd:MD_Identifier"> + <!-- We don't want RS_Identifier --> + </field> + +</fields> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema-suggestions.xml b/iso19139.che/src/main/plugin/iso19139.che/schema-suggestions.xml new file mode 100644 index 00000000000..967b2a37b10 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema-suggestions.xml @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8"?> +<fields> + <!-- Service --> + <field name="srv:coupledResource"> + <suggest name="srv:SV_CoupledResource"/> + </field> + + <field name="srv:parameters"> + <suggest name="srv:SV_Parameter"/> + </field> + + <field name="srv:direction"> + <suggest name="srv:SV_ParameterDirection"/> + </field> + + <field name="gmd:CI_OnlineResource"> + <suggest name="gmd:linkage"/> + <suggest name="gmd:protocol"/> + <suggest name="gmd:name"/> + <suggest name="gmd:description"/> + </field> + + <field name="che:CHE_CI_ResponsibleParty"> + <suggest name="che:individualLastName"/> + <suggest name="che:organisationAcronym"/> + <suggest name="gmd:organisationName"/> + <suggest name="gmd:positionName"/> + <suggest name="gmd:contactInfo"/> + </field> + + <field name="gmd:CI_Contact"> + <suggest name="gmd:phone"/> + <suggest name="gmd:address"/> + </field> + + <field name="che:CHE_CI_Telephone"> + <suggest name="gmd:voice"/> + <suggest name="gmd:facsimile"/> + </field> + + <field name="che:CHE_CI_Address"> + <suggest name="gmd:deliveryPoint"/> + <suggest name="gmd:city"/> + <suggest name="gmd:administrativeArea"/> + <suggest name="gmd:postalCode"/> + <suggest name="gmd:country"/> + <suggest name="gmd:electronicMailAddress"/> + <suggest name="che:streetName"/> + <suggest name="che:streetNumber"/> + <suggest name="che:addressLine"/> + <suggest name="che:postBox"/> + </field> + + <field name="gmd:MD_Keywords"> + <suggest name="gmd:type"/> + </field> + + <field name="gmd:EX_Extent"> + <suggest name="gmd:temporalElement"/> + <suggest name="gmd:geographicElement"/> + </field> + + <field name="gmd:EX_TemporalExtent"> + <suggest name="gmd:extent"/> + </field> + + <field name="gmd:extent"> + <suggest name="gmd:EX_Extent"/> + <exception parent="gmd:EX_SpatialTemporalExtent"/> + <exception parent="gmd:EX_TemporalExtent"/> + </field> + + <field name="che:revisionExtent"> + <suggest name="gmd:EX_Extent"/> + </field> + + <field name="gmd:sourceExtent"> + <suggest name="gmd:EX_Extent"/> + </field> + + <field name="gmd:polygon"> + <suggest name="gml:Polygon"/> + </field> + + <field name="gml:TimePeriod"> + <suggest name="gml:beginPosition"/> + <suggest name="gml:endPosition"/> + </field> + + <field name="gmd:EX_GeographicBoundingBox"> + <suggest name="gmd:westBoundLongitude"/> + <suggest name="gmd:eastBoundLongitude"/> + <suggest name="gmd:southBoundLatitude"/> + <suggest name="gmd:northBoundLatitude"/> + </field> + + <field name="gmd:attributes"> + <suggest name="uuidref"/> + </field> + + <field name="che:attribute"> + <suggest name="che:description"/> + </field> + + <field name="gmd:features"> + <suggest name="uuidref"/> + </field> + + <field name="gmd:featureInstances"> + <suggest name="uuidref"/> + </field> + + <field name="gmd:attributeInstances"> + <suggest name="uuidref"/> + </field> + + <field name="gmd:propertyType"> + <suggest name="uuidref"/> + </field> + + <field name="gmd:featureType"> + <suggest name="uuidref"/> + </field> + + <field name="gmd:featureAttribute"> + <suggest name="uuidref"/> + </field> + + <field name="srv:operatesOn"> + <suggest name="uuidref"/> + </field> + + <field name="gml:Polygon"> + <suggest name="srsName"/> + </field> + + <field name="gml:descriptionReference"> + <suggest name="xlink:href"/> + </field> + + <field name="gmd:MD_Distributor"> + <!-- Eventhough gmd:distributorContact is a mandatory field, we don't want to add it since + we want the user to choose a sharedObject instead --> + <filter name="gmd:distributorContact"/> + </field> + <field name="gmd:source"> + <exception parent="gmd:LI_Lineage"/> + <exception parent="gmd:LI_ProcessStep"/> + </field> + + <field name="gmd:date"> + <suggest name="gco:Date"/> + </field> +</fields> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema.xsd new file mode 100644 index 00000000000..3efd57bc078 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema.xsd @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.geocat.ch/2008/che" + elementFormDefault="qualified" +> + <xs:include schemaLocation="schema2007/che/che.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/srv" schemaLocation="schema2007/srv/srv.xsd"/> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/che/che.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/che/che.xsd new file mode 100644 index 00000000000..439becc4828 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/che/che.xsd @@ -0,0 +1,614 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSpy v2008 sp1 (http://www.altova.com) by BRGM SG/DL (BRGM SG/DL) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:che="http://www.geocat.ch/2008/che" + xmlns:srv="http://www.isotc211.org/2005/srv" targetNamespace="http://www.geocat.ch/2008/che" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Extension for GM03_V2 profile</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/gfc" schemaLocation="../gfc/gfc.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmi" schemaLocation="../gmi/gmi.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/basicTypes.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmx" schemaLocation="../gmx/gmx.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/srv" schemaLocation="../srv/srv.xsd"/> + <!-- ########################################################################### --> + <!--,--> + <!-- =========================== L'attribut cheType ============================== --> + <xs:attribute name="cheType" type="xs:string"/> + <!-- Extension ResponsibleParty class --> + <xs:complexType name="CHE_CI_ResponsibleParty_Type"> + <xs:complexContent> + <xs:extension base="gmd:CI_ResponsibleParty_Type"> + <xs:sequence> + <xs:element name="individualFirstName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="individualLastName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="organisationAcronym" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="parentResponsibleParty" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:CI_ResponsibleParty"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_CI_ResponsibleParty" type="che:CHE_CI_ResponsibleParty_Type" + substitutionGroup="gmd:CI_ResponsibleParty"/> + <!-- Extension Address class --> + <xs:complexType name="CHE_Cl_Address_Type"> + <xs:complexContent> + <xs:extension base="gmd:CI_Address_Type"> + <xs:sequence> + <xs:element name="streetName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="streetNumber" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="addressLine" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="postBox" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:CI_Address"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_CI_Address" type="che:CHE_Cl_Address_Type" substitutionGroup="gmd:CI_Address"/> + <!-- Extension Telephone class --> + <xs:complexType name="CHE_CI_Telephone_Type"> + <xs:complexContent> + <xs:extension base="gmd:CI_Telephone_Type"> + <xs:sequence> + <xs:element name="directNumber" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="mobile" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:CI_Telephone"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_CI_Telephone" type="che:CHE_CI_Telephone_Type" substitutionGroup="gmd:CI_Telephone"/> + <!-- MD_Legislation extension --> + <xs:complexType name="CHE_MD_Legislation_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="country" type="gmd:Country_PropertyType" maxOccurs="unbounded"/> + <xs:element name="language" type="gmd:LanguageCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="legislationType" type="che:CHE_CI_LegislationType_PropertyType" minOccurs="0"/> + <xs:element name="internalReference" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="title" type="gmd:CI_Citation_PropertyType"/> + </xs:sequence> + <!-- FIXME : do we need a gco:isoType for an extension of AbstractObject in profil ? --> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_Legislation"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Legislation" type="che:CHE_MD_Legislation_Type" substitutionGroup="gco:AbstractObject"/> + <xs:complexType name="CHE_MD_Legislation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Legislation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- TODO : add codeList --> + <!-- MD_LegislationType --> + <xs:element name="CHE_CI_LegislationCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_CI_LegislationType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_CI_LegislationCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- MD LegalConstraints extension to legislationConstraints --> + <xs:complexType name="CHE_MD_LegalConstraints_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_LegalConstraints_Type"> + <xs:sequence> + <xs:element name="legislationConstraints" type="che:CHE_MD_Legislation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_LegalConstraints"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_LegalConstraints" type="che:CHE_MD_LegalConstraints_Type" + substitutionGroup="gmd:MD_LegalConstraints"/> + <!-- MD Metadata extension to legislationConstraints --> + <xs:complexType name="CHE_MD_Metadata_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_Metadata_Type"> + <xs:sequence> + <xs:element name="legislationInformation" type="che:CHE_MD_Legislation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_Metadata"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Metadata" type="che:CHE_MD_Metadata_Type" substitutionGroup="gmd:MD_Metadata"/> + <!-- MD_Revision class --> + <xs:complexType name="CHE_MD_Revision_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="revisionScope" type="gmd:MD_ScopeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="dateOfLastUpdate" type="gco:Date_PropertyType" minOccurs="0"/> + <xs:element name="revisionNote" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="revisionScopeDescription" type="gmd:MD_ScopeDescription_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="revisionExtent" type="gmd:EX_Extent_PropertyType" minOccurs="0"/> + <xs:element name="revisionContact" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + <!-- --> + <xs:attribute ref="gco:isoType" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Revision" type="che:CHE_MD_Revision_Type" substitutionGroup="gco:AbstractObject"/> + <xs:complexType name="CHE_MD_Revision_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Revision"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_CI_projectTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_CI_projectType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_CI_projectTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--Extension MD_DataIdentification --> + <xs:complexType name="CHE_MD_DataIdentification_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_DataIdentification_Type"> + <xs:sequence> + <xs:element name="projectType" type="che:CHE_CI_projectType_PropertyType" minOccurs="0"/> + <xs:element name="revision" type="che:CHE_MD_Revision_PropertyType" minOccurs="0"/> + <xs:element name="basicGeodataID" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="basicGeodataIDType" type="che:basicGeodataIDType_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="geodataType" type="che:geodataType_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <!-- CHEKME no or non --> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_DataIdentification"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_DataIdentification" type="che:CHE_MD_DataIdentification_Type" + substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ........................................................................ --> + <xs:element name="basicGeodataIDTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="basicGeodataIDType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:basicGeodataIDTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_geodataTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="geodataType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:MD_geodataTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ........................................................................ --> + <!--Extension MD_MD_MaintenanceInformation--> + <xs:complexType name="CHE_MD_MaintenanceInformation_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_MaintenanceInformation_Type"> + <xs:sequence> + <xs:element name="dateOfMonitoringState" type="gco:Date_PropertyType" minOccurs="0"/> + <xs:element name="historyConcept" type="che:CHE_MD_HistoryConcept_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="archiveConcept" type="che:CHE_MD_ArchiveConcept_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="appraisal" type="che:CHE_MD_Appraisal_AAP_PropertyType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_MaintenanceInformation"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_MaintenanceInformation" type="che:CHE_MD_MaintenanceInformation_Type" + substitutionGroup="gmd:MD_MaintenanceInformation"/> + <!-- che:CHE_MD_HistoryConcept --> + <xs:complexType name="CHE_MD_HistoryConcept_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="historyConceptCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="historyConceptURL" type="gmd:URL_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_HistoryConcept" type="che:CHE_MD_HistoryConcept_Type" + substitutionGroup="gco:AbstractObject"/> + <xs:complexType name="CHE_MD_HistoryConcept_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_HistoryConcept"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- CHE_MD_ArchiveConcept --> + <xs:complexType name="CHE_MD_ArchiveConcept_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="archiveConceptCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="archiveConceptURL" type="gmd:URL_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_ArchiveConcept" type="che:CHE_MD_ArchiveConcept_Type" + substitutionGroup="gco:AbstractObject"/> + <xs:complexType name="CHE_MD_ArchiveConcept_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_ArchiveConcept"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + + <!-- AAP --> + <xs:complexType name="CHE_MD_Appraisal_AAP_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Appraisal_AAP"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + + <xs:element name="CHE_MD_Appraisal_AAP" type="che:CHE_MD_Appraisal_AAP_Type" substitutionGroup="gco:AbstractObject"/> + + <xs:complexType name="CHE_MD_Appraisal_AAP_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:annotation> + <xs:documentation>AAP</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="durationOfConservation" type="gco:Integer_PropertyType" + minOccurs="1" maxOccurs="1"/> + <xs:element name="commentOnDurationOfConservation" type="gco:CharacterString_PropertyType" + minOccurs="0" maxOccurs="1"/> + <xs:element name="appraisalOfArchivalValue" type="che:CHE_AppraisalOfArchivalValue_Type" + minOccurs="1" maxOccurs="1"/> + <xs:element name="reasonForArchivingValue" type="che:CHE_ReasonForArchivingValue_Type" + minOccurs="0" maxOccurs="1"/> + <xs:element name="commentOnArchivalValue" type="gco:CharacterString_PropertyType" + minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:element name="CHE_AppraisalOfArchivalValueCode" type="gco:CodeListValue_Type" + substitutionGroup="gco:CharacterString"/> + <xs:element name="CHE_ReasonForArchivingValueCode" type="gco:CodeListValue_Type" + substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_AppraisalOfArchivalValue_Type"> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element ref="che:CHE_AppraisalOfArchivalValueCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CHE_ReasonForArchivingValue_Type"> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element ref="che:CHE_ReasonForArchivingValueCode"/> + </xs:sequence> + </xs:complexType> + + <!-- MD_AbstractClass --> + <xs:complexType name="CHE_MD_AbstractClass_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="attribute" type="che:CHE_MD_Attribute_Type" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="baseClass" type="che:CHE_MD_AbstractClass_PropertyType" minOccurs="0"/> + <xs:element name="subClass" type="che:CHE_MD_AbstractClass_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_AbstractClass_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_AbstractClass"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_AbstractClass" type="che:CHE_MD_AbstractClass_Type" substitutionGroup="gco:AbstractObject"/> + <!--CHE_MD_Association --> + <xs:complexType name="CHE_MD_Association_Type"> + <xs:complexContent> + <xs:extension base="che:CHE_MD_AbstractClass_Type"> + <xs:sequence> + <xs:element name="role" type="che:CHE_MD_Role_PropertyType" minOccurs="2" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Association" type="che:CHE_MD_Association_Type" + substitutionGroup="che:CHE_MD_AbstractClass"/> + <!--MD_Class --> + <xs:complexType name="CHE_MD_Class_Type"> + <xs:complexContent> + <xs:extension base="che:CHE_MD_AbstractClass_Type"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Class" type="che:CHE_MD_Class_Type" substitutionGroup="che:CHE_MD_AbstractClass"/> + <!-- MD_CodeDomain --> + <xs:complexType name="CHE_MD_CodeDomain_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="type" type="che:CHE_MD_Type_Type" minOccurs="0"/> + <xs:element name="subDomain" type="che:CHE_MD_CodeDomain_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="baseDomain" type="che:CHE_MD_CodeDomain_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_CodeDomain_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_CodeDomain"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_CodeDomain" type="che:CHE_MD_CodeDomain_Type" substitutionGroup="gco:AbstractObject"/> + <!-- MD_Type --> + <xs:complexType name="CHE_MD_Type_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="type" type="gco:CharacterString_PropertyType"/> + <xs:element name="value" type="che:CHE_MD_CodeValue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_Type_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Type"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_Type" type="che:CHE_MD_Type_Type" substitutionGroup="gco:AbstractObject"/> + <!-- MD_Attribute --> + <xs:complexType name="CHE_MD_Attribute_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="namedType" type="che:CHE_MD_CodeDomain_PropertyType" minOccurs="0"/> + <xs:element name="anonymousType" type="che:CHE_MD_Type_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_Attribute_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Attribute"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_Attribute" type="che:CHE_MD_Attribute_Type" substitutionGroup="gco:AbstractObject"/> + <!-- MD_Role --> + <xs:complexType name="CHE_MD_Role_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="toClass" type="che:CHE_MD_AbstractClass_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_Role_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Role"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_Role" type="che:CHE_MD_Role_Type" substitutionGroup="gco:AbstractObject"/> + <!-- MD_CodeValue --> + <xs:complexType name="CHE_MD_CodeValue_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="code" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="subValue" type="che:CHE_MD_CodeValue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_CodeValue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_CodeValue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_CodeValue" type="che:CHE_MD_CodeValue_Type" substitutionGroup="gco:AbstractObject"/> + <!-- ================================== CHE_MD_FeatureCatalogueDescription_PropertyType ================================= --> + <xs:complexType name="CHE_MD_FeatureCatalogueDescription_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_FeatureCatalogueDescription_Type"> + <xs:sequence> + <xs:element name="dataModel" type="che:PT_FreeURL_PropertyType" minOccurs="0"/> + <xs:element name="class" type="che:CHE_MD_AbstractClass_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="domain" type="che:CHE_MD_CodeDomain_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="modelType" type="che:CHE_MD_modelTypeCode_PropertyType"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_FeatureCatalogueDescription"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_FeatureCatalogueDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_FeatureCatalogueDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_FeatureCatalogueDescription" type="che:CHE_MD_FeatureCatalogueDescription_Type" + substitutionGroup="gmd:MD_FeatureCatalogueDescription"/> + <!-- ======================= che:che_modelType_PropertyType=================== --> + <!-- che:che_modelType_PropertyType --> + <xs:element name="CHE_MD_modelTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_MD_modelTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_modelTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ================================== CHE_MD_PortrayalCatalogueReference_PropertyType ================================= --> + <xs:complexType name="CHE_MD_PortrayalCatalogueReference_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_PortrayalCatalogueReference_Type"> + <xs:sequence> + <xs:element name="portrayalCatalogueURL" type="che:PT_FreeURL_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_PortrayalCatalogueReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_PortrayalCatalogueReference"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_PortrayalCatalogueReference" type="che:CHE_MD_PortrayalCatalogueReference_Type" + substitutionGroup="gmd:MD_PortrayalCatalogueReference"/> + <!-- ======================= CHE_MD_CoverageDescription_Type=================== --> + <xs:complexType name="CHE_MD_CoverageDescription_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_CoverageDescription_Type"> + <xs:sequence> + <xs:element name="filmType" type="che:CHE_MD_FilmTypeCode_PropertyType" minOccurs="0"/> + <xs:element name="focalDistance" type="gco:Integer_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_CoverageDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_CoverageDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_CoverageDescription" type="che:CHE_MD_CoverageDescription_Type" + substitutionGroup="gmd:MD_CoverageDescription"/> + <xs:complexType name="CHE_MD_ImageDescription_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_ImageDescription_Type"> + <xs:sequence> + <xs:element name="filmType" type="che:CHE_MD_FilmTypeCode_PropertyType" minOccurs="0"/> + <xs:element name="focalDistance" type="gco:Integer_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_ImageDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_ImageDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_ImageDescription" type="che:CHE_MD_ImageDescription_Type" + substitutionGroup="gmd:MD_ImageDescription"/> + <xs:element name="CHE_MD_FilmTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_MD_FilmTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_FilmTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========= Classes FreeURL ================================= --> + <xs:complexType name="PT_FreeURL_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="URLGroup" type="che:LocalisedURL_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PT_FreeURL" type="che:PT_FreeURL_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PT_FreeURL_PropertyType"> + <xs:complexContent> + <xs:extension base="gmd:URL_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:PT_FreeURL"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LocalisedURL_Type"> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:attribute name="id" type="xs:ID" use="optional"/> + <xs:attribute name="locale" type="xs:anyURI" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LocalisedURL" type="che:LocalisedURL_Type" substitutionGroup="gmd:URL"/> + <!-- ........................................................................ --> + <xs:complexType name="LocalisedURL_PropertyType"> + <xs:complexContent> + <xs:extension base="gco:ObjectReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:LocalisedURL"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ============================= Services ============================================== --> + <!--Extension MD_DataIdentification --> + <xs:complexType name="CHE_SV_ServiceIdentification_Type"> + <xs:complexContent> + <xs:extension base="srv:SV_ServiceIdentification_Type"> + <xs:sequence> + <xs:element name="inspireServiceType" type="che:CHE_SV_inspireServiceType_PropertyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="srv:SV_ServiceIdentification"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_SV_ServiceIdentification" type="che:CHE_SV_ServiceIdentification_Type" + substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ======================= cheCHE_SV_inspireServiceType_PropertyType=================== --> + <!-- che:che_modelType_PropertyType --> + <xs:element name="CHE_SV_inspireServiceTypeCode" type="gco:CodeListValue_Type" + substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_SV_inspireServiceType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_SV_inspireServiceTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/context/1.0.0/collection.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/context/1.0.0/collection.xsd new file mode 100644 index 00000000000..daa0f25321e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/context/1.0.0/collection.xsd @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:context="http://www.opengis.net/context" + xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.opengis.net/context" + elementFormDefault="qualified" version="1.0.0"> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> + <xs:element name="ViewContextCollection" type="context:ViewContextCollectionType"/> + <xs:complexType name="ViewContextCollectionType"> + <xs:sequence> + <xs:element name="ViewContextReference" type="context:ViewContextReferenceType" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="version" type="xs:string" use="required" fixed="1.0.0"/> + </xs:complexType> + <xs:complexType name="ViewContextReferenceType"> + <xs:sequence> + <xs:element name="Title" type="xs:string"/> + <xs:element name="ContextURL" type="context:ContextURLType"/> + </xs:sequence> + <xs:attribute name="version" use="required"/> + <xs:attribute name="id" use="required"/> + </xs:complexType> + <xs:complexType name="ContextURLType"> + <xs:sequence> + <xs:element name="OnlineResource" type="context:OnlineResourceType"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OnlineResourceType"> + <xs:attributeGroup ref="xlink:simpleLink"/> + </xs:complexType> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/context/1.0.0/context.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/context/1.0.0/context.xsd new file mode 100644 index 00000000000..1bed81256c7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/context/1.0.0/context.xsd @@ -0,0 +1,161 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSpy v2007 sp1 (http://www.altova.com) by BRGM SG/DL (BRGM SG/DL) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:context="http://www.opengis.net/context" + xmlns:sld="http://www.opengis.net/sld" xmlns:xlink="http://www.w3.org/1999/xlink" + targetNamespace="http://www.opengis.net/context" elementFormDefault="qualified" version="1.0.0"> + <xs:import namespace="http://www.opengis.net/sld" schemaLocation="../../sld/1.0.0/StyledLayerDescriptor.xsd"/> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> + <xs:element name="ViewContext" type="context:ViewContextType"/> + <xs:complexType name="ViewContextType"> + <xs:sequence> + <xs:element name="General" type="context:GeneralType"/> + <xs:element name="LayerList" type="context:LayerListType"/> + </xs:sequence> + <xs:attribute name="version" type="xs:string" use="required" fixed="1.0.0"/> + <xs:attribute name="id" type="xs:string" use="required"/> + </xs:complexType> + <xs:complexType name="GeneralType"> + <xs:sequence> + <xs:element name="Window" type="context:WindowType" minOccurs="0"/> + <xs:element name="BoundingBox" type="context:BoundingBoxType"/> + <xs:element name="Title" type="xs:string"/> + <xs:element name="KeywordList" type="context:KeywordListType" minOccurs="0"/> + <xs:element name="Abstract" type="xs:string" minOccurs="0"/> + <xs:element name="LogoURL" type="context:URLType" minOccurs="0"/> + <xs:element name="DescriptionURL" type="context:URLType" minOccurs="0"/> + <xs:element name="ContactInformation" type="context:ContactInformationType" minOccurs="0"/> + <xs:element name="Extension" type="context:ExtensionType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="WindowType"> + <xs:attribute name="width" type="xs:integer" use="required"/> + <xs:attribute name="height" type="xs:integer" use="required"/> + </xs:complexType> + <xs:complexType name="BoundingBoxType"> + <xs:attribute name="SRS" type="xs:string" use="required"/> + <xs:attribute name="minx" type="xs:decimal" use="required"/> + <xs:attribute name="miny" type="xs:decimal" use="required"/> + <xs:attribute name="maxx" type="xs:decimal" use="required"/> + <xs:attribute name="maxy" type="xs:decimal" use="required"/> + </xs:complexType> + <xs:complexType name="KeywordListType"> + <xs:sequence> + <xs:element name="Keyword" type="xs:string" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="URLType"> + <xs:sequence> + <xs:element name="OnlineResource" type="context:OnlineResourceType"/> + </xs:sequence> + <xs:attribute name="width" type="xs:integer" use="optional"/> + <xs:attribute name="height" type="xs:integer" use="optional"/> + <xs:attribute name="format" type="xs:string" use="optional"/> + </xs:complexType> + <xs:complexType name="ContactInformationType"> + <xs:sequence> + <xs:element name="ContactPersonPrimary" type="context:ContactPersonPrimaryType"/> + <xs:element name="ContactPosition" type="xs:string"/> + <xs:element name="ContactAddress" type="context:AddressType"/> + <xs:element name="ContactVoiceTelephone" type="xs:string"/> + <xs:element name="ContactFacsimileTelephone" type="xs:string"/> + <xs:element name="ContactElectronicMailAddress" type="xs:string"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ContactPersonPrimaryType"> + <xs:sequence> + <xs:element name="ContactPerson" type="xs:string"/> + <xs:element name="ContactOrganization" type="xs:string"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AddressType"> + <xs:sequence> + <xs:element name="AddressType" type="xs:string"/> + <xs:element name="Address" type="xs:string"/> + <xs:element name="City" type="xs:string"/> + <xs:element name="StateOrProvince" type="xs:string"/> + <xs:element name="PostCode" type="xs:string"/> + <xs:element name="Country" type="xs:string"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LayerListType"> + <xs:sequence> + <xs:element name="Layer" type="context:LayerType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LayerType"> + <xs:sequence> + <xs:element name="Server" type="context:ServerType"/> + <xs:element name="Name" type="xs:string"/> + <xs:element name="Title" type="xs:string"/> + <xs:element name="Abstract" type="xs:string" minOccurs="0"/> + <xs:element name="DataURL" type="context:URLType" minOccurs="0"/> + <xs:element name="MetadataURL" type="context:URLType" minOccurs="0"/> + <xs:element name="SRS" type="xs:string" minOccurs="0"/> + <xs:element name="FormatList" type="context:FormatListType" minOccurs="0"/> + <xs:element name="StyleList" type="context:StyleListType" minOccurs="0"/> + <xs:element name="Extension" type="context:ExtensionType" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="queryable" type="xs:boolean" use="required"/> + <xs:attribute name="hidden" type="xs:boolean" use="required"/> + </xs:complexType> + <xs:complexType name="ServerType"> + <xs:sequence> + <xs:element name="OnlineResource" type="context:OnlineResourceType"/> + </xs:sequence> + <xs:attribute name="service" type="xs:string" use="required"/> + <xs:attribute name="version" type="xs:string" use="required"/> + <xs:attribute name="title" type="xs:string" use="optional"/> + </xs:complexType> + <xs:complexType name="FormatListType"> + <xs:sequence> + <xs:element name="Format" type="context:FormatType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="FormatType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="current" type="xs:boolean"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="StyleListType"> + <xs:sequence> + <xs:element name="Style" type="context:StyleType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StyleType"> + <xs:choice> + <xs:sequence> + <xs:element name="Name" type="xs:string"/> + <xs:element name="Title" type="xs:string"/> + <xs:element name="Abstract" type="xs:string" minOccurs="0"/> + <xs:element name="LegendURL" type="context:URLType" minOccurs="0"/> + </xs:sequence> + <xs:element name="SLD" type="context:SLDType" minOccurs="0"/> + </xs:choice> + <xs:attribute name="current" type="xs:boolean"/> + </xs:complexType> + <xs:complexType name="SLDType"> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0"/> + <xs:element name="Title" type="xs:string" minOccurs="0"/> + <xs:choice> + <xs:element name="OnlineResource" type="context:OnlineResourceType"/> + <xs:element ref="sld:StyledLayerDescriptor"/> + <xs:element ref="sld:FeatureTypeStyle"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OnlineResourceType"> + <xs:attributeGroup ref="xlink:simpleLink"/> + </xs:complexType> + <xs:complexType name="ExtensionType"> + <xs:annotation> + <xs:documentation>This allows additional elements to be added to support non WMS Layer services. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:any namespace="##any"/> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/filter/1.0.0/expr.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/filter/1.0.0/expr.xsd new file mode 100644 index 00000000000..61a17ccefc3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/filter/1.0.0/expr.xsd @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema + xmlns:ogc="http://www.opengis.net/ogc" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.opengis.net/ogc" + elementFormDefault="qualified"> + + <xsd:element name="Add" + type="ogc:BinaryOperatorType" + substitutionGroup="ogc:expression"/> + <xsd:element name="Sub" + type="ogc:BinaryOperatorType" + substitutionGroup="ogc:expression"/> + <xsd:element name="Mul" + type="ogc:BinaryOperatorType" + substitutionGroup="ogc:expression"/> + <xsd:element name="Div" + type="ogc:BinaryOperatorType" + substitutionGroup="ogc:expression"/> + <xsd:element name="PropertyName" + type="ogc:PropertyNameType" + substitutionGroup="ogc:expression"/> + <xsd:element name="Function" + type="ogc:FunctionType" + substitutionGroup="ogc:expression"/> + <xsd:element name="Literal" + type="ogc:LiteralType" + substitutionGroup="ogc:expression"/> + + <xsd:element name="expression" type="ogc:ExpressionType" abstract="true"/> + + <xsd:complexType name="ExpressionType" abstract="true"/> + <xsd:complexType name="BinaryOperatorType"> + <xsd:complexContent> + <xsd:extension base="ogc:ExpressionType"> + <xsd:sequence> + <xsd:element ref="ogc:expression" minOccurs="2" maxOccurs="2"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="FunctionType"> + <xsd:complexContent> + <xsd:extension base="ogc:ExpressionType"> + <xsd:sequence> + <xsd:element ref="ogc:expression" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="LiteralType"> + <xsd:complexContent mixed="true"> + <xsd:extension base="ogc:ExpressionType"> + <xsd:sequence> + <xsd:any minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="PropertyNameType"> + <xsd:complexContent mixed="true"> + <xsd:extension base="ogc:ExpressionType"/> + </xsd:complexContent> + </xsd:complexType> +</xsd:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/filter/1.0.0/filter.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/filter/1.0.0/filter.xsd new file mode 100644 index 00000000000..ccfca189093 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/filter/1.0.0/filter.xsd @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.opengis.net/ogc" + elementFormDefault="qualified"> + <xsd:include schemaLocation="expr.xsd"/> + <xsd:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/2.1.2/geometry.xsd"/> + <!-- ============================================= --> + <!-- FILTER EXPRESSION --> + <!-- ============================================= --> + <xsd:element name="FeatureId" type="ogc:FeatureIdType"/> + <xsd:element name="Filter" type="ogc:FilterType"/> + <!-- ============================================= --> + <!-- COMPARISON OPERATORS --> + <!-- ============================================= --> + <xsd:element name="comparisonOps" type="ogc:ComparisonOpsType" abstract="true"/> + <xsd:element name="PropertyIsEqualTo" type="ogc:BinaryComparisonOpType" substitutionGroup="ogc:comparisonOps"/> + <xsd:element name="PropertyIsNotEqualTo" type="ogc:BinaryComparisonOpType" substitutionGroup="ogc:comparisonOps"/> + <xsd:element name="PropertyIsLessThan" type="ogc:BinaryComparisonOpType" substitutionGroup="ogc:comparisonOps"/> + <xsd:element name="PropertyIsGreaterThan" type="ogc:BinaryComparisonOpType" substitutionGroup="ogc:comparisonOps"/> + <xsd:element name="PropertyIsLessThanOrEqualTo" type="ogc:BinaryComparisonOpType" + substitutionGroup="ogc:comparisonOps"/> + <xsd:element name="PropertyIsGreaterThanOrEqualTo" type="ogc:BinaryComparisonOpType" + substitutionGroup="ogc:comparisonOps"/> + <xsd:element name="PropertyIsLike" type="ogc:PropertyIsLikeType" substitutionGroup="ogc:comparisonOps"/> + <xsd:element name="PropertyIsNull" type="ogc:PropertyIsNullType" substitutionGroup="ogc:comparisonOps"/> + <xsd:element name="PropertyIsBetween" type="ogc:PropertyIsBetweenType" substitutionGroup="ogc:comparisonOps"/> + <xsd:complexType name="ComparisonOpsType" abstract="true"/> + <!-- ============================================= --> + <!-- SPATIAL OPERATORS (sec 3.2.19.2 99-049) --> + <!-- ============================================= --> + <xsd:element name="spatialOps" type="ogc:SpatialOpsType" abstract="true"/> + <xsd:element name="Equals" type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/> + <xsd:element name="Disjoint" type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/> + <xsd:element name="Touches" type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/> + <xsd:element name="Within" type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/> + <xsd:element name="Overlaps" type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/> + <xsd:element name="Crosses" type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/> + <xsd:element name="Intersects" type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/> + <xsd:element name="Contains" type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/> + <!-- These operatons are from sec 4.2 of OpenGIS Catalog Interface --> + <xsd:element name="DWithin" type="ogc:DistanceBufferType" substitutionGroup="ogc:spatialOps"/> + <xsd:element name="Beyond" type="ogc:DistanceBufferType" substitutionGroup="ogc:spatialOps"/> + <!-- This is a convenience operator to allow simple BBOX queries --> + <xsd:element name="BBOX" type="ogc:BBOXType" substitutionGroup="ogc:spatialOps"/> + <xsd:complexType name="SpatialOpsType" abstract="true"/> + <!-- ============================================= --> + <!-- LOGICAL OPERATORS --> + <!-- ============================================= --> + <xsd:element name="logicOps" type="ogc:LogicOpsType" abstract="true"/> + <xsd:element name="And" type="ogc:BinaryLogicOpType" substitutionGroup="ogc:logicOps"/> + <xsd:element name="Or" type="ogc:BinaryLogicOpType" substitutionGroup="ogc:logicOps"/> + <xsd:element name="Not" type="ogc:UnaryLogicOpType" substitutionGroup="ogc:logicOps"/> + <xsd:complexType name="LogicOpsType" abstract="true"/> + <!-- ============================================= --> + <!-- COMPLEX TYPES --> + <!-- ============================================= --> + <xsd:complexType name="FilterType"> + <xsd:choice> + <xsd:element ref="ogc:spatialOps"/> + <xsd:element ref="ogc:comparisonOps"/> + <xsd:element ref="ogc:logicOps"/> + <xsd:element ref="ogc:FeatureId" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="FeatureIdType"> + <xsd:attribute name="fid" type="xsd:anyURI" use="required"/> + </xsd:complexType> + <xsd:complexType name="BinaryComparisonOpType"> + <xsd:complexContent> + <xsd:extension base="ogc:ComparisonOpsType"> + <xsd:sequence> + <xsd:element ref="ogc:expression" minOccurs="2" maxOccurs="2"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="PropertyIsLikeType"> + <xsd:complexContent> + <xsd:extension base="ogc:ComparisonOpsType"> + <xsd:sequence> + <xsd:element ref="ogc:PropertyName"/> + <xsd:element ref="ogc:Literal"/> + </xsd:sequence> + <xsd:attribute name="wildCard" type="xsd:string" use="required"/> + <xsd:attribute name="singleChar" type="xsd:string" use="required"/> + <xsd:attribute name="escape" type="xsd:string" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="PropertyIsNullType"> + <xsd:complexContent> + <xsd:extension base="ogc:ComparisonOpsType"> + <xsd:choice> + <xsd:element ref="ogc:PropertyName"/> + <xsd:element ref="ogc:Literal"/> + </xsd:choice> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="PropertyIsBetweenType"> + <xsd:complexContent> + <xsd:extension base="ogc:ComparisonOpsType"> + <xsd:sequence> + <xsd:element ref="ogc:expression"/> + <xsd:element name="LowerBoundary" type="ogc:LowerBoundaryType"/> + <xsd:element name="UpperBoundary" type="ogc:UpperBoundaryType"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="LowerBoundaryType"> + <xsd:choice> + <xsd:element ref="ogc:expression"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="UpperBoundaryType"> + <xsd:sequence> + <xsd:element ref="ogc:expression"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="BinarySpatialOpType"> + <xsd:complexContent> + <xsd:extension base="ogc:SpatialOpsType"> + <xsd:sequence> + <xsd:element ref="ogc:PropertyName"/> + <xsd:choice> + <xsd:element ref="gml:_Geometry"/> + <xsd:element ref="gml:Box"/> + </xsd:choice> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="BBOXType"> + <xsd:complexContent> + <xsd:extension base="ogc:SpatialOpsType"> + <xsd:sequence> + <xsd:element ref="ogc:PropertyName"/> + <xsd:element ref="gml:Box"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="DistanceBufferType"> + <xsd:complexContent> + <xsd:extension base="ogc:SpatialOpsType"> + <xsd:sequence> + <xsd:element ref="ogc:PropertyName"/> + <xsd:element ref="gml:_Geometry"/> + <xsd:element name="Distance" type="ogc:DistanceType"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="DistanceType" mixed="true"> + <xsd:attribute name="units" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="BinaryLogicOpType"> + <xsd:complexContent> + <xsd:extension base="ogc:LogicOpsType"> + <xsd:choice minOccurs="2" maxOccurs="unbounded"> + <xsd:element ref="ogc:comparisonOps"/> + <xsd:element ref="ogc:spatialOps"/> + <xsd:element ref="ogc:logicOps"/> + </xsd:choice> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="UnaryLogicOpType"> + <xsd:complexContent> + <xsd:extension base="ogc:LogicOpsType"> + <xsd:sequence> + <xsd:choice> + <xsd:element ref="ogc:comparisonOps"/> + <xsd:element ref="ogc:spatialOps"/> + <xsd:element ref="ogc:logicOps"/> + </xsd:choice> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> +</xsd:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gco/basicTypes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gco/basicTypes.xsd new file mode 100644 index 00000000000..1364bdf16ee --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gco/basicTypes.xsd @@ -0,0 +1,443 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" + xmlns:gco="http://www.isotc211.org/2005/gco" targetNamespace="http://www.isotc211.org/2005/gco" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:00:05 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../xlink/xlinks.xsd"/> + <xs:include schemaLocation="../gco/gcoBase.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- =========================================================================== --> + <xs:complexType name="TypeName_Type"> + <xs:annotation> + <xs:documentation>A TypeName is a LocalName that references either a recordType or object type in some form of + schema. The stored value "aName" is the returned value for the "aName()" operation. This is the types name. - + For parsing from types (or objects) the parsible name normally uses a "." navigation separator, so that it is of + the form [class].[member].[memberOfMember]. ...) + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="aName" type="gco:CharacterString_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="TypeName" type="gco:TypeName_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="TypeName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:TypeName"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MemberName_Type"> + <xs:annotation> + <xs:documentation>A MemberName is a LocalName that references either an attribute slot in a record or recordType + or an attribute, operation, or association role in an object instance or type description in some form of + schema. The stored value "aName" is the returned value for the "aName()" operation. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="aName" type="gco:CharacterString_PropertyType"/> + <xs:element name="attributeType" type="gco:TypeName_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MemberName" type="gco:MemberName_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MemberName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:MemberName"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="Multiplicity_Type"> + <xs:annotation> + <xs:documentation>Use to represent the possible cardinality of a relation. Represented by a set of simple + multiplicity ranges. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="range" type="gco:MultiplicityRange_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="Multiplicity" type="gco:Multiplicity_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="Multiplicity_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Multiplicity"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MultiplicityRange_Type"> + <xs:annotation> + <xs:documentation>A component of a multiplicity, consisting of an non-negative lower bound, and a potentially + infinite upper bound. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="lower" type="gco:Integer_PropertyType"/> + <xs:element name="upper" type="gco:UnlimitedInteger_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MultiplicityRange" type="gco:MultiplicityRange_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MultiplicityRange_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:MultiplicityRange"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--================================================--> + <!-- ================== Measure ===================== --> + <!-- ........................................................................ --> + <xs:element name="Measure" type="gml:MeasureType"/> + <!-- ........................................................................ --> + <xs:complexType name="Measure_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Measure"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Length" type="gml:LengthType" substitutionGroup="gco:Measure"/> + <!-- ........................................................................ --> + <xs:complexType name="Length_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Length"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Angle" type="gml:AngleType" substitutionGroup="gco:Measure"/> + <!-- ........................................................................ --> + <xs:complexType name="Angle_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Angle"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Scale" type="gml:ScaleType" substitutionGroup="gco:Measure"/> + <!-- ........................................................................ --> + <xs:complexType name="Scale_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Scale"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Distance" type="gml:LengthType" substitutionGroup="gco:Length"/> + <!-- ........................................................................ --> + <xs:complexType name="Distance_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Distance"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CharacterString" type="xs:string"/> + <!-- ........................................................................ --> + <xs:complexType name="CharacterString_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:CharacterString"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Boolean" type="xs:boolean"/> + <!-- ........................................................................ --> + <xs:complexType name="Boolean_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Boolean"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="AbstractGenericName" type="gml:CodeType" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="GenericName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:AbstractGenericName"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="LocalName" type="gml:CodeType" substitutionGroup="gco:AbstractGenericName"/> + <!-- ........................................................................ --> + <xs:complexType name="LocalName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:LocalName"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="ScopedName" type="gml:CodeType" substitutionGroup="gco:AbstractGenericName"/> + <!-- ........................................................................ --> + <xs:complexType name="ScopedName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:ScopedName"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ============================= UOM ========================================= --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomAngle_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomLength_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomScale_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UnitOfMeasure_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomArea_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomVelocity_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomTime_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomVolume_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- =========================== Date & DateTime ================================= --> + <!--=============================================--> + <xs:element name="DateTime" type="xs:dateTime"/> + <!-- ........................................................................ --> + <xs:complexType name="DateTime_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:DateTime"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="Date_Type"> + <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="Date" type="gco:Date_Type" nillable="true"/> + <!-- ........................................................................ --> + <xs:complexType name="Date_PropertyType"> + <xs:choice minOccurs="0"> + <xs:element ref="gco:Date"/> + <xs:element ref="gco:DateTime"/> + </xs:choice> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- =========================== Number basic type =============================== --> + <!--=======================================================--> + <xs:complexType name="Number_PropertyType"> + <xs:choice minOccurs="0"> + <xs:element ref="gco:Real"/> + <xs:element ref="gco:Decimal"/> + <xs:element ref="gco:Integer"/> + </xs:choice> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Decimal" type="xs:decimal"/> + <!-- ........................................................................ --> + <xs:complexType name="Decimal_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Decimal"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Real" type="xs:double"/> + <!-- ........................................................................ --> + <xs:complexType name="Real_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Real"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Integer" type="xs:integer"/> + <!-- ........................................................................ --> + <xs:complexType name="Integer_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Integer"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- ============================= UnlimitedInteger ================================ --> + <!--NB: The encoding mechanism below is based on the use of XCPT (see the usage of xsi:nil in XML instance).--> + <!--================= Type ==================--> + <xs:complexType name="UnlimitedInteger_Type"> + <xs:simpleContent> + <xs:extension base="xs:nonNegativeInteger"> + <xs:attribute name="isInfinite" type="xs:boolean"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="UnlimitedInteger" type="gco:UnlimitedInteger_Type" nillable="true"/> + <!-- ........................................................................ --> + <xs:complexType name="UnlimitedInteger_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:UnlimitedInteger"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- ========================= Record & RecordType ============================== --> + <!--================= Record ==================--> + <xs:element name="Record"/> + <!-- ........................................................................ --> + <xs:complexType name="Record_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Record"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--================= RecordType ==================--> + <xs:complexType name="RecordType_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attributeGroup ref="xlink:simpleLink"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="RecordType" type="gco:RecordType_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="RecordType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:RecordType"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- =========================== Binary basic type ================================ --> + <!--NB: this type is not declared in 19103 but used in 19115. --> + <!--================= Type ==================--> + <xs:complexType name="Binary_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="src" type="xs:anyURI"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="Binary" type="gco:Binary_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="Binary_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Binary"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--================================================--> + <!-- =============================================== --> + <!--================================================--> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gco/gco.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gco/gco.xsd new file mode 100644 index 00000000000..55eafcda464 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gco/gco.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.isotc211.org/2005/gco" elementFormDefault="qualified" + version="0.1" +> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:00:06 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="../gco/basicTypes.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gco/gcoBase.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gco/gcoBase.xsd new file mode 100644 index 00000000000..3a626445d7e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gco/gcoBase.xsd @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema 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" + targetNamespace="http://www.isotc211.org/2005/gco" elementFormDefault="qualified" + attributeFormDefault="unqualified"> + <!-- ================================= 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="../xlink/xlinks.xsd"/> + <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/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> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gfc/gfc.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gfc/gfc.xsd new file mode 100644 index 00000000000..4b482f78741 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gfc/gfc.xsd @@ -0,0 +1,409 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by STEPHANE BIDAULT (I.G.N/SAF/RECEPTIONS) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gfc="http://www.isotc211.org/2005/gfc" targetNamespace="http://www.isotc211.org/2005/gfc" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 02-16-2006 12:32:19 ====== + </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:import namespace="http://www.isotc211.org/2005/gmx" schemaLocation="../gmx/gmx.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="FC_ListedValue_Type"> + <xs:annotation> + <xs:documentation>Value for an enumerated feature attribute domain, including its codes and interpretation. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="label" type="gco:CharacterString_PropertyType"/> + <!--<xs:element name="code" type="gco:CharacterString_PropertyType" minOccurs="0"/>--> + <xs:element name="definition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="definitionReference" type="gfc:FC_DefinitionReference_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_ListedValue" type="gfc:FC_ListedValue_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_ListedValue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_ListedValue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureAssociation_Type"> + <xs:annotation> + <xs:documentation>Relationship that links instances of this feature type with instances of the same or of a + different feature type. - The memberOf-linkBetween association in the General Feature Model is not directly + implemented here since it can be easily derived from combining the Role and MemberOf associations. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:FC_FeatureType_Type"> + <xs:sequence> + <xs:element name="roleName" type="gfc:FC_AssociationRole_PropertyType" minOccurs="2" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureAssociation" type="gfc:FC_FeatureAssociation_Type" + substitutionGroup="gfc:FC_FeatureType"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureAssociation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureAssociation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureCatalogue_Type"> + <xs:annotation> + <xs:documentation>A feature catalogue contains its identification and contact information, and definition of some + number of feature types with other information necessary for those definitions. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmx:AbstractCT_Catalogue_Type"> + <xs:sequence> + <xs:element name="producer" type="gmd:CI_ResponsibleParty_PropertyType"/> + <xs:element name="functionalLanguage" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="featureType" type="gfc:FC_FeatureType_PropertyType" maxOccurs="unbounded"/> + <xs:element name="definitionSource" type="gfc:FC_DefinitionSource_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="inheritanceRelation" type="gfc:FC_InheritanceRelation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureCatalogue" type="gfc:FC_FeatureCatalogue_Type" + substitutionGroup="gmx:AbstractCT_Catalogue"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureCatalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureCatalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureAttribute_Type"> + <xs:annotation> + <xs:documentation>Characteristic of a feature type.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:AbstractFC_PropertyType_Type"> + <xs:sequence> + <xs:element name="valueMeasurementUnit" type="gco:UnitOfMeasure_PropertyType" minOccurs="0"/> + <xs:element name="listedValue" type="gfc:FC_ListedValue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="valueType" type="gco:TypeName_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureAttribute" type="gfc:FC_FeatureAttribute_Type" + substitutionGroup="gfc:AbstractFC_PropertyType"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureAttribute_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureAttribute"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--<xs:complexType name="FC_AssociationRole_Type"> + <xs:annotation> + <xs:documentation>A role of the association FC_AssociationRole::relation. - [ocl] - roleName = FC_Member::memberName; - FC_PropertyType::cardinality realizes GF_AssociationRole::cardinality - [/ocl]</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:_FC_AssociationRole_RestrictionType"> + <xs:sequence> + <xs:element name="type" type="gfc:FC_RoleType_PropertyType"/> + <xs:element name="isOrdered" type="gco:Boolean_PropertyType"/> + <xs:element name="isNavigable" type="gco:Boolean_PropertyType"/> + <xs:element name="relation" type="gfc:FC_FeatureAssociation_PropertyType"/> + <xs:element name="roleType" type="gfc:FC_FeatureType_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType>--> + <!-- ........................................................................ --> + <!--<xs:complexType name="_FC_AssociationRole_RestrictionType" abstract="true"> + <xs:annotation> + <xs:documentation>Restriction type defined as extension of gfc:FC_AssociationRole_Type</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:restriction base="gfc:AbstractFC_PropertyType_Type"> + <xs:sequence> + <xs:element name="memberName" type="gco:LocalName_PropertyType"/> + <xs:element name="definition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="cardinality" type="gco:Multiplicity_PropertyType"/> + <xs:element name="featureType" type="gfc:FC_FeatureType_PropertyType"/> + <xs:element name="constrainedBy" type="gfc:FC_Constraint_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="definitionReference" type="gfc:FC_DefinitionReference_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:restriction> + </xs:complexContent> + </xs:complexType>--> + <!-- ........................................................................ --> + <xs:complexType name="FC_AssociationRole_Type"> + <xs:annotation> + <xs:documentation>A role of the association FC_AssociationRole::relation. - [ocl] - roleName = + FC_Member::memberName; - FC_PropertyType::cardinality realizes GF_AssociationRole::cardinality - [/ocl] + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:AbstractFC_PropertyType_Type"> + <xs:sequence> + <xs:element name="type" type="gfc:FC_RoleType_PropertyType"/> + <xs:element name="isOrdered" type="gco:Boolean_PropertyType"/> + <xs:element name="isNavigable" type="gco:Boolean_PropertyType"/> + <xs:element name="relation" type="gfc:FC_FeatureAssociation_PropertyType"/> + <xs:element name="roleType" type="gfc:FC_FeatureType_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_AssociationRole" type="gfc:FC_AssociationRole_Type" + substitutionGroup="gfc:AbstractFC_PropertyType"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_AssociationRole_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_AssociationRole"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureType_Type"> + <xs:annotation> + <xs:documentation>Class of real world phenomena with common properties - - [ocl] - name realizes + GF_FeatureType::typeName; - isAbstract realizes GF_FeatureType::isAbstract; - constrainedBy realizes + GF_FeatureType::constrainedBy - [/ocl] + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="typeName" type="gco:LocalName_PropertyType"/> + <xs:element name="definition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="isAbstract" type="gco:Boolean_PropertyType"/> + <xs:element name="aliases" type="gco:LocalName_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="inheritsFrom" type="gfc:FC_InheritanceRelation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="inheritsTo" type="gfc:FC_InheritanceRelation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="featureCatalogue" type="gfc:FC_FeatureCatalogue_PropertyType"/> + <xs:element name="carrierOfCharacteristics" type="gfc:FC_PropertyType_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="constrainedBy" type="gfc:FC_Constraint_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="definitionReference" type="gfc:FC_DefinitionReference_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureType" type="gfc:FC_FeatureType_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureType"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_InheritanceRelation_Type"> + <xs:annotation> + <xs:documentation>FC_InheritanceRelation realizes GF_InheritanceRelation. - [ocl] - FC_InheritanceRelation always + assumes that its GF_InheritanceRelation::uniqueInstance is TRUE. - [/ocl] + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + <xs:element name="uniqueInstance" type="gco:Boolean_PropertyType"/> + <xs:element name="subtype" type="gfc:FC_FeatureType_PropertyType"/> + <xs:element name="supertype" type="gfc:FC_FeatureType_PropertyType"/> + <xs:element name="featureCatalogue" type="gfc:FC_FeatureCatalogue_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_InheritanceRelation" type="gfc:FC_InheritanceRelation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_InheritanceRelation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_InheritanceRelation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureOperation_Type"> + <xs:annotation> + <xs:documentation>Operation that every instance of an associated feature type must implement. - [ocl] - + triggeredByValuesOf realizes GF_Operation::triggeredByValuesOf; - observesValuesOf realizes + GF_Operation::observesValuesOf; - affectsValuesOf realizes GF_Operation::affectsValuesOf - [/ocl] + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:AbstractFC_PropertyType_Type"> + <xs:sequence> + <xs:element name="signature" type="gco:CharacterString_PropertyType"/> + <xs:element name="formalDefinition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="triggeredByValueOf" type="gfc:FC_FeatureAttribute_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="affectsValueOf" type="gfc:FC_FeatureAttribute_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="observesValueOf" type="gfc:FC_FeatureAttribute_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureOperation" type="gfc:FC_FeatureOperation_Type" + substitutionGroup="gfc:AbstractFC_PropertyType"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureOperation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureOperation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractFC_PropertyType_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Abstract class for feature properties.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="memberName" type="gco:LocalName_PropertyType"/> + <xs:element name="definition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="cardinality" type="gco:Multiplicity_PropertyType"/> + <xs:element name="featureType" type="gfc:FC_FeatureType_PropertyType"/> + <xs:element name="constrainedBy" type="gfc:FC_Constraint_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="definitionReference" type="gfc:FC_DefinitionReference_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractFC_PropertyType" type="gfc:AbstractFC_PropertyType_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_PropertyType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:AbstractFC_PropertyType"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_Constraint_Type"> + <xs:annotation> + <xs:documentation>A class for defining constraints for types.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_Constraint" type="gfc:FC_Constraint_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_Constraint_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_Constraint"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_DefinitionSource_Type"> + <xs:annotation> + <xs:documentation>Class that specifies the source of a definition.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="source" type="gmd:CI_Citation_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_DefinitionSource" type="gfc:FC_DefinitionSource_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_DefinitionSource_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_DefinitionSource"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_DefinitionReference_Type"> + <xs:annotation> + <xs:documentation>Class that links a data instance to the source of its definition.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="sourceIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="definitionSource" type="gfc:FC_DefinitionSource_PropertyType"/> + <!--<xs:element name="theFC_FeatureType" type="gfc:FC_FeatureType_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="theAbstractFC_PropertyType" type="gfc:FC_PropertyType_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="theFC_ListedValue" type="gfc:FC_ListedValue_PropertyType" minOccurs="0" maxOccurs="unbounded"/>--> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_DefinitionReference" type="gfc:FC_DefinitionReference_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_DefinitionReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_DefinitionReference"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="FC_RoleType" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_RoleType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_RoleType"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/applicationSchema.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/applicationSchema.xsd new file mode 100644 index 00000000000..5a6ba3502a3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/applicationSchema.xsd @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:03 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_ApplicationSchemaInformation_Type"> + <xs:annotation> + <xs:documentation>Information about the application schema used to build the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gmd:CI_Citation_PropertyType"/> + <xs:element name="schemaLanguage" type="gco:CharacterString_PropertyType"/> + <xs:element name="constraintLanguage" type="gco:CharacterString_PropertyType"/> + <xs:element name="schemaAscii" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="graphicsFile" type="gco:Binary_PropertyType" minOccurs="0"/> + <xs:element name="softwareDevelopmentFile" type="gco:Binary_PropertyType" minOccurs="0"/> + <xs:element name="softwareDevelopmentFileFormat" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ApplicationSchemaInformation" type="gmd:MD_ApplicationSchemaInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ApplicationSchemaInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ApplicationSchemaInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/citation.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/citation.xsd new file mode 100644 index 00000000000..fc18305fa3f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/citation.xsd @@ -0,0 +1,287 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:04 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/referenceSystem.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="CI_ResponsibleParty_Type"> + <xs:annotation> + <xs:documentation>Identification of, and means of communication with, person(s) and organisations associated with + the dataset + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="individualName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="organisationName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="positionName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="contactInfo" type="gmd:CI_Contact_PropertyType" minOccurs="0"/> + <xs:element name="role" type="gmd:CI_RoleCode_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_ResponsibleParty" type="gmd:CI_ResponsibleParty_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_ResponsibleParty_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_ResponsibleParty"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Citation_Type"> + <xs:annotation> + <xs:documentation>Standardized resource reference</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="title" type="gco:CharacterString_PropertyType"/> + <xs:element name="alternateTitle" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="date" type="gmd:CI_Date_PropertyType" maxOccurs="unbounded"/> + <xs:element name="edition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="editionDate" type="gco:Date_PropertyType" minOccurs="0"/> + <xs:element name="identifier" type="gmd:MD_Identifier_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="citedResponsibleParty" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="presentationForm" type="gmd:CI_PresentationFormCode_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="series" type="gmd:CI_Series_PropertyType" minOccurs="0"/> + <xs:element name="otherCitationDetails" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="collectiveTitle" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="ISBN" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="ISSN" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Citation" type="gmd:CI_Citation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Citation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Citation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Address_Type"> + <xs:annotation> + <xs:documentation>Location of the responsible individual or organisation</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="deliveryPoint" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="city" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="administrativeArea" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="postalCode" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="country" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="electronicMailAddress" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Address" type="gmd:CI_Address_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Address_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Address"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_OnlineResource_Type"> + <xs:annotation> + <xs:documentation>Information about online sources from which the dataset, specification, or community profile + name and extended metadata elements can be obtained. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="linkage" type="gmd:URL_PropertyType"/> + <xs:element name="protocol" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="applicationProfile" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="name" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="function" type="gmd:CI_OnLineFunctionCode_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_OnlineResource" type="gmd:CI_OnlineResource_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_OnlineResource_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_OnlineResource"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Contact_Type"> + <xs:annotation> + <xs:documentation>Information required enabling contact with the responsible person and/or organisation + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="phone" type="gmd:CI_Telephone_PropertyType" minOccurs="0"/> + <xs:element name="address" type="gmd:CI_Address_PropertyType" minOccurs="0"/> + <xs:element name="onlineResource" type="gmd:CI_OnlineResource_PropertyType" minOccurs="0"/> + <xs:element name="hoursOfService" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="contactInstructions" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Contact" type="gmd:CI_Contact_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Contact_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Contact"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Telephone_Type"> + <xs:annotation> + <xs:documentation>Telephone numbers for contacting the responsible individual or organisation</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="voice" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="facsimile" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Telephone" type="gmd:CI_Telephone_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Telephone_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Telephone"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Date_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="date" type="gco:Date_PropertyType"/> + <xs:element name="dateType" type="gmd:CI_DateTypeCode_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Date" type="gmd:CI_Date_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Date_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Date"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Series_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="issueIdentification" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="page" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Series" type="gmd:CI_Series_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Series_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Series"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="URL" type="xs:anyURI"/> + <!-- ........................................................................ --> + <xs:complexType name="URL_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:URL"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CI_RoleCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_RoleCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_RoleCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CI_PresentationFormCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_PresentationFormCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_PresentationFormCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CI_OnLineFunctionCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_OnLineFunctionCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_OnLineFunctionCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CI_DateTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_DateTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_DateTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/constraints.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/constraints.xsd new file mode 100644 index 00000000000..683fbe0be04 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/constraints.xsd @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:01 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_Constraints_Type"> + <xs:annotation> + <xs:documentation>Restrictions on the access and use of a dataset or metadata</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="useLimitation" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Constraints" type="gmd:MD_Constraints_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Constraints_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Constraints"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_LegalConstraints_Type"> + <xs:annotation> + <xs:documentation>Restrictions and legal prerequisites for accessing and using the dataset.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:MD_Constraints_Type"> + <xs:sequence> + <xs:element name="accessConstraints" type="gmd:MD_RestrictionCode_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="useConstraints" type="gmd:MD_RestrictionCode_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="otherConstraints" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_LegalConstraints" type="gmd:MD_LegalConstraints_Type" substitutionGroup="gmd:MD_Constraints"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_LegalConstraints_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_LegalConstraints"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_SecurityConstraints_Type"> + <xs:annotation> + <xs:documentation>Handling restrictions imposed on the dataset because of national security, privacy, or other + concerns + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:MD_Constraints_Type"> + <xs:sequence> + <xs:element name="classification" type="gmd:MD_ClassificationCode_PropertyType"/> + <xs:element name="userNote" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="classificationSystem" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="handlingDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_SecurityConstraints" type="gmd:MD_SecurityConstraints_Type" + substitutionGroup="gmd:MD_Constraints"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_SecurityConstraints_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_SecurityConstraints"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_ClassificationCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ClassificationCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ClassificationCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_RestrictionCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_RestrictionCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_RestrictionCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/content.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/content.xsd new file mode 100644 index 00000000000..2166e8e7e08 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/content.xsd @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:03 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_FeatureCatalogueDescription_Type"> + <xs:annotation> + <xs:documentation>Information identifing the feature catalogue</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_ContentInformation_Type"> + <xs:sequence> + <xs:element name="complianceCode" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="language" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="includedWithDataset" type="gco:Boolean_PropertyType"/> + <xs:element name="featureTypes" type="gco:GenericName_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="featureCatalogueCitation" type="gmd:CI_Citation_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_FeatureCatalogueDescription" type="gmd:MD_FeatureCatalogueDescription_Type" + substitutionGroup="gmd:AbstractMD_ContentInformation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_FeatureCatalogueDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_FeatureCatalogueDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_CoverageDescription_Type"> + <xs:annotation> + <xs:documentation>Information about the domain of the raster cell</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_ContentInformation_Type"> + <xs:sequence> + <xs:element name="attributeDescription" type="gco:RecordType_PropertyType"/> + <xs:element name="contentType" type="gmd:MD_CoverageContentTypeCode_PropertyType"/> + <xs:element name="dimension" type="gmd:MD_RangeDimension_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_CoverageDescription" type="gmd:MD_CoverageDescription_Type" + substitutionGroup="gmd:AbstractMD_ContentInformation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_CoverageDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_CoverageDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_ImageDescription_Type"> + <xs:annotation> + <xs:documentation>Information about an image's suitability for use</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:MD_CoverageDescription_Type"> + <xs:sequence> + <xs:element name="illuminationElevationAngle" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="illuminationAzimuthAngle" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="imagingCondition" type="gmd:MD_ImagingConditionCode_PropertyType" minOccurs="0"/> + <xs:element name="imageQualityCode" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="cloudCoverPercentage" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="processingLevelCode" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="compressionGenerationQuantity" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="triangulationIndicator" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="radiometricCalibrationDataAvailability" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="cameraCalibrationInformationAvailability" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="filmDistortionInformationAvailability" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="lensDistortionInformationAvailability" type="gco:Boolean_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ImageDescription" type="gmd:MD_ImageDescription_Type" + substitutionGroup="gmd:MD_CoverageDescription"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ImageDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ImageDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractMD_ContentInformation_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractMD_ContentInformation" type="gmd:AbstractMD_ContentInformation_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ContentInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractMD_ContentInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_RangeDimension_Type"> + <xs:annotation> + <xs:documentation>Set of adjacent wavelengths in the electro-magnetic spectrum with a common characteristic, such + as the visible band + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="sequenceIdentifier" type="gco:MemberName_PropertyType" minOccurs="0"/> + <xs:element name="descriptor" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_RangeDimension" type="gmd:MD_RangeDimension_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_RangeDimension_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_RangeDimension"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Band_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_RangeDimension_Type"> + <xs:sequence> + <xs:element name="maxValue" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="minValue" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="units" type="gco:UomLength_PropertyType" minOccurs="0"/> + <xs:element name="peakResponse" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="bitsPerValue" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="toneGradation" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="scaleFactor" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="offset" type="gco:Real_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Band" type="gmd:MD_Band_Type" substitutionGroup="gmd:MD_RangeDimension"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Band_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Band"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_CoverageContentTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_CoverageContentTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_CoverageContentTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_ImagingConditionCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ImagingConditionCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ImagingConditionCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/dataQuality.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/dataQuality.xsd new file mode 100644 index 00000000000..6d07a9aed3d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/dataQuality.xsd @@ -0,0 +1,583 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:01 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/identification.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="LI_ProcessStep_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + <xs:element name="rationale" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="dateTime" type="gco:DateTime_PropertyType" minOccurs="0"/> + <xs:element name="processor" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="source" type="gmd:LI_Source_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LI_ProcessStep" type="gmd:LI_ProcessStep_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LI_ProcessStep_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LI_ProcessStep"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LI_Source_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="scaleDenominator" type="gmd:MD_RepresentativeFraction_PropertyType" minOccurs="0"/> + <xs:element name="sourceReferenceSystem" type="gmd:MD_ReferenceSystem_PropertyType" minOccurs="0"/> + <xs:element name="sourceCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="sourceExtent" type="gmd:EX_Extent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="sourceStep" type="gmd:LI_ProcessStep_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LI_Source" type="gmd:LI_Source_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LI_Source_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LI_Source"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LI_Lineage_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="statement" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="processStep" type="gmd:LI_ProcessStep_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="source" type="gmd:LI_Source_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LI_Lineage" type="gmd:LI_Lineage_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LI_Lineage_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LI_Lineage"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_ConformanceResult_Type"> + <xs:annotation> + <xs:documentation>quantitative_result from Quality Procedures - - renamed to remove implied use limitiation. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Result_Type"> + <xs:sequence> + <xs:element name="specification" type="gmd:CI_Citation_PropertyType"/> + <xs:element name="explanation" type="gco:CharacterString_PropertyType"/> + <xs:element name="pass" type="gco:Boolean_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_ConformanceResult" type="gmd:DQ_ConformanceResult_Type" + substitutionGroup="gmd:AbstractDQ_Result"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_ConformanceResult_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_ConformanceResult"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_QuantitativeResult_Type"> + <xs:annotation> + <xs:documentation>Quantitative_conformance_measure from Quality Procedures. - - Renamed to remove implied use + limitation - - OCL - -- result is type specified by valueDomain - result.tupleType = valueDomain + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Result_Type"> + <xs:sequence> + <xs:element name="valueType" type="gco:RecordType_PropertyType" minOccurs="0"/> + <xs:element name="valueUnit" type="gco:UnitOfMeasure_PropertyType"/> + <xs:element name="errorStatistic" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="value" type="gco:Record_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_QuantitativeResult" type="gmd:DQ_QuantitativeResult_Type" + substitutionGroup="gmd:AbstractDQ_Result"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_QuantitativeResult_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_QuantitativeResult"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_Result_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_Result" type="gmd:AbstractDQ_Result_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_Result_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_Result"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_TemporalValidity_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_TemporalValidity" type="gmd:DQ_TemporalValidity_Type" + substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_TemporalValidity_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_TemporalValidity"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_TemporalConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_TemporalConsistency" type="gmd:DQ_TemporalConsistency_Type" + substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_TemporalConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_TemporalConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_AccuracyOfATimeMeasurement_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_AccuracyOfATimeMeasurement" type="gmd:DQ_AccuracyOfATimeMeasurement_Type" + substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_AccuracyOfATimeMeasurement_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_AccuracyOfATimeMeasurement"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_QuantitativeAttributeAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_QuantitativeAttributeAccuracy" type="gmd:DQ_QuantitativeAttributeAccuracy_Type" + substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_QuantitativeAttributeAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_QuantitativeAttributeAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_NonQuantitativeAttributeAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_NonQuantitativeAttributeAccuracy" type="gmd:DQ_NonQuantitativeAttributeAccuracy_Type" + substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_NonQuantitativeAttributeAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_NonQuantitativeAttributeAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_ThematicClassificationCorrectness_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_ThematicClassificationCorrectness" type="gmd:DQ_ThematicClassificationCorrectness_Type" + substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_ThematicClassificationCorrectness_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_ThematicClassificationCorrectness"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_RelativeInternalPositionalAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_RelativeInternalPositionalAccuracy" type="gmd:DQ_RelativeInternalPositionalAccuracy_Type" + substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_RelativeInternalPositionalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_RelativeInternalPositionalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_GriddedDataPositionalAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_GriddedDataPositionalAccuracy" type="gmd:DQ_GriddedDataPositionalAccuracy_Type" + substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_GriddedDataPositionalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_GriddedDataPositionalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_AbsoluteExternalPositionalAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_AbsoluteExternalPositionalAccuracy" type="gmd:DQ_AbsoluteExternalPositionalAccuracy_Type" + substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_AbsoluteExternalPositionalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_AbsoluteExternalPositionalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_TopologicalConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_TopologicalConsistency" type="gmd:DQ_TopologicalConsistency_Type" + substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_TopologicalConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_TopologicalConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_FormatConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_FormatConsistency" type="gmd:DQ_FormatConsistency_Type" + substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_FormatConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_FormatConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_DomainConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_DomainConsistency" type="gmd:DQ_DomainConsistency_Type" + substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_DomainConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_DomainConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_ConceptualConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_ConceptualConsistency" type="gmd:DQ_ConceptualConsistency_Type" + substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_ConceptualConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_ConceptualConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_CompletenessOmission_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Completeness_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_CompletenessOmission" type="gmd:DQ_CompletenessOmission_Type" + substitutionGroup="gmd:AbstractDQ_Completeness"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_CompletenessOmission_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_CompletenessOmission"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_CompletenessCommission_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Completeness_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_CompletenessCommission" type="gmd:DQ_CompletenessCommission_Type" + substitutionGroup="gmd:AbstractDQ_Completeness"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_CompletenessCommission_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_CompletenessCommission"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_TemporalAccuracy_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_TemporalAccuracy" type="gmd:AbstractDQ_TemporalAccuracy_Type" abstract="true" + substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_TemporalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_TemporalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_ThematicAccuracy_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_ThematicAccuracy" type="gmd:AbstractDQ_ThematicAccuracy_Type" abstract="true" + substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_ThematicAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_ThematicAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_PositionalAccuracy_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_PositionalAccuracy" type="gmd:AbstractDQ_PositionalAccuracy_Type" abstract="true" + substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_PositionalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_PositionalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_LogicalConsistency_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_LogicalConsistency" type="gmd:AbstractDQ_LogicalConsistency_Type" abstract="true" + substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_LogicalConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_LogicalConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_Completeness_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_Completeness" type="gmd:AbstractDQ_Completeness_Type" abstract="true" + substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_Completeness_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_Completeness"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_Element_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="nameOfMeasure" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="measureIdentification" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="measureDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="evaluationMethodType" type="gmd:DQ_EvaluationMethodTypeCode_PropertyType" minOccurs="0"/> + <xs:element name="evaluationMethodDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="evaluationProcedure" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="dateTime" type="gco:DateTime_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="result" type="gmd:DQ_Result_PropertyType" maxOccurs="2"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_Element" type="gmd:AbstractDQ_Element_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_Element_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_Element"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_DataQuality_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="scope" type="gmd:DQ_Scope_PropertyType"/> + <xs:element name="report" type="gmd:DQ_Element_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="lineage" type="gmd:LI_Lineage_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_DataQuality" type="gmd:DQ_DataQuality_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_DataQuality_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_DataQuality"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_Scope_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="level" type="gmd:MD_ScopeCode_PropertyType"/> + <xs:element name="extent" type="gmd:EX_Extent_PropertyType" minOccurs="0"/> + <xs:element name="levelDescription" type="gmd:MD_ScopeDescription_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_Scope" type="gmd:DQ_Scope_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_Scope_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_Scope"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="DQ_EvaluationMethodTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_EvaluationMethodTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_EvaluationMethodTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/distribution.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/distribution.xsd new file mode 100644 index 00000000000..bb167505e5a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/distribution.xsd @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:03 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_Medium_Type"> + <xs:annotation> + <xs:documentation>Information about the media on which the data can be distributed</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gmd:MD_MediumNameCode_PropertyType" minOccurs="0"/> + <xs:element name="density" type="gco:Real_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="densityUnits" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="volumes" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="mediumFormat" type="gmd:MD_MediumFormatCode_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="mediumNote" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Medium" type="gmd:MD_Medium_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Medium_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Medium"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_DigitalTransferOptions_Type"> + <xs:annotation> + <xs:documentation>Technical means and media by which a dataset is obtained from the distributor</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="unitsOfDistribution" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="transferSize" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="onLine" type="gmd:CI_OnlineResource_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="offLine" type="gmd:MD_Medium_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_DigitalTransferOptions" type="gmd:MD_DigitalTransferOptions_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DigitalTransferOptions_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DigitalTransferOptions"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_StandardOrderProcess_Type"> + <xs:annotation> + <xs:documentation>Common ways in which the dataset may be obtained or received, and related instructions and fee + information + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fees" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="plannedAvailableDateTime" type="gco:DateTime_PropertyType" minOccurs="0"/> + <xs:element name="orderingInstructions" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="turnaround" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_StandardOrderProcess" type="gmd:MD_StandardOrderProcess_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_StandardOrderProcess_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_StandardOrderProcess"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Distributor_Type"> + <xs:annotation> + <xs:documentation>Information about the distributor</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="distributorContact" type="gmd:CI_ResponsibleParty_PropertyType"/> + <xs:element name="distributionOrderProcess" type="gmd:MD_StandardOrderProcess_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="distributorFormat" type="gmd:MD_Format_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="distributorTransferOptions" type="gmd:MD_DigitalTransferOptions_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Distributor" type="gmd:MD_Distributor_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Distributor_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Distributor"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Distribution_Type"> + <xs:annotation> + <xs:documentation>Information about the distributor of and options for obtaining the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="distributionFormat" type="gmd:MD_Format_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="distributor" type="gmd:MD_Distributor_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="transferOptions" type="gmd:MD_DigitalTransferOptions_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Distribution" type="gmd:MD_Distribution_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Distribution_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Distribution"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Format_Type"> + <xs:annotation> + <xs:documentation>Description of the form of the data to be distributed</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="version" type="gco:CharacterString_PropertyType"/> + <xs:element name="amendmentNumber" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="specification" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="fileDecompressionTechnique" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="formatDistributor" type="gmd:MD_Distributor_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Format" type="gmd:MD_Format_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Format_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Format"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_DistributionUnits" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DistributionUnits_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DistributionUnits"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_MediumFormatCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MediumFormatCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MediumFormatCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_MediumNameCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MediumNameCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MediumNameCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/extent.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/extent.xsd new file mode 100644 index 00000000000..57bab5d98e6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/extent.xsd @@ -0,0 +1,219 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" + version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:04 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gss" schemaLocation="../gss/gss.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gts" schemaLocation="../gts/gts.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gsr" schemaLocation="../gsr/gsr.xsd"/> + <xs:include schemaLocation="../gmd/referenceSystem.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="EX_TemporalExtent_Type"> + <xs:annotation> + <xs:documentation>Time period covered by the content of the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="extent" type="gts:TM_Primitive_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_TemporalExtent" type="gmd:EX_TemporalExtent_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_TemporalExtent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_TemporalExtent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_VerticalExtent_Type"> + <xs:annotation> + <xs:documentation>Vertical domain of dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="minimumValue" type="gco:Real_PropertyType"/> + <xs:element name="maximumValue" type="gco:Real_PropertyType"/> + <xs:element name="verticalCRS" type="gsr:SC_CRS_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_VerticalExtent" type="gmd:EX_VerticalExtent_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_VerticalExtent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_VerticalExtent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_BoundingPolygon_Type"> + <xs:annotation> + <xs:documentation>Boundary enclosing the dataset expressed as the closed set of (x,y) coordinates of the polygon + (last point replicates first point) + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractEX_GeographicExtent_Type"> + <xs:sequence> + <xs:element name="polygon" type="gss:GM_Object_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_BoundingPolygon" type="gmd:EX_BoundingPolygon_Type" + substitutionGroup="gmd:AbstractEX_GeographicExtent"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_BoundingPolygon_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_BoundingPolygon"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_Extent_Type"> + <xs:annotation> + <xs:documentation>Information about spatial, vertical, and temporal extent</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="geographicElement" type="gmd:EX_GeographicExtent_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="temporalElement" type="gmd:EX_TemporalExtent_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="verticalElement" type="gmd:EX_VerticalExtent_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_Extent" type="gmd:EX_Extent_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_Extent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_Extent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractEX_GeographicExtent_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Geographic area of the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="extentTypeCode" type="gco:Boolean_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractEX_GeographicExtent" type="gmd:AbstractEX_GeographicExtent_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_GeographicExtent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractEX_GeographicExtent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_GeographicBoundingBox_Type"> + <xs:annotation> + <xs:documentation>Geographic area of the entire dataset referenced to WGS 84</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractEX_GeographicExtent_Type"> + <xs:sequence> + <xs:element name="westBoundLongitude" type="gco:Decimal_PropertyType"/> + <xs:element name="eastBoundLongitude" type="gco:Decimal_PropertyType"/> + <xs:element name="southBoundLatitude" type="gco:Decimal_PropertyType"/> + <xs:element name="northBoundLatitude" type="gco:Decimal_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_GeographicBoundingBox" type="gmd:EX_GeographicBoundingBox_Type" + substitutionGroup="gmd:AbstractEX_GeographicExtent"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_GeographicBoundingBox_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_GeographicBoundingBox"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_SpatialTemporalExtent_Type"> + <xs:annotation> + <xs:documentation>Extent with respect to date and time</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:EX_TemporalExtent_Type"> + <xs:sequence> + <xs:element name="spatialExtent" type="gmd:EX_GeographicExtent_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_SpatialTemporalExtent" type="gmd:EX_SpatialTemporalExtent_Type" + substitutionGroup="gmd:EX_TemporalExtent"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_SpatialTemporalExtent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_SpatialTemporalExtent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_GeographicDescription_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractEX_GeographicExtent_Type"> + <xs:sequence> + <xs:element name="geographicIdentifier" type="gmd:MD_Identifier_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_GeographicDescription" type="gmd:EX_GeographicDescription_Type" + substitutionGroup="gmd:AbstractEX_GeographicExtent"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_GeographicDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_GeographicDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/freeText.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/freeText.xsd new file mode 100644 index 00000000000..7d09cc758ee --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/freeText.xsd @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 03-17-2005 17:21:53 ====== + Informative package (concepts are not implementable) - pragmatic approach for encoding + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/identification.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="PT_FreeText_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="textGroup" type="gmd:LocalisedCharacterString_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PT_FreeText" type="gmd:PT_FreeText_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PT_FreeText_PropertyType"> + <xs:complexContent> + <xs:extension base="gco:CharacterString_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:PT_FreeText"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="PT_Locale_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="languageCode" type="gmd:LanguageCode_PropertyType"/> + <xs:element name="country" type="gmd:Country_PropertyType" minOccurs="0"/> + <xs:element name="characterEncoding" type="gmd:MD_CharacterSetCode_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PT_Locale" type="gmd:PT_Locale_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PT_Locale_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:PT_Locale"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LocalisedCharacterString_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="locale" type="xs:anyURI"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LocalisedCharacterString" type="gmd:LocalisedCharacterString_Type" + substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="LocalisedCharacterString_PropertyType"> + <xs:complexContent> + <xs:extension base="gco:ObjectReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LocalisedCharacterString"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="PT_LocaleContainer_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + <xs:element name="date" type="gmd:CI_Date_PropertyType" maxOccurs="unbounded"/> + <xs:element name="responsibleParty" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> + <xs:element name="localisedString" type="gmd:LocalisedCharacterString_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PT_LocaleContainer" type="gmd:PT_LocaleContainer_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PT_LocaleContainer_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:PT_LocaleContainer"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="LanguageCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="LanguageCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LanguageCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Country" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="Country_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:Country"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--====EOF====--> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/gmd.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/gmd.xsd new file mode 100644 index 00000000000..b14570fa4f1 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/gmd.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" + version="0.1" +> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:04 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="../gmd/metadataApplication.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/identification.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/identification.xsd new file mode 100644 index 00000000000..64b2674fe5a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/identification.xsd @@ -0,0 +1,390 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:05 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/constraints.xsd"/> + <xs:include schemaLocation="../gmd/distribution.xsd"/> + <xs:include schemaLocation="../gmd/maintenance.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="AbstractMD_Identification_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Basic information about data</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="citation" type="gmd:CI_Citation_PropertyType"/> + <xs:element name="abstract" type="gco:CharacterString_PropertyType"/> + <xs:element name="purpose" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="credit" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="status" type="gmd:MD_ProgressCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="pointOfContact" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="resourceMaintenance" type="gmd:MD_MaintenanceInformation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="graphicOverview" type="gmd:MD_BrowseGraphic_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="resourceFormat" type="gmd:MD_Format_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="descriptiveKeywords" type="gmd:MD_Keywords_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="resourceSpecificUsage" type="gmd:MD_Usage_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="resourceConstraints" type="gmd:MD_Constraints_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="aggregationInfo" type="gmd:MD_AggregateInformation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractMD_Identification" type="gmd:AbstractMD_Identification_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Identification_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractMD_Identification"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_BrowseGraphic_Type"> + <xs:annotation> + <xs:documentation>Graphic that provides an illustration of the dataset (should include a legend for the graphic) + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fileName" type="gco:CharacterString_PropertyType"/> + <xs:element name="fileDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="fileType" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_BrowseGraphic" type="gmd:MD_BrowseGraphic_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_BrowseGraphic_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_BrowseGraphic"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_DataIdentification_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_Identification_Type"> + <xs:sequence> + <xs:element name="spatialRepresentationType" type="gmd:MD_SpatialRepresentationTypeCode_PropertyType" + minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="spatialResolution" type="gmd:MD_Resolution_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="language" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="characterSet" type="gmd:MD_CharacterSetCode_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="topicCategory" type="gmd:MD_TopicCategoryCode_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="environmentDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="extent" type="gmd:EX_Extent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="supplementalInformation" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_DataIdentification" type="gmd:MD_DataIdentification_Type" + substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DataIdentification_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DataIdentification"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_ServiceIdentification_Type"> + <xs:annotation> + <xs:documentation>See 19119 for further info</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_Identification_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ServiceIdentification" type="gmd:MD_ServiceIdentification_Type" + substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ServiceIdentification_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ServiceIdentification"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_RepresentativeFraction_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="denominator" type="gco:Integer_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_RepresentativeFraction" type="gmd:MD_RepresentativeFraction_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_RepresentativeFraction_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_RepresentativeFraction"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Usage_Type"> + <xs:annotation> + <xs:documentation>Brief description of ways in which the dataset is currently used.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="specificUsage" type="gco:CharacterString_PropertyType"/> + <xs:element name="usageDateTime" type="gco:DateTime_PropertyType" minOccurs="0"/> + <xs:element name="userDeterminedLimitations" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="userContactInfo" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Usage" type="gmd:MD_Usage_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Usage_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Usage"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Keywords_Type"> + <xs:annotation> + <xs:documentation>Keywords, their type and reference source</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="keyword" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="type" type="gmd:MD_KeywordTypeCode_PropertyType" minOccurs="0"/> + <xs:element name="thesaurusName" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Keywords" type="gmd:MD_Keywords_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Keywords_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Keywords"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Association_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Association" type="gmd:DS_Association_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Association_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Association"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_AggregateInformation_Type"> + <xs:annotation> + <xs:documentation>Encapsulates the dataset aggregation information</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="aggregateDataSetName" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="aggregateDataSetIdentifier" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="associationType" type="gmd:DS_AssociationTypeCode_PropertyType"/> + <xs:element name="initiativeType" type="gmd:DS_InitiativeTypeCode_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_AggregateInformation" type="gmd:MD_AggregateInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_AggregateInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_AggregateInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Resolution_Type"> + <xs:choice> + <xs:element name="equivalentScale" type="gmd:MD_RepresentativeFraction_PropertyType"/> + <xs:element name="distance" type="gco:Distance_PropertyType"/> + </xs:choice> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Resolution" type="gmd:MD_Resolution_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Resolution_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Resolution"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="MD_TopicCategoryCode_Type"> + <xs:annotation> + <xs:documentation>High-level geospatial data thematic classification to assist in the grouping and search of + available geospatial datasets + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="farming"/> + <xs:enumeration value="biota"/> + <xs:enumeration value="boundaries"/> + <xs:enumeration value="climatologyMeteorologyAtmosphere"/> + <xs:enumeration value="economy"/> + <xs:enumeration value="elevation"/> + <xs:enumeration value="environment"/> + <xs:enumeration value="environment_EnvironmentalProtection"/> + <xs:enumeration value="environment_NatureProtection"/> + <xs:enumeration value="geoscientificInformation"/> + <xs:enumeration value="geoscientificInformation_Geology"/> + <xs:enumeration value="geoscientificInformation_Soils"/> + <xs:enumeration value="geoscientificInformation_NaturalHazards"/> + <xs:enumeration value="health"/> + <xs:enumeration value="imageryBaseMapsEarthCover"/> + <xs:enumeration value="imageryBaseMapsEarthCover_BaseMaps"/> + <xs:enumeration value="imageryBaseMapsEarthCover_EarthCover"/> + <xs:enumeration value="imageryBaseMapsEarthCover_Imagery"/> + <xs:enumeration value="intelligenceMilitary"/> + <xs:enumeration value="intelligenceMilitary_R1"/> + <xs:enumeration value="intelligenceMilitary_R2"/> + <xs:enumeration value="intelligenceMilitary_R3"/> + <xs:enumeration value="intelligenceMilitary_R4"/> + <xs:enumeration value="intelligenceMilitary_R5"/> + <xs:enumeration value="intelligenceMilitary_R6"/> + <xs:enumeration value="intelligenceMilitary_R7"/> + <xs:enumeration value="intelligenceMilitary_R8"/> + <xs:enumeration value="intelligenceMilitary_R9"/> + <xs:enumeration value="inlandWaters"/> + <xs:enumeration value="location"/> + <xs:enumeration value="oceans"/> + <xs:enumeration value="planningCadastre"/> + <xs:enumeration value="planningCadastre_Planning"/> + <xs:enumeration value="planningCadastre_Cadastre"/> + <xs:enumeration value="society"/> + <xs:enumeration value="structure"/> + <xs:enumeration value="transportation"/> + <xs:enumeration value="utilitiesCommunication"/> + <xs:enumeration value="utilitiesCommunication_Energy"/> + <xs:enumeration value="utilitiesCommunication_Utilities"/> + <xs:enumeration value="utilitiesCommunication_Communication"/> + </xs:restriction> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="MD_TopicCategoryCode" type="gmd:MD_TopicCategoryCode_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_TopicCategoryCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_TopicCategoryCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_CharacterSetCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_CharacterSetCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_CharacterSetCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_SpatialRepresentationTypeCode" type="gco:CodeListValue_Type" + substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_SpatialRepresentationTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_SpatialRepresentationTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_ProgressCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ProgressCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ProgressCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_KeywordTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_KeywordTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_KeywordTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="DS_AssociationTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_AssociationTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_AssociationTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="DS_InitiativeTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_InitiativeTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_InitiativeTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/maintenance.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/maintenance.xsd new file mode 100644 index 00000000000..f15a92afb4e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/maintenance.xsd @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" + version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:04 ====== Status of + the dataset or progress of a review + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gts" schemaLocation="../gts/gts.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_MaintenanceInformation_Type"> + <xs:annotation> + <xs:documentation>Information about the scope and frequency of updating</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="maintenanceAndUpdateFrequency" type="gmd:MD_MaintenanceFrequencyCode_PropertyType"/> + <xs:element name="dateOfNextUpdate" type="gco:Date_PropertyType" minOccurs="0"/> + <xs:element name="userDefinedMaintenanceFrequency" type="gts:TM_PeriodDuration_PropertyType" minOccurs="0"/> + <xs:element name="updateScope" type="gmd:MD_ScopeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="updateScopeDescription" type="gmd:MD_ScopeDescription_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="maintenanceNote" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="contact" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- ........................................................................ --> + <xs:element name="MD_MaintenanceInformation" type="gmd:MD_MaintenanceInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MaintenanceInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MaintenanceInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_ScopeDescription_Type"> + <xs:annotation> + <xs:documentation>Description of the class of information covered by the information</xs:documentation> + </xs:annotation> + <xs:choice> + <xs:element name="attributes" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="features" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="featureInstances" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="attributeInstances" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="dataset" type="gco:CharacterString_PropertyType"/> + <xs:element name="other" type="gco:CharacterString_PropertyType"/> + </xs:choice> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ScopeDescription" type="gmd:MD_ScopeDescription_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ScopeDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ScopeDescription"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_MaintenanceFrequencyCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MaintenanceFrequencyCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MaintenanceFrequencyCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_ScopeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ScopeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ScopeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataApplication.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataApplication.xsd new file mode 100644 index 00000000000..dae332dbace --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataApplication.xsd @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:05 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/metadataEntity.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="AbstractDS_Aggregate_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Identifiable collection of datasets</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="composedOf" type="gmd:DS_DataSet_PropertyType" maxOccurs="unbounded"/> + <xs:element name="seriesMetadata" type="gmd:MD_Metadata_PropertyType" maxOccurs="unbounded"/> + <xs:element name="subset" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="superset" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDS_Aggregate" type="gmd:AbstractDS_Aggregate_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Aggregate_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDS_Aggregate"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_DataSet_Type"> + <xs:annotation> + <xs:documentation>Identifiable collection of data</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="has" type="gmd:MD_Metadata_PropertyType" maxOccurs="unbounded"/> + <xs:element name="partOf" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_DataSet" type="gmd:DS_DataSet_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_DataSet_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_DataSet"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_OtherAggregate_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDS_Aggregate_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_OtherAggregate" type="gmd:DS_OtherAggregate_Type" substitutionGroup="gmd:AbstractDS_Aggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_OtherAggregate_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_OtherAggregate"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Series_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDS_Aggregate_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Series" type="gmd:DS_Series_Type" substitutionGroup="gmd:AbstractDS_Aggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Series_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Series"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Initiative_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDS_Aggregate_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Initiative" type="gmd:DS_Initiative_Type" substitutionGroup="gmd:AbstractDS_Aggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Initiative_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Initiative"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Platform_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_Series_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Platform" type="gmd:DS_Platform_Type" substitutionGroup="gmd:DS_Series"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Platform_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Platform"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Sensor_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_Series_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Sensor" type="gmd:DS_Sensor_Type" substitutionGroup="gmd:DS_Series"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Sensor_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Sensor"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_ProductionSeries_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_Series_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_ProductionSeries" type="gmd:DS_ProductionSeries_Type" substitutionGroup="gmd:DS_Series"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_ProductionSeries_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_ProductionSeries"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_StereoMate_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_OtherAggregate_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_StereoMate" type="gmd:DS_StereoMate_Type" substitutionGroup="gmd:DS_OtherAggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_StereoMate_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_StereoMate"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataEntity.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataEntity.xsd new file mode 100644 index 00000000000..8b7dcb74b0c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataEntity.xsd @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:00 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/spatialRepresentation.xsd"/> + <xs:include schemaLocation="../gmd/metadataExtension.xsd"/> + <xs:include schemaLocation="../gmd/content.xsd"/> + <xs:include schemaLocation="../gmd/metadataApplication.xsd"/> + <xs:include schemaLocation="../gmd/applicationSchema.xsd"/> + <xs:include schemaLocation="../gmd/portrayalCatalogue.xsd"/> + <xs:include schemaLocation="../gmd/dataQuality.xsd"/> + <xs:include schemaLocation="../gmd/freeText.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_Metadata_Type"> + <xs:annotation> + <xs:documentation>Information about the metadata</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fileIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="language" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="characterSet" type="gmd:MD_CharacterSetCode_PropertyType" minOccurs="0"/> + <xs:element name="parentIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="hierarchyLevel" type="gmd:MD_ScopeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="hierarchyLevelName" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="contact" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> + <xs:element name="dateStamp" type="gco:Date_PropertyType"/> + <xs:element name="metadataStandardName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="metadataStandardVersion" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="dataSetURI" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="spatialRepresentationInfo" type="gmd:MD_SpatialRepresentation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="referenceSystemInfo" type="gmd:MD_ReferenceSystem_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="metadataExtensionInfo" type="gmd:MD_MetadataExtensionInformation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="identificationInfo" type="gmd:MD_Identification_PropertyType" maxOccurs="unbounded"/> + <xs:element name="contentInfo" type="gmd:MD_ContentInformation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="distributionInfo" type="gmd:MD_Distribution_PropertyType" minOccurs="0"/> + <xs:element name="dataQualityInfo" type="gmd:DQ_DataQuality_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="portrayalCatalogueInfo" type="gmd:MD_PortrayalCatalogueReference_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="metadataConstraints" type="gmd:MD_Constraints_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="applicationSchemaInfo" type="gmd:MD_ApplicationSchemaInformation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="metadataMaintenance" type="gmd:MD_MaintenanceInformation_PropertyType" minOccurs="0"/> + <xs:element name="series" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="describes" type="gmd:DS_DataSet_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="propertyType" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="featureType" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="featureAttribute" type="gco:ObjectReference_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Metadata" type="gmd:MD_Metadata_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Metadata_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Metadata"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataExtension.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataExtension.xsd new file mode 100644 index 00000000000..e0164455447 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/metadataExtension.xsd @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:03 ====== Method + used to represent geographic information in the dataset + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_ExtendedElementInformation_Type"> + <xs:annotation> + <xs:documentation>New metadata element, not found in ISO 19115, which is required to describe geographic data + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="shortName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="domainCode" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="definition" type="gco:CharacterString_PropertyType"/> + <xs:element name="obligation" type="gmd:MD_ObligationCode_PropertyType" minOccurs="0"/> + <xs:element name="condition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="dataType" type="gmd:MD_DatatypeCode_PropertyType"/> + <xs:element name="maximumOccurrence" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="domainValue" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="parentEntity" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="rule" type="gco:CharacterString_PropertyType"/> + <xs:element name="rationale" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="source" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ExtendedElementInformation" type="gmd:MD_ExtendedElementInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ExtendedElementInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ExtendedElementInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_MetadataExtensionInformation_Type"> + <xs:annotation> + <xs:documentation>Information describing metadata extensions.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="extensionOnLineResource" type="gmd:CI_OnlineResource_PropertyType" minOccurs="0"/> + <xs:element name="extendedElementInformation" type="gmd:MD_ExtendedElementInformation_PropertyType" + minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_MetadataExtensionInformation" type="gmd:MD_MetadataExtensionInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MetadataExtensionInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MetadataExtensionInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="MD_ObligationCode_Type"> + <xs:restriction base="xs:string"> + <xs:enumeration value="mandatory"/> + <xs:enumeration value="optional"/> + <xs:enumeration value="conditional"/> + </xs:restriction> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="MD_ObligationCode" type="gmd:MD_ObligationCode_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ObligationCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ObligationCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_DatatypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DatatypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DatatypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/portrayalCatalogue.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/portrayalCatalogue.xsd new file mode 100644 index 00000000000..68fd43d1699 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/portrayalCatalogue.xsd @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:03 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_PortrayalCatalogueReference_Type"> + <xs:annotation> + <xs:documentation>Information identifing the portrayal catalogue used</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="portrayalCatalogueCitation" type="gmd:CI_Citation_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_PortrayalCatalogueReference" type="gmd:MD_PortrayalCatalogueReference_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_PortrayalCatalogueReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_PortrayalCatalogueReference"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/referenceSystem.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/referenceSystem.xsd new file mode 100644 index 00000000000..bd088447832 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/referenceSystem.xsd @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:04 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/citation.xsd"/> + <xs:include schemaLocation="../gmd/extent.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="RS_Identifier_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_Identifier_Type"> + <xs:sequence> + <xs:element name="codeSpace" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="version" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="RS_Identifier" type="gmd:RS_Identifier_Type" substitutionGroup="gmd:MD_Identifier"/> + <!-- ........................................................................ --> + <xs:complexType name="RS_Identifier_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:RS_Identifier"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_ReferenceSystem_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="referenceSystemIdentifier" type="gmd:RS_Identifier_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ReferenceSystem" type="gmd:MD_ReferenceSystem_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ReferenceSystem_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ReferenceSystem"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Identifier_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="authority" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="code" type="gco:CharacterString_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Identifier" type="gmd:MD_Identifier_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Identifier_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Identifier"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractRS_ReferenceSystem_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Description of the spatial and temporal reference systems used in the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gmd:RS_Identifier_PropertyType"/> + <xs:element name="domainOfValidity" type="gmd:EX_Extent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractRS_ReferenceSystem" type="gmd:AbstractRS_ReferenceSystem_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="RS_ReferenceSystem_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractRS_ReferenceSystem"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/spatialRepresentation.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/spatialRepresentation.xsd new file mode 100644 index 00000000000..316f02596a2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmd/spatialRepresentation.xsd @@ -0,0 +1,250 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gss="http://www.isotc211.org/2005/gss" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" + version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:02 ====== Frequency + with which modifications and deletations are made to the data after it is first produced + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gss" schemaLocation="../gss/gss.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../gmd/citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_GridSpatialRepresentation_Type"> + <xs:annotation> + <xs:documentation>Types and numbers of raster spatial objects in the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_SpatialRepresentation_Type"> + <xs:sequence> + <xs:element name="numberOfDimensions" type="gco:Integer_PropertyType"/> + <xs:element name="axisDimensionProperties" type="gmd:MD_Dimension_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="cellGeometry" type="gmd:MD_CellGeometryCode_PropertyType"/> + <xs:element name="transformationParameterAvailability" type="gco:Boolean_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_GridSpatialRepresentation" type="gmd:MD_GridSpatialRepresentation_Type" + substitutionGroup="gmd:AbstractMD_SpatialRepresentation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_GridSpatialRepresentation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_GridSpatialRepresentation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_VectorSpatialRepresentation_Type"> + <xs:annotation> + <xs:documentation>Information about the vector spatial objects in the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_SpatialRepresentation_Type"> + <xs:sequence> + <xs:element name="topologyLevel" type="gmd:MD_TopologyLevelCode_PropertyType" minOccurs="0"/> + <xs:element name="geometricObjects" type="gmd:MD_GeometricObjects_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_VectorSpatialRepresentation" type="gmd:MD_VectorSpatialRepresentation_Type" + substitutionGroup="gmd:AbstractMD_SpatialRepresentation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_VectorSpatialRepresentation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_VectorSpatialRepresentation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractMD_SpatialRepresentation_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Digital mechanism used to represent spatial information</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractMD_SpatialRepresentation" type="gmd:AbstractMD_SpatialRepresentation_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_SpatialRepresentation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractMD_SpatialRepresentation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Georeferenceable_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_GridSpatialRepresentation_Type"> + <xs:sequence> + <xs:element name="controlPointAvailability" type="gco:Boolean_PropertyType"/> + <xs:element name="orientationParameterAvailability" type="gco:Boolean_PropertyType"/> + <xs:element name="orientationParameterDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="georeferencedParameters" type="gco:Record_PropertyType"/> + <xs:element name="parameterCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Georeferenceable" type="gmd:MD_Georeferenceable_Type" + substitutionGroup="gmd:MD_GridSpatialRepresentation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Georeferenceable_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Georeferenceable"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Dimension_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="dimensionName" type="gmd:MD_DimensionNameTypeCode_PropertyType"/> + <xs:element name="dimensionSize" type="gco:Integer_PropertyType"/> + <xs:element name="resolution" type="gco:Measure_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Dimension" type="gmd:MD_Dimension_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Dimension_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Dimension"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Georectified_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_GridSpatialRepresentation_Type"> + <xs:sequence> + <xs:element name="checkPointAvailability" type="gco:Boolean_PropertyType"/> + <xs:element name="checkPointDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="cornerPoints" type="gss:GM_Point_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="centerPoint" type="gss:GM_Point_PropertyType" minOccurs="0"/> + <xs:element name="pointInPixel" type="gmd:MD_PixelOrientationCode_PropertyType"/> + <xs:element name="transformationDimensionDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="transformationDimensionMapping" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="2"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Georectified" type="gmd:MD_Georectified_Type" + substitutionGroup="gmd:MD_GridSpatialRepresentation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Georectified_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Georectified"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_GeometricObjects_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="geometricObjectType" type="gmd:MD_GeometricObjectTypeCode_PropertyType"/> + <xs:element name="geometricObjectCount" type="gco:Integer_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_GeometricObjects" type="gmd:MD_GeometricObjects_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_GeometricObjects_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_GeometricObjects"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="MD_PixelOrientationCode_Type"> + <xs:restriction base="xs:string"> + <xs:enumeration value="center"/> + <xs:enumeration value="lowerLeft"/> + <xs:enumeration value="lowerRight"/> + <xs:enumeration value="upperRight"/> + <xs:enumeration value="upperLeft"/> + </xs:restriction> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="MD_PixelOrientationCode" type="gmd:MD_PixelOrientationCode_Type" + substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_PixelOrientationCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_PixelOrientationCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_TopologyLevelCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_TopologyLevelCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_TopologyLevelCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_GeometricObjectTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_GeometricObjectTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_GeometricObjectTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_CellGeometryCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_CellGeometryCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_CellGeometryCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_DimensionNameTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DimensionNameTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DimensionNameTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmi/gmi.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmi/gmi.xsd new file mode 100644 index 00000000000..aaf487a9281 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmi/gmi.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.isotc211.org/2005/gmi" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 02-15-2006 17:48:58 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="imageryDataQuality.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmi/imageryDataQuality.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmi/imageryDataQuality.xsd new file mode 100644 index 00000000000..1623451e433 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmi/imageryDataQuality.xsd @@ -0,0 +1,243 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by STEPHANE BIDAULT (I.G.N/SAF/RECEPTIONS) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gmi="http://www.isotc211.org/2005/gmi" + targetNamespace="http://www.isotc211.org/2005/gmi" elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 02-15-2006 17:48:57 ====== Name: + Lineage - Position: 2 + </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:import namespace="http://www.isotc211.org/2005/gmx" schemaLocation="../gmx/gmx.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="LE_Algorithm_Type"> + <xs:annotation> + <xs:documentation>Description: Details of the methodology by which geographic information was derived from the + instrument readings - FGDC: Algorithm_Information - shortName: Algorithm + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="citation" type="gmd:CI_Citation_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LE_Algorithm" type="gmi:LE_Algorithm_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LE_Algorithm_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_Algorithm"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LE_Processing_Type"> + <xs:annotation> + <xs:documentation>Description: Comprehensive information about the procedure(s), process(es) and algorithm(s) + applied in the process step - shortName: Procsg + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="identifier" type="gmd:MD_Identifier_PropertyType"/> + <xs:element name="softwareReference" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="procedureDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="documentation" type="gmd:CI_Citation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="runTimeParameters" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="algorithm" type="gmi:LE_Algorithm_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LE_Processing" type="gmi:LE_Processing_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LE_Processing_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_Processing"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LE_Source_Type"> + <xs:annotation> + <xs:documentation>Description: information on source of data sets for processing step - shortName: SrcDataset + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:LI_Source_Type"> + <xs:sequence> + <xs:element name="processedLevel" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="resolution" type="gmi:LE_NominalResolution_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- NOT DEFINED IN GM03........................................................................ + <xs:element name="LE_Source" type="gmi:LE_Source_Type" substitutionGroup="gmd:LI_Source"/>--> + <!-- ........................................................................ + <xs:complexType name="LE_Source_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_Source"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType>--> + <!-- =========================================================================== --> + <xs:complexType name="LE_ProcessStep_Type"> + <xs:annotation> + <xs:documentation>Description: Information about an event or transformation in the life of the dataset including + details of the algorithm and software used for processing - FGDC: - shortName: DetailProcStep + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:LI_ProcessStep_Type"> + <xs:sequence> + <xs:element name="processingInformation" type="gmi:LE_Processing_PropertyType" minOccurs="0"/> + <!--<xs:element name="output" type="gmi:LE_Source_PropertyType" minOccurs="0" maxOccurs="unbounded"/>--> + <xs:element name="report" type="gmi:LE_ProcessStepReport_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- NOT DEFINED IN GM03 ........................................................................ + <xs:element name="LE_ProcessStep" type="gmi:LE_ProcessStep_Type" substitutionGroup="gmd:LI_ProcessStep"/>--> + <!-- ........................................................................ + <xs:complexType name="LE_ProcessStep_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_ProcessStep"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType>--> + <!-- =========================================================================== --> + <xs:complexType name="LE_ProcessStepReport_Type"> + <xs:annotation> + <xs:documentation>Description: Report of what occured during the process step - shortName: ProcStepRep + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="fileType" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LE_ProcessStepReport" type="gmi:LE_ProcessStepReport_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LE_ProcessStepReport_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_ProcessStepReport"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="QE_CoverageResult_Type"> + <xs:annotation> + <xs:documentation>Description: Result of a data quality measure organising the measured values as a coverage - + shortName: CoverageResult + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Result_Type"> + <xs:sequence> + <xs:element name="spatialRepresentationType" type="gmd:MD_SpatialRepresentationTypeCode_PropertyType"/> + <xs:element name="resultSpatialRepresentation" type="gmd:MD_SpatialRepresentation_PropertyType"/> + <xs:element name="resultContentDescription" type="gmd:MD_CoverageDescription_PropertyType"/> + <xs:element name="resultFormat" type="gmd:MD_Format_PropertyType"/> + <xs:element name="resultFile" type="gmx:MX_DataFile_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="QE_CoverageResult" type="gmi:QE_CoverageResult_Type" substitutionGroup="gmd:AbstractDQ_Result"/> + <!-- ........................................................................ --> + <xs:complexType name="QE_CoverageResult_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:QE_CoverageResult"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MX_DataFile_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fileFormat" type="gmd:MD_Format_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_DataFile" type="gmx:MX_DataFile_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_DataFile_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_DataFile"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="QE_Usability_Type"> + <xs:annotation> + <xs:documentation>Description: to: degree of adherence of a dataset to a specific set of user requirements - + shortName: Usability + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="QE_Usability" type="gmi:QE_Usability_Type" substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="QE_Usability_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:QE_Usability"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LE_NominalResolution_Type"> + <xs:annotation> + <xs:documentation>Description: Distance between adjacent pixels - shortName: nomRes</xs:documentation> + </xs:annotation> + <xs:choice> + <xs:element name="scanningResolution" type="gco:Distance_PropertyType"/> + <xs:element name="groundResolution" type="gco:Distance_PropertyType"/> + </xs:choice> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LE_NominalResolution" type="gmi:LE_NominalResolution_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LE_NominalResolution_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_NominalResolution"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/feature.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/feature.xsd new file mode 100644 index 00000000000..b39da7c9c1c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/feature.xsd @@ -0,0 +1,289 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" + targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + version="2.1.2"> + <annotation> + <appinfo>feature.xsd v2.1.2 2002-07</appinfo> + <documentation xml:lang="en"> + GML Feature schema. Copyright (c) 2002 OGC, All Rights Reserved. + </documentation> + </annotation> + <!-- include constructs from the GML Geometry schema --> + <include schemaLocation="geometry.xsd"/> + <!-- bring in the XLink namespace --> + <import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> + <!-- ============================================================== + global declarations + =================================================================== --> + <element name="_Feature" type="gml:AbstractFeatureType" abstract="true"/> + <element name="_FeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" + substitutionGroup="gml:_Feature"/> + <element name="featureMember" type="gml:FeatureAssociationType"/> + <!-- some basic geometric properties of features --> + <element name="_geometryProperty" type="gml:GeometryAssociationType" abstract="true"/> + <element name="geometryProperty" type="gml:GeometryAssociationType"/> + <element name="boundedBy" type="gml:BoundingShapeType"/> + <element name="pointProperty" type="gml:PointPropertyType" substitutionGroup="gml:_geometryProperty"/> + <element name="polygonProperty" type="gml:PolygonPropertyType" substitutionGroup="gml:_geometryProperty"/> + <element name="lineStringProperty" type="gml:LineStringPropertyType" substitutionGroup="gml:_geometryProperty"/> + <element name="multiPointProperty" type="gml:MultiPointPropertyType" substitutionGroup="gml:_geometryProperty"/> + <element name="multiLineStringProperty" type="gml:MultiLineStringPropertyType" + substitutionGroup="gml:_geometryProperty"/> + <element name="multiPolygonProperty" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:_geometryProperty"/> + <element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType" substitutionGroup="gml:_geometryProperty"/> + <!-- common aliases for geometry properties --> + <element name="location" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/> + <element name="centerOf" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/> + <element name="position" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/> + <element name="extentOf" type="gml:PolygonPropertyType" substitutionGroup="gml:polygonProperty"/> + <element name="coverage" type="gml:PolygonPropertyType" substitutionGroup="gml:polygonProperty"/> + <element name="edgeOf" type="gml:LineStringPropertyType" substitutionGroup="gml:lineStringProperty"/> + <element name="centerLineOf" type="gml:LineStringPropertyType" substitutionGroup="gml:lineStringProperty"/> + <element name="multiLocation" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/> + <element name="multiCenterOf" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/> + <element name="multiPosition" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/> + <element name="multiCenterLineOf" type="gml:MultiLineStringPropertyType" + substitutionGroup="gml:multiLineStringProperty"/> + <element name="multiEdgeOf" type="gml:MultiLineStringPropertyType" substitutionGroup="gml:multiLineStringProperty"/> + <element name="multiCoverage" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:multiPolygonProperty"/> + <element name="multiExtentOf" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:multiPolygonProperty"/> + <!-- common feature descriptors --> + <element name="description" type="string"/> + <element name="name" type="string"/> + <!-- ============================================================== + abstract supertypes + =================================================================== --> + <complexType name="AbstractFeatureType" abstract="true"> + <annotation> + <documentation> + An abstract feature provides a set of common properties. A concrete + feature type must derive from this type and specify additional + properties in an application schema. A feature may optionally + possess an identifying attribute ('fid'). + </documentation> + </annotation> + <sequence> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:name" minOccurs="0"/> + <element ref="gml:boundedBy" minOccurs="0"/> + <!-- additional properties must be specified in an application schema --> + </sequence> + <attribute name="fid" type="ID" use="optional"/> + </complexType> + <complexType name="AbstractFeatureCollectionBaseType" abstract="true"> + <annotation> + <documentation> + This abstract base type just makes the boundedBy element mandatory + for a feature collection. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:AbstractFeatureType"> + <sequence> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:name" minOccurs="0"/> + <element ref="gml:boundedBy"/> + </sequence> + <attribute name="fid" type="ID" use="optional"/> + </restriction> + </complexContent> + </complexType> + <complexType name="AbstractFeatureCollectionType" abstract="true"> + <annotation> + <documentation> + A feature collection contains zero or more featureMember elements. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractFeatureCollectionBaseType"> + <sequence> + <element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GeometryPropertyType"> + <annotation> + <documentation> + A simple geometry property encapsulates a geometry element. + Alternatively, it can function as a pointer (simple-type link) + that refers to a remote geometry element. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:_Geometry"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </complexType> + <complexType name="FeatureAssociationType"> + <annotation> + <documentation> + An instance of this type (e.g. a featureMember) can either + enclose or point to a feature (or feature collection); this + type can be restricted in an application schema to allow only + specified features as valid participants in the association. + When serving as a simple link that references a remote feature + instance, the value of the gml:remoteSchema attribute can be + used to locate a schema fragment that constrains the target + instance. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:_Feature"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </complexType> + <complexType name="BoundingShapeType"> + <annotation> + <documentation> + Bounding shapes--a Box or a null element are currently allowed. + </documentation> + </annotation> + <sequence> + <choice> + <element ref="gml:Box"/> + <element name="null" type="gml:NullType"/> + </choice> + </sequence> + </complexType> + <!-- ============================================================== + geometry properties + =================================================================== --> + <complexType name="PointPropertyType"> + <annotation> + <documentation> + Encapsulates a single point to represent position, location, or + centerOf properties. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:Point"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </restriction> + </complexContent> + </complexType> + <complexType name="PolygonPropertyType"> + <annotation> + <documentation> + Encapsulates a single polygon to represent coverage or extentOf + properties. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:Polygon"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </restriction> + </complexContent> + </complexType> + <complexType name="LineStringPropertyType"> + <annotation> + <documentation> + Encapsulates a single LineString to represent centerLineOf or + edgeOf properties. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:LineString"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </restriction> + </complexContent> + </complexType> + <complexType name="MultiPointPropertyType"> + <annotation> + <documentation> + Encapsulates a MultiPoint element to represent the following + discontiguous geometric properties: multiLocation, multiPosition, + multiCenterOf. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:MultiPoint"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </restriction> + </complexContent> + </complexType> + <complexType name="MultiLineStringPropertyType"> + <annotation> + <documentation> + Encapsulates a MultiLineString element to represent the following + discontiguous geometric properties: multiEdgeOf, multiCenterLineOf. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:MultiLineString"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </restriction> + </complexContent> + </complexType> + <complexType name="MultiPolygonPropertyType"> + <annotation> + <documentation> + Encapsulates a MultiPolygon to represent the following discontiguous + geometric properties: multiCoverage, multiExtentOf. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:MultiPolygon"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </restriction> + </complexContent> + </complexType> + <complexType name="MultiGeometryPropertyType"> + <annotation> + <documentation>Encapsulates a MultiGeometry element.</documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:MultiGeometry"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </restriction> + </complexContent> + </complexType> + <simpleType name="NullType"> + <annotation> + <documentation> + If a bounding shape is not provided for a feature collection, + explain why. Allowable values are: + innapplicable - the features do not have geometry + unknown - the boundingBox cannot be computed + unavailable - there may be a boundingBox but it is not divulged + missing - there are no features + </documentation> + </annotation> + <restriction base="string"> + <enumeration value="inapplicable"/> + <enumeration value="unknown"/> + <enumeration value="unavailable"/> + <enumeration value="missing"/> + </restriction> + </simpleType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/geometry.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/geometry.xsd new file mode 100644 index 00000000000..8e74b55a119 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/geometry.xsd @@ -0,0 +1,354 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.opengis.net/gml" + elementFormDefault="qualified" version="2.1.2"> + <annotation> + <appinfo>geometry.xsd v2.1.2 2002-07</appinfo> + <documentation xml:lang="en"> + GML Geometry schema. Copyright (c) 2001,2002 OGC, All Rights Reserved. + </documentation> + </annotation> + <!-- bring in the XLink attributes --> + <import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> + <!-- ============================================================== + global declarations + =================================================================== --> + <element name="_Geometry" type="gml:AbstractGeometryType" abstract="true"/> + <element name="_GeometryCollection" type="gml:GeometryCollectionType" abstract="true" + substitutionGroup="gml:_Geometry"/> + <element name="geometryMember" type="gml:GeometryAssociationType"/> + <element name="pointMember" type="gml:PointMemberType" substitutionGroup="gml:geometryMember"/> + <element name="lineStringMember" type="gml:LineStringMemberType" substitutionGroup="gml:geometryMember"/> + <element name="polygonMember" type="gml:PolygonMemberType" substitutionGroup="gml:geometryMember"/> + <element name="outerBoundaryIs" type="gml:LinearRingMemberType"/> + <element name="innerBoundaryIs" type="gml:LinearRingMemberType"/> + <!-- primitive geometry elements --> + <element name="Point" type="gml:PointType" substitutionGroup="gml:_Geometry"/> + <element name="LineString" type="gml:LineStringType" substitutionGroup="gml:_Geometry"/> + <element name="LinearRing" type="gml:LinearRingType" substitutionGroup="gml:_Geometry"/> + <element name="Polygon" type="gml:PolygonType" substitutionGroup="gml:_Geometry"/> + <element name="Box" type="gml:BoxType"/> + <!-- aggregate geometry elements --> + <element name="MultiGeometry" type="gml:GeometryCollectionType"/> <!-- substitutionGroup="gml:_Geometry"/>--> + <element name="MultiPoint" type="gml:MultiPointType"/> <!-- substitutionGroup="gml:_Geometry"/>--> + <element name="MultiLineString" type="gml:MultiLineStringType"/> <!-- substitutionGroup="gml:_Geometry"/>--> + <element name="MultiPolygon" type="gml:MultiPolygonType"/> <!-- substitutionGroup="gml:_Geometry"/>--> + <!-- coordinate elements --> + <element name="coord" type="gml:CoordType"/> + <element name="coordinates" type="gml:CoordinatesType"/> + <!-- this attribute gives the location where an element is defined --> + <attribute name="remoteSchema" type="anyURI"/> + <!-- ============================================================== + abstract supertypes + =================================================================== --> + <complexType name="AbstractGeometryType" abstract="true"> + <annotation> + <documentation> + All geometry elements are derived from this abstract supertype; + a geometry element may have an identifying attribute (gid). + It may be associated with a spatial reference system. + </documentation> + </annotation> + <complexContent> + <restriction base="anyType"> + <attribute name="gid" type="ID" use="optional"/> + <attribute name="srsName" type="anyURI" use="optional"/> + </restriction> + </complexContent> + </complexType> + <complexType name="AbstractGeometryCollectionBaseType" abstract="true"> + <annotation> + <documentation> + This abstract base type for geometry collections just makes the + srsName attribute mandatory. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:AbstractGeometryType"> + <attribute name="gid" type="ID" use="optional"/> + <attribute name="srsName" type="anyURI" use="required"/> + </restriction> + </complexContent> + </complexType> + <attributeGroup name="AssociationAttributeGroup"> + <annotation> + <documentation> + These attributes can be attached to any element, thus allowing it + to act as a pointer. The 'remoteSchema' attribute allows an element + that carries link attributes to indicate that the element is declared + in a remote schema rather than by the schema that constrains the + current document instance. + </documentation> + </annotation> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </attributeGroup> + <complexType name="GeometryAssociationType"> + <annotation> + <documentation> + An instance of this type (e.g. a geometryMember) can either + enclose or point to a primitive geometry element. When serving + as a simple link that references a remote geometry instance, + the value of the gml:remoteSchema attribute can be used to + locate a schema fragment that constrains the target instance. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:_Geometry"/> + </sequence> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + <!-- <attributeGroup ref="gml:AssociationAttributeGroup"/> --> + </complexType> + <complexType name="PointMemberType"> + <annotation> + <documentation>Restricts the geometry member to being a Point instance.</documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:Point"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </restriction> + </complexContent> + </complexType> + <complexType name="LineStringMemberType"> + <annotation> + <documentation>Restricts the geometry member to being a LineString instance.</documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:LineString"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </restriction> + </complexContent> + </complexType> + <complexType name="PolygonMemberType"> + <annotation> + <documentation>Restricts the geometry member to being a Polygon instance.</documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:Polygon"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </restriction> + </complexContent> + </complexType> + <complexType name="LinearRingMemberType"> + <annotation> + <documentation>Restricts the outer or inner boundary of a polygon instance + to being a LinearRing. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:GeometryAssociationType"> + <sequence minOccurs="0"> + <element ref="gml:LinearRing"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </restriction> + </complexContent> + </complexType> + <!-- ============================================================== + primitive geometry types + =================================================================== --> + <complexType name="PointType"> + <annotation> + <documentation> + A Point is defined by a single coordinate tuple. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <choice> + <element ref="gml:coord"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="LineStringType"> + <annotation> + <documentation> + A LineString is defined by two or more coordinate tuples, with + linear interpolation between them. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <choice> + <element ref="gml:coord" minOccurs="2" maxOccurs="unbounded"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="LinearRingType"> + <annotation> + <documentation> + A LinearRing is defined by four or more coordinate tuples, with + linear interpolation between them; the first and last coordinates + must be coincident. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <choice> + <element ref="gml:coord" minOccurs="4" maxOccurs="unbounded"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="BoxType"> + <annotation> + <documentation> + The Box structure defines an extent using a pair of coordinate tuples. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <choice> + <element ref="gml:coord" minOccurs="2" maxOccurs="2"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="PolygonType"> + <annotation> + <documentation> + A Polygon is defined by an outer boundary and zero or more inner + boundaries which are in turn defined by LinearRings. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <element ref="gml:outerBoundaryIs"/> + <element ref="gml:innerBoundaryIs" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- ============================================================== + aggregate geometry types + =================================================================== --> + <complexType name="GeometryCollectionType"> + <annotation> + <documentation> + A geometry collection must include one or more geometries, referenced + through geometryMember elements. User-defined geometry collections + that accept GML geometry classes as members must instantiate--or + derive from--this type. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryCollectionBaseType"> + <sequence> + <element ref="gml:geometryMember" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="MultiPointType"> + <annotation> + <documentation> + A MultiPoint is defined by one or more Points, referenced through + pointMember elements. + </documentation> + </annotation> + <!--<complexContent> + <restriction base="gml:GeometryCollectionType">--> + <sequence> + <element ref="gml:pointMember" maxOccurs="unbounded"/> + </sequence> + <attribute name="gid" type="ID" use="optional"/> + <attribute name="srsName" type="anyURI" use="required"/> + <!--</restriction> + </complexContent>--> + </complexType> + <complexType name="MultiLineStringType"> + <annotation> + <documentation> + A MultiLineString is defined by one or more LineStrings, referenced + through lineStringMember elements. + </documentation> + </annotation> + <!--<complexContent> + <restriction base="gml:GeometryCollectionType">--> + <sequence> + <element ref="gml:lineStringMember" maxOccurs="unbounded"/> + </sequence> + <attribute name="gid" type="ID" use="optional"/> + <attribute name="srsName" type="anyURI" use="required"/> + <!--</restriction> + </complexContent>--> + </complexType> + <complexType name="MultiPolygonType"> + <annotation> + <documentation> + A MultiPolygon is defined by one or more Polygons, referenced through + polygonMember elements. + </documentation> + </annotation> + <!-- la restriction n'est pas appréciée. Modification : PL + <complexContent> + <restriction base="gml:GeometryCollectionType">--> + <sequence> + <element ref="gml:polygonMember" maxOccurs="unbounded"/> + </sequence> + <attribute name="gid" type="ID" use="optional"/> + <attribute name="srsName" type="anyURI" use="required"/> + <!--</restriction> + </complexContent>--> + </complexType> + <!-- ============================================================== + There are two ways to represent coordinates: (1) as a sequence + of <coord> elements that encapsulate tuples, or (2) using a + single <coordinates> string. + =================================================================== --> + <complexType name="CoordType"> + <annotation> + <documentation> + Represents a coordinate tuple in one, two, or three dimensions. + </documentation> + </annotation> + <sequence> + <element name="X" type="decimal"/> + <element name="Y" type="decimal" minOccurs="0"/> + <element name="Z" type="decimal" minOccurs="0"/> + </sequence> + </complexType> + <complexType name="CoordinatesType"> + <annotation> + <documentation> + Coordinates can be included in a single string, but there is no + facility for validating string content. The value of the 'cs' attribute + is the separator for coordinate values, and the value of the 'ts' + attribute gives the tuple separator (a single space by default); the + default values may be changed to reflect local usage. + </documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attribute name="decimal" type="string" use="optional" default="."/> + <attribute name="cs" type="string" use="optional" default=","/> + <attribute name="ts" type="string" use="optional" default="&#x20;"/> + </extension> + </simpleContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/xlinks.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/xlinks.xsd new file mode 100644 index 00000000000..29e4219c044 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/2.1.2/xlinks.xsd @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2001/XMLSchema" version="1.0.1"> + <annotation> + <appinfo source="urn:ogc:specification:xlinks 2005-09-12">xlinks.xsd</appinfo> + <documentation>This document is now deprecated. Instead, please reference the xlinks.xsd file stored at the location + http://schemas.opengis.net/xlink/1.0.0/xlinks.xsd. + This modified xlink.xsd document is provided because some existing XML Schema Documents might still reference it + at this location. In the future, this file will be made invalid so that any documents referencing it will no + longer validate as expected. Subsequent to that, this file will be deleted from this location. This strategy is + designed to smooth transition from the many xlinks.xsd files previously distributed throughout the OGC schema + repository, to having only one official xlink.xsd document stored at + http://schemas.opengis.net/xlink/1.0.0/xlinks.xsd. + All references to xlinks.xsd documents, in existing XML Schema Documents within the OGC schema repository, have + been modified to reference the xlinks.xsd file stored at http://schemas.opengis.net/xlink/1.0.0/xlinks.xsd. All + include and import statements have also been changed to use relative paths to this xlinks.xsd document. Any new + XML Schema documents shall also point to the new xlink/xlinks.xsd file and shall use a relative path. + </documentation> + </annotation> + <include schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/basicTypes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/basicTypes.xsd new file mode 100644 index 00000000000..9d7c21436a3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/basicTypes.xsd @@ -0,0 +1,330 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:basicTypes:3.2.0">basicTypes.xsd</appinfo> + <documentation>See ISO/DIS 19136 8.2. + W3C XML Schema provides a set of built-in “simple” types which define methods for representing values as literals + without internal markup. These are described in W3C XML Schema Part 2:2001. Because GML is an XML encoding in + which instances are described using XML Schema, these simple types shall be used as far as possible and practical + for the representation of data types. W3C XML Schema also provides methods for defining + - new simple types by restriction and combination of the built-in types, and + - complex types, with simple content, but which also have XML attributes. + In many places where a suitable built-in simple type is not available, simple content types derived using the XML + Schema mechanisms are used for the representation of data types in GML. + A set of these simple content types that are required by several GML components are defined in the basicTypes + schema, as well as some elements based on them. These are primarily based around components needed to record + amounts, counts, flags and terms, together with support for exceptions or null values. + </documentation> + </annotation> + <simpleType name="NilReasonType"> + <annotation> + <documentation>gml:NilReasonType defines a content model that allows recording of an explanation for a void value + or other exception. + gml:NilReasonType is a union of the following enumerated values: + - inapplicable there is no value + - missing the correct value is not readily available to the sender of this data. Furthermore, a correct value + may not exist + - template the value will be available later + - unknown the correct value is not known to, and not computable by, the sender of this data. However, a correct + value probably exists + - withheld the value is not divulged + - other:text other brief explanation, where text is a string of two or more characters with no included spaces + and + - anyURI which should refer to a resource which describes the reason for the exception + A particular community may choose to assign more detailed semantics to the standard values provided. + Alternatively, the URI method enables a specific or more complete explanation for the absence of a value to be + provided elsewhere and indicated by-reference in an instance document. + gml:NilReasonType is used as a member of a union in a number of simple content types where it is necessary to + permit a value from the NilReasonType union as an alternative to the primary type. + </documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration anyURI"/> + </simpleType> + <simpleType name="NilReasonEnumeration"> + <union> + <simpleType> + <restriction base="string"> + <enumeration value="inapplicable"/> + <enumeration value="missing"/> + <enumeration value="template"/> + <enumeration value="unknown"/> + <enumeration value="withheld"/> + </restriction> + </simpleType> + <simpleType> + <restriction base="string"> + <pattern value="other:\w{2,}"/> + </restriction> + </simpleType> + </union> + </simpleType> + <element name="Null" type="gml:NilReasonType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <simpleType name="SignType"> + <annotation> + <documentation>gml:SignType is a convenience type with values “+” (plus) and “-“ (minus).</documentation> + </annotation> + <restriction base="string"> + <enumeration value="-"/> + <enumeration value="+"/> + </restriction> + </simpleType> + <simpleType name="booleanOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of + the built-in simple type or a reason for a nil value. + </documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration boolean anyURI"/> + </simpleType> + <simpleType name="doubleOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of + the built-in simple type or a reason for a nil value. + </documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration double anyURI"/> + </simpleType> + <simpleType name="integerOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of + the built-in simple type or a reason for a nil value. + </documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration integer anyURI"/> + </simpleType> + <simpleType name="NameOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of + the built-in simple type or a reason for a nil value. + </documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration Name anyURI"/> + </simpleType> + <simpleType name="stringOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of + the built-in simple type or a reason for a nil value. + </documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration string anyURI"/> + </simpleType> + <complexType name="CodeType"> + <annotation> + <documentation>gml:CodeType is a generalized type to be used for a term, keyword or name. + It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall + indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term. + </documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attribute name="codeSpace" type="anyURI"/> + </extension> + </simpleContent> + </complexType> + <complexType name="CodeWithAuthorityType"> + <annotation> + <documentation>gml:CodeWithAuthorityType requires that the codeSpace attribute is provided in an instance. + </documentation> + </annotation> + <simpleContent> + <restriction base="gml:CodeType"> + <attribute name="codeSpace" type="anyURI" use="required"/> + </restriction> + </simpleContent> + </complexType> + <complexType name="MeasureType"> + <annotation> + <documentation>gml:MeasureType supports recording an amount encoded as a value of XML Schema double, together with + a units of measure indicated by an attribute uom, short for “units Of measure”. The value of the uom attribute + identifies a reference system for the amount, usually a ratio or interval scale. + </documentation> + </annotation> + <simpleContent> + <extension base="double"> + <attribute name="uom" type="gml:UomIdentifier" use="required"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="UomIdentifier"> + <annotation> + <documentation>The simple type gml:UomIdentifer defines the syntax and value space of the unit of measure + identifier. + </documentation> + </annotation> + <union memberTypes="gml:UomSymbol gml:UomURI"/> + </simpleType> + <simpleType name="UomSymbol"> + <annotation> + <documentation>This type specifies a character string of length at least one, and restricted such that it must not + contain any of the following characters: “:” (colon), “ “ (space), (newline), (carriage return), (tab). This + allows values corresponding to familiar abbreviations, such as “kg”, “m/s”, etc. + It is recommended that the symbol be an identifier for a unit of measure as specified in the “Unified Code of + Units of Measure" (UCUM) (http://aurora.regenstrief.org/UCUM). This provides a set of symbols and a grammar for + constructing identifiers for units of measure that are unique, and may be easily entered with a keyboard + supporting the limited character set known as 7-bit ASCII. ISO 2955 formerly provided a specification with this + scope, but was withdrawn in 2001. UCUM largely follows ISO 2955 with modifications to remove ambiguities and + other problems. + </documentation> + </annotation> + <restriction base="string"> + <pattern value="[^: \n\r\t]+"/> + </restriction> + </simpleType> + <simpleType name="UomURI"> + <annotation> + <documentation>This type specifies a URI, restricted such that it must start with one of the following sequences: + “#”, “./”, “../”, or a string of characters followed by a “:”. These patterns ensure that the most common URI + forms are supported, including absolute and relative URIs and URIs that are simple fragment identifiers, but + prohibits certain forms of relative URI that could be mistaken for unit of measure symbol . + NOTE It is possible to re-write such a relative URI to conform to the restriction (e.g. “./m/s”). + In an instance document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a value + corresponding to either + - a conventional unit of measure symbol, + - a link to a definition of a unit of measure that does not have a conventional symbol, or when it is desired to + indicate a precise or variant definition. + </documentation> + </annotation> + <restriction base="anyURI"> + <pattern value="([a-zA-Z][a-zA-Z0-9\-\+\.]*:|\.\./|\./|#).*"/> + </restriction> + </simpleType> + <complexType name="CoordinatesType"> + <annotation> + <documentation>This type is deprecated for tuples with ordinate values that are numbers. + CoordinatesType is a text string, intended to be used to record an array of tuples or coordinates. + While it is not possible to enforce the internal structure of the string through schema validation, some + optional attributes have been provided in previous versions of GML to support a description of the internal + structure. These attributes are deprecated. The attributes were intended to be used as follows: + Decimal symbol used for a decimal point (default=”.” a stop or period) + cs symbol used to separate components within a tuple or coordinate string (default=”,” a comma) + ts symbol used to separate tuples or coordinate strings (default=” “ a space) + Since it is based on the XML Schema string type, CoordinatesType may be used in the construction of tables of + tuples or arrays of tuples, including ones that contain mixed text and numeric values. + </documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attribute name="decimal" type="string" default="."/> + <attribute name="cs" type="string" default=","/> + <attribute name="ts" type="string" default="&#x20;"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="booleanList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="boolean"/> + </simpleType> + <simpleType name="doubleList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="double"/> + </simpleType> + <simpleType name="integerList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="integer"/> + </simpleType> + <simpleType name="NameList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="Name"/> + </simpleType> + <simpleType name="NCNameList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="NCName"/> + </simpleType> + <simpleType name="QNameList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="QName"/> + </simpleType> + <simpleType name="booleanOrNilReasonList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="gml:booleanOrNilReason"/> + </simpleType> + <simpleType name="NameOrNilReasonList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="gml:NameOrNilReason"/> + </simpleType> + <simpleType name="doubleOrNilReasonList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="gml:doubleOrNilReason"/> + </simpleType> + <simpleType name="integerOrNilReasonList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="gml:integerOrNilReason"/> + </simpleType> + <complexType name="CodeListType"> + <annotation> + <documentation>gml:CodeListType provides for lists of terms. The values in an instance element shall all be valid + according to the rules of the dictionary, classification scheme, or authority identified by the value of its + codeSpace attribute. + </documentation> + </annotation> + <simpleContent> + <extension base="gml:NameList"> + <attribute name="codeSpace" type="anyURI"/> + </extension> + </simpleContent> + </complexType> + <complexType name="CodeOrNilReasonListType"> + <annotation> + <documentation>gml:CodeOrNilReasonListType provides for lists of terms. The values in an instance element shall + all be valid according to the rules of the dictionary, classification scheme, or authority identified by the + value of its codeSpace attribute. An instance element may also include embedded values from NilReasonType. It is + intended to be used in situations where a term or classification is expected, but the value may be absent for + some reason. + </documentation> + </annotation> + <simpleContent> + <extension base="gml:NameOrNilReasonList"> + <attribute name="codeSpace" type="anyURI"/> + </extension> + </simpleContent> + </complexType> + <complexType name="MeasureListType"> + <annotation> + <documentation>gml:MeasureListType provides for a list of quantities.</documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleList"> + <attribute name="uom" type="gml:UomIdentifier" use="required"/> + </extension> + </simpleContent> + </complexType> + <complexType name="MeasureOrNilReasonListType"> + <annotation> + <documentation>gml:MeasureOrNilReasonListType provides for a list of quantities. An instance element may also + include embedded values from NilReasonType. It is intended to be used in situations where a value is expected, + but the value may be absent for some reason. + </documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleOrNilReasonList"> + <attribute name="uom" type="gml:UomIdentifier" use="required"/> + </extension> + </simpleContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateOperations.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateOperations.xsd new file mode 100644 index 00000000000..d3bb95d874b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateOperations.xsd @@ -0,0 +1,818 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" + version="3.2.0" xml:lang="en" + xmlns="http://www.w3.org/2001/XMLSchema"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:coordinateOperations:3.2.0">coordinateOperations.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.6. + The spatial or temporal coordinate operations schema components can be divided into five logical parts, which + define elements and types for XML encoding of the definitions of: + - Multiple abstract coordinate operations + - Multiple concrete types of coordinate operations, including Transformations and Conversions + - Abstract and concrete parameter values and groups + - Operation methods + - Abstract and concrete operation parameters and groups + These schema component encodes the Coordinate Operation package of the UML Model for ISO 19111 Clause 11. + </documentation> + </annotation> + <include schemaLocation="referenceSystems.xsd"/> + <include schemaLocation="measures.xsd"/> + <import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <element name="AbstractCoordinateOperation" type="gml:AbstractCoordinateOperationType" abstract="true" + substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:AbstractCoordinateOperation is a mathematical operation on coordinates that transforms or + converts coordinates to another coordinate reference system. Many but not all coordinate operations (from CRS A + to CRS B) also uniquely define the inverse operation (from CRS B to CRS A). In some cases, the operation method + algorithm for the inverse operation is the same as for the forward algorithm, but the signs of some operation + parameter values shall be reversed. In other cases, different algorithms are required for the forward and + inverse operations, but the same operation parameter values are used. If (some) entirely different parameter + values are needed, a different coordinate operation shall be defined. + The optional coordinateOperationAccuracy property elements provide estimates of the impact of this coordinate + operation on point position accuracy. + </documentation> + </annotation> + </element> + <complexType name="AbstractCoordinateOperationType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + <element ref="gml:operationVersion" minOccurs="0"/> + <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:sourceCRS" minOccurs="0"/> + <element ref="gml:targetCRS" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="operationVersion" type="string"> + <annotation> + <documentation>gml:operationVersion is the version of the coordinate transformation (i.e., instantiation due to + the stochastic nature of the parameters). Mandatory when describing a transformation, and should not be supplied + for a conversion. + </documentation> + </annotation> + </element> + <element name="coordinateOperationAccuracy"> + <annotation> + <documentation>gml:coordinateOperationAccuracy is an association role to a DQ_PositionalAccuracy object as encoded + in ISO/TS 19139, either referencing or containing the definition of that positional accuracy. That object + contains an estimate of the impact of this coordinate operation on point accuracy. That is, it gives position + error estimates for the target coordinates of this coordinate operation, assuming no errors in the source + coordinates. + </documentation> + </annotation> + <complexType> + <sequence minOccurs="0"> + <element ref="gmd:AbstractDQ_PositionalAccuracy"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + </element> + <element name="sourceCRS" type="gml:CRSPropertyType"> + <annotation> + <documentation>gml:sourceCRS is an association role to the source CRS (coordinate reference system) of this + coordinate operation. + </documentation> + </annotation> + </element> + <element name="targetCRS" type="gml:CRSPropertyType"> + <annotation> + <documentation>gml:targetCRS is an association role to the target CRS (coordinate reference system) of this + coordinate operation. + </documentation> + </annotation> + </element> + <complexType name="CoordinateOperationPropertyType"> + <annotation> + <documentation>gml:CoordinateOperationPropertyType is a property type for association roles to a coordinate + operation, either referencing or containing the definition of that coordinate operation. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractCoordinateOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="coordinateOperationRef" type="gml:CoordinateOperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractSingleOperation" type="gml:AbstractCoordinateOperationType" abstract="true" + substitutionGroup="gml:AbstractCoordinateOperation"> + <annotation> + <documentation>gml:AbstractSingleOperation is a single (not concatenated) coordinate operation.</documentation> + </annotation> + </element> + <complexType name="SingleOperationPropertyType"> + <annotation> + <documentation>gml:SingleOperationPropertyType is a property type for association roles to a single operation, + either referencing or containing the definition of that single operation. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractSingleOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="singleOperationRef" type="gml:SingleOperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractOperation" type="gml:AbstractCoordinateOperationType" abstract="true" + substitutionGroup="gml:AbstractSingleOperation"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="OperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="operationRef" type="gml:OperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractGeneralConversion" type="gml:AbstractGeneralConversionType" abstract="true" + substitutionGroup="gml:AbstractOperation"> + <annotation> + <documentation>gm:AbstractGeneralConversion is an abstract operation on coordinates that does not include any + change of datum. The best-known example of a coordinate conversion is a map projection. The parameters + describing coordinate conversions are defined rather than empirically derived. Note that some conversions have + no parameters. The operationVersion, sourceCRS, and targetCRS elements are omitted in a coordinate conversion. + This abstract complex type is expected to be extended for well-known operation methods with many Conversion + instances, in GML Application Schemas that define operation-method-specialized element names and contents. This + conversion uses an operation method, usually with associated parameter values. However, operation methods and + parameter values are directly associated with concrete subtypes, not with this abstract type. All concrete types + derived from this type shall extend this type to include a "usesMethod" element that references the + "OperationMethod" element. Similarly, all concrete types derived from this type shall extend this type to + include zero or more elements each named "uses...Value" that each use the type of an element substitutable for + the "AbstractGeneralParameterValue" element. + </documentation> + </annotation> + </element> + <complexType name="AbstractGeneralConversionType" abstract="true"> + <complexContent> + <restriction base="gml:AbstractCoordinateOperationType"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:remarks" minOccurs="0"/> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </restriction> + </complexContent> + </complexType> + <complexType name="GeneralConversionPropertyType"> + <annotation> + <documentation>gml:GeneralConversionPropertyType is a property type for association roles to a general conversion, + either referencing or containing the definition of that conversion. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeneralConversion"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="generalConversionRef" type="gml:GeneralConversionPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractGeneralTransformation" type="gml:AbstractGeneralTransformationType" abstract="true" + substitutionGroup="gml:AbstractOperation"> + <annotation> + <documentation>gml:AbstractGeneralTransformation is an abstract operation on coordinates that usually includes a + change of Datum. The parameters of a coordinate transformation are empirically derived from data containing the + coordinates of a series of points in both coordinate reference systems. This computational process is usually + "over-determined", allowing derivation of error (or accuracy) estimates for the transformation. Also, the + stochastic nature of the parameters may result in multiple (different) versions of the same coordinate + transformation. The operationVersion, sourceCRS, and targetCRS proeprty elements are mandatory in a coordinate + transformation. + This abstract complex type is expected to be extended for well-known operation methods with many Transformation + instances, in Application Schemas that define operation-method-specialized value element names and contents. + This transformation uses an operation method with associated parameter values. However, operation methods and + parameter values are directly associated with concrete subtypes, not with this abstract type. All concrete types + derived from this type shall extend this type to include a "usesMethod" element that references one + "OperationMethod" element. Similarly, all concrete types derived from this type shall extend this type to + include one or more elements each named "uses...Value" that each use the type of an element substitutable for + the "AbstractGeneralParameterValue" element. + </documentation> + </annotation> + </element> + <complexType name="AbstractGeneralTransformationType" abstract="true"> + <complexContent> + <restriction base="gml:AbstractCoordinateOperationType"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:remarks" minOccurs="0"/> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + <element ref="gml:operationVersion"/> + <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:sourceCRS"/> + <element ref="gml:targetCRS"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </restriction> + </complexContent> + </complexType> + <complexType name="GeneralTransformationPropertyType"> + <annotation> + <documentation>gml:GeneralTransformationPropertyType is a property type for association roles to a general + transformation, either referencing or containing the definition of that transformation. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeneralTransformation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="generalTransformationRef" type="gml:GeneralTransformationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ConcatenatedOperation" type="gml:ConcatenatedOperationType" + substitutionGroup="gml:AbstractCoordinateOperation"/> + <complexType name="ConcatenatedOperationType"> + <annotation> + <documentation>gml:ConcatenatedOperation is an ordered sequence of two or more coordinate operations. This + sequence of operations is constrained by the requirement that the source coordinate reference system of step + (n+1) must be the same as the target coordinate reference system of step (n). The source coordinate reference + system of the first step and the target coordinate reference system of the last step are the source and target + coordinate reference system associated with the concatenated operation. Instead of a forward operation, an + inverse operation may be used for one or more of the operation steps mentioned above, if the inverse operation + is uniquely defined by the forward operation. + The gml:coordOperation property elements are an ordered sequence of associations to the two or more operations + used by this concatenated operation. The AggregationAttributeGroup should be used to specify that the + coordOperation associations are ordered. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractCoordinateOperationType"> + <sequence> + <element ref="gml:coordOperation" minOccurs="2" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="coordOperation" type="gml:CoordinateOperationPropertyType"> + <annotation> + <documentation>gml:coordOperation is an association role to a coordinate operation.</documentation> + </annotation> + </element> + <element name="usesSingleOperation" type="gml:CoordinateOperationPropertyType" substitutionGroup="gml:coordOperation"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ConcatenatedOperationPropertyType"> + <annotation> + <documentation>gml:ConcatenatedOperationPropertyType is a property type for association roles to a concatenated + operation, either referencing or containing the definition of that concatenated operation. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ConcatenatedOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="concatenatedOperationRef" type="gml:ConcatenatedOperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="PassThroughOperation" type="gml:PassThroughOperationType" + substitutionGroup="gml:AbstractSingleOperation"> + <annotation> + <documentation>gml:PassThroughOperation is a pass-through operation specifies that a subset of a coordinate tuple + is subject to a specific coordinate operation. + The modifiedCoordinate property elements are an ordered sequence of positive integers defining the positions in + a coordinate tuple of the coordinates affected by this pass-through operation. The AggregationAttributeGroup + should be used to specify that the modifiedCoordinate elements are ordered. + </documentation> + </annotation> + </element> + <complexType name="PassThroughOperationType"> + <complexContent> + <extension base="gml:AbstractCoordinateOperationType"> + <sequence> + <element ref="gml:modifiedCoordinate" maxOccurs="unbounded"/> + <element ref="gml:coordOperation"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="modifiedCoordinate" type="positiveInteger"> + <annotation> + <documentation>gml:modifiedCoordinate is a positive integer defining a position in a coordinate tuple. + </documentation> + </annotation> + </element> + <element name="usesOperation" type="gml:CoordinateOperationPropertyType" substitutionGroup="gml:coordOperation"> + <annotation> + <documentation>gml:usesOperation is deprecated, gml:coordOperation shall be used instead.</documentation> + </annotation> + </element> + <complexType name="PassThroughOperationPropertyType"> + <annotation> + <documentation>gml:PassThroughOperationPropertyType is a property type for association roles to a pass through + operation, either referencing or containing the definition of that pass through operation. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:PassThroughOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="passThroughOperationRef" type="gml:PassThroughOperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="Conversion" type="gml:ConversionType" substitutionGroup="gml:AbstractGeneralConversion"> + <annotation> + <documentation>gml:Conversion is a concrete operation on coordinates that does not include any change of Datum. + The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate + conversions are defined rather than empirically derived. Note that some conversions have no parameters. + This concrete complex type can be used without using a GML Application Schema that defines + operation-method-specialized element names and contents, especially for methods with only one Conversion + instance. + The usesValue property elements are an unordered list of composition associations to the set of parameter values + used by this conversion operation. + </documentation> + </annotation> + </element> + <complexType name="ConversionType"> + <complexContent> + <extension base="gml:AbstractGeneralConversionType"> + <sequence> + <element ref="gml:method"/> + <element ref="gml:parameterValue" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="method" type="gml:OperationMethodPropertyType"> + <annotation> + <documentation>gml:method is an association role to the operation method used by a coordinate operation. + </documentation> + </annotation> + </element> + <element name="usesMethod" type="gml:OperationMethodPropertyType" substitutionGroup="gml:method"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="parameterValue" type="gml:AbstractGeneralParameterValuePropertyType"> + <annotation> + <documentation>gml:parameterValue is a composition association to a parameter value or group of parameter values + used by a coordinate operation. + </documentation> + </annotation> + </element> + <element name="usesValue" type="gml:AbstractGeneralParameterValuePropertyType" substitutionGroup="gml:parameterValue"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ConversionPropertyType"> + <annotation> + <documentation>gml:ConversionPropertyType is a property type for association roles to a concrete general-purpose + conversion, either referencing or containing the definition of that conversion. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:Conversion"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="conversionRef" type="gml:ConversionPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="Transformation" type="gml:TransformationType" substitutionGroup="gml:AbstractGeneralTransformation"> + <annotation> + <documentation>gml:Transformation is a concrete object element derived from gml:GeneralTransformation (13.6.2.13). + This concrete object can be used for all operation methods, without using a GML Application Schema that defines + operation-method-specialized element names and contents, especially for methods with only one Transformation + instance. + The parameterValue elements are an unordered list of composition associations to the set of parameter values + used by this conversion operation. + </documentation> + </annotation> + </element> + <complexType name="TransformationType"> + <complexContent> + <extension base="gml:AbstractGeneralTransformationType"> + <sequence> + <element ref="gml:method"/> + <element ref="gml:parameterValue" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TransformationPropertyType"> + <annotation> + <documentation>gml:TransformationPropertyType is a property type for association roles to a transformation, either + referencing or containing the definition of that transformation. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:Transformation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="transformationRef" type="gml:TransformationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractGeneralParameterValue" type="gml:AbstractGeneralParameterValueType" abstract="true" + substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:AbstractGeneralParameterValue is an abstract parameter value or group of parameter values. + This abstract complexType is expected to be extended and restricted for well-known operation methods with many + instances, in Application Schemas that define operation-method-specialized element names and contents. Specific + parameter value elements are directly contained in concrete subtypes, not in this abstract type. All concrete + types derived from this type shall extend this type to include one "...Value" element with an appropriate type, + which should be one of the element types allowed in the ParameterValueType. In addition, all derived concrete + types shall extend this type to include a "operationParameter" property element that references one element + substitutable for the "OperationParameter" object element. + </documentation> + </annotation> + </element> + <complexType name="AbstractGeneralParameterValueType" abstract="true"> + <sequence/> + </complexType> + <complexType name="AbstractGeneralParameterValuePropertyType"> + <annotation> + <documentation>gml:AbstractGeneralParameterValuePropertyType is a property type for inline association roles to a + parameter value or group of parameter values, always containing the values. + </documentation> + </annotation> + <sequence> + <element ref="gml:AbstractGeneralParameterValue"/> + </sequence> + </complexType> + <element name="ParameterValue" type="gml:ParameterValueType" substitutionGroup="gml:AbstractGeneralParameterValue"> + <annotation> + <documentation>gml:ParameterValue is a parameter value, an ordered sequence of values, or a reference to a file of + parameter values. This concrete complex type may be used for operation methods without using an Application + Schema that defines operation-method-specialized element names and contents, especially for methods with only + one instance. This complex type may be used, extended, or restricted for well-known operation methods, + especially for methods with many instances. + </documentation> + </annotation> + </element> + <complexType name="ParameterValueType"> + <complexContent> + <extension base="gml:AbstractGeneralParameterValueType"> + <sequence> + <choice> + <element ref="gml:value"/> + <element ref="gml:dmsAngleValue"/> + <element ref="gml:stringValue"/> + <element ref="gml:integerValue"/> + <element ref="gml:booleanValue"/> + <element ref="gml:valueList"/> + <element ref="gml:integerValueList"/> + <element ref="gml:valueFile"/> + </choice> + <element ref="gml:operationParameter"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="value" type="gml:MeasureType"> + <annotation> + <documentation>gml:value is a numeric value of an operation parameter, with its associated unit of measure. + </documentation> + </annotation> + </element> + <element name="dmsAngleValue" type="gml:DMSAngleType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="stringValue" type="string"> + <annotation> + <documentation>gml:stringValue is a character string value of an operation parameter. A string value does not have + an associated unit of measure. + </documentation> + </annotation> + </element> + <element name="integerValue" type="positiveInteger"> + <annotation> + <documentation>gml:integerValue is a positive integer value of an operation parameter, usually used for a count. + An integer value does not have an associated unit of measure. + </documentation> + </annotation> + </element> + <element name="booleanValue" type="boolean"> + <annotation> + <documentation>gml:booleanValue is a boolean value of an operation parameter. A Boolean value does not have an + associated unit of measure. + </documentation> + </annotation> + </element> + <element name="valueList" type="gml:MeasureListType"> + <annotation> + <documentation>gml:valueList is an ordered sequence of two or more numeric values of an operation parameter list, + where each value has the same associated unit of measure. An element of this type contains a space-separated + sequence of double values. + </documentation> + </annotation> + </element> + <element name="integerValueList" type="gml:integerList"> + <annotation> + <documentation>gml:integerValueList is an ordered sequence of two or more integer values of an operation parameter + list, usually used for counts. These integer values do not have an associated unit of measure. An element of + this type contains a space-separated sequence of integer values. + </documentation> + </annotation> + </element> + <element name="valueFile" type="anyURI"> + <annotation> + <documentation>gml:valueFile is a reference to a file or a part of a file containing one or more parameter values, + each numeric value with its associated unit of measure. When referencing a part of a file, that file shall + contain multiple identified parts, such as an XML encoded document. Furthermore, the referenced file or part of + a file may reference another part of the same or different files, as allowed in XML documents. + </documentation> + </annotation> + </element> + <element name="operationParameter" type="gml:OperationParameterPropertyType"> + <annotation> + <documentation>gml:operationParameter is an association role to the operation parameter of which this is a + value. + </documentation> + </annotation> + </element> + <element name="valueOfParameter" type="gml:OperationParameterPropertyType" substitutionGroup="gml:operationParameter"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ParameterValueGroup" type="gml:ParameterValueGroupType" + substitutionGroup="gml:AbstractGeneralParameterValue"> + <annotation> + <documentation>gml:ParameterValueGroup is a group of related parameter values. The same group can be repeated more + than once in a Conversion, Transformation, or higher level ParameterValueGroup, if those instances contain + different values of one or more parameterValues which suitably distinquish among those groups. This concrete + complex type can be used for operation methods without using an Application Schema that defines + operation-method-specialized element names and contents. This complex type may be used, extended, or restricted + for well-known operation methods, especially for methods with only one instance. + The parameterValue elements are an unordered set of composition association roles to the parameter values and + groups of values included in this group. + </documentation> + </annotation> + </element> + <complexType name="ParameterValueGroupType"> + <complexContent> + <extension base="gml:AbstractGeneralParameterValueType"> + <sequence> + <element ref="gml:parameterValue" minOccurs="2" maxOccurs="unbounded"/> + <element ref="gml:group"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="includesValue" type="gml:AbstractGeneralParameterValuePropertyType" + substitutionGroup="gml:parameterValue"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="group" type="gml:OperationParameterGroupPropertyType"> + <annotation> + <documentation>gml:group is an association role to the operation parameter group for which this element provides + parameter values. + </documentation> + </annotation> + </element> + <element name="valuesOfGroup" type="gml:OperationParameterGroupPropertyType" substitutionGroup="gml:group"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="OperationMethod" type="gml:OperationMethodType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:OperationMethod is a method (algorithm or procedure) used to perform a coordinate operation. + Most operation methods use a number of operation parameters, although some coordinate conversions use none. Each + coordinate operation using the method assigns values to these parameters. + The generalOperationParameter elements are an unordered list of associations to the set of operation parameters + and parameter groups used by this operation method. + </documentation> + </annotation> + </element> + <complexType name="OperationMethodType"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:formula"/> + <element ref="gml:sourceDimensions" minOccurs="0"/> + <element ref="gml:targetDimensions" minOccurs="0"/> + <element ref="gml:generalOperationParameter" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="formula" type="gml:CodeType"> + <annotation> + <documentation>gml:formula specifies a formula or procedure used by this operation method. The value may be a + reference to a publication. Note that the operation method may not be analytic, in which case this element + references or contains the procedure, not an analytic formula. + </documentation> + </annotation> + </element> + <element name="methodFormula" type="gml:CodeType" substitutionGroup="gml:formula"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="sourceDimensions" type="positiveInteger"> + <annotation> + <documentation>gml:sourceDimensions is the number of dimensions in the source CRS of this operation method. + </documentation> + </annotation> + </element> + <element name="targetDimensions" type="positiveInteger"> + <annotation> + <documentation>gml:targetDimensions is the number of dimensions in the target CRS of this operation method. + </documentation> + </annotation> + </element> + <element name="generalOperationParameter" type="gml:AbstractGeneralOperationParameterPropertyType"> + <annotation> + <documentation>gml:generalOperationParameter is an association to an operation parameter or parameter group. + </documentation> + </annotation> + </element> + <element name="usesParameter" type="gml:AbstractGeneralOperationParameterPropertyType" + substitutionGroup="gml:generalOperationParameter"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="OperationMethodPropertyType"> + <annotation> + <documentation>gml:OperationMethodPropertyType is a property type for association roles to a concrete + general-purpose operation method, either referencing or containing the definition of that method. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:OperationMethod"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="operationMethodRef" type="gml:OperationMethodPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractGeneralOperationParameter" type="gml:AbstractGeneralOperationParameterType" abstract="true" + substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:GeneralOperationParameter is the abstract definition of a parameter or group of parameters used + by an operation method. + </documentation> + </annotation> + </element> + <complexType name="AbstractGeneralOperationParameterType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:minimumOccurs" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="minimumOccurs" type="nonNegativeInteger"> + <annotation> + <documentation>gml:minimumOccurs is the minimum number of times that values for this parameter group or parameter + are required. If this attribute is omitted, the minimum number shall be one. + </documentation> + </annotation> + </element> + <complexType name="AbstractGeneralOperationParameterPropertyType"> + <annotation> + <documentation>gml:AbstractGeneralOperationParameterPropertyType is a property type for association roles to an + operation parameter or group, either referencing or containing the definition of that parameter or group. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeneralOperationParameter"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="abstractGeneralOperationParameterRef" type="gml:AbstractGeneralOperationParameterPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="OperationParameter" type="gml:OperationParameterType" + substitutionGroup="gml:AbstractGeneralOperationParameter"> + <annotation> + <documentation>gml:OperationParameter is the definition of a parameter used by an operation method. Most parameter + values are numeric, but other types of parameter values are possible. This complex type is expected to be used + or extended for all operation methods, without defining operation-method-specialized element names. + </documentation> + </annotation> + </element> + <complexType name="OperationParameterType"> + <complexContent> + <extension base="gml:AbstractGeneralOperationParameterType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="OperationParameterPropertyType"> + <annotation> + <documentation>gml:OperationParameterPropertyType is a property type for association roles to an operation + parameter, either referencing or containing the definition of that parameter. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:OperationParameter"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="operationParameterRef" type="gml:OperationParameterPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="OperationParameterGroup" type="gml:OperationParameterGroupType" + substitutionGroup="gml:AbstractGeneralOperationParameter"> + <annotation> + <documentation>gml:OperationParameterGroup is the definition of a group of parameters used by an operation method. + This complex type is expected to be used or extended for all applicable operation methods, without defining + operation-method-specialized element names. + The generalOperationParameter elements are an unordered list of associations to the set of operation parameters + that are members of this group. + </documentation> + </annotation> + </element> + <complexType name="OperationParameterGroupType"> + <complexContent> + <extension base="gml:AbstractGeneralOperationParameterType"> + <sequence> + <element ref="gml:maximumOccurs" minOccurs="0"/> + <element ref="gml:generalOperationParameter" minOccurs="2" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="maximumOccurs" type="positiveInteger"> + <annotation> + <documentation>gml:maximumOccurs is the maximum number of times that values for this parameter group may be + included. If this attribute is omitted, the maximum number shall be one. + </documentation> + </annotation> + </element> + <element name="includesParameter" type="gml:AbstractGeneralOperationParameterPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="OperationParameterGroupPropertyType"> + <annotation> + <documentation>gml:OperationParameterPropertyType is a property type for association roles to an operation + parameter group, either referencing or containing the definition of that parameter group. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:OperationParameterGroup"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="operationParameterGroupRef" type="gml:OperationParameterPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateReferenceSystems.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateReferenceSystems.xsd new file mode 100644 index 00000000000..f8d456a2330 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateReferenceSystems.xsd @@ -0,0 +1,598 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0" xml:lang="en"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:coordinateReferenceSystems:3.2.0"> + coordinateReferenceSystems.xsd + </appinfo> + <documentation>See ISO/DIS 19136 13.3. + The spatial-temporal coordinate reference systems schema components are divided into two logical parts. One part + defines elements and types for XML encoding of abstract coordinate reference systems definitions. The larger part + defines specialized constructs for XML encoding of definitions of the multiple concrete types of spatial-temporal + coordinate reference systems. + These schema components encode the Coordinate Reference System packages of the UML Models of ISO 19111 Clause 8 + and ISO/DIS 19136 D.3.10, with the exception of the abstract "SC_CRS" class. + </documentation> + </annotation> + <include schemaLocation="coordinateSystems.xsd"/> + <include schemaLocation="datums.xsd"/> + <include schemaLocation="coordinateOperations.xsd"/> + <element name="AbstractSingleCRS" type="gml:AbstractCRSType" abstract="true" substitutionGroup="gml:AbstractCRS"> + <annotation> + <documentation>gml:AbstractSingleCRS implements a coordinate reference system consisting of one coordinate system + and one datum (as opposed to a Compound CRS). + </documentation> + </annotation> + </element> + <complexType name="SingleCRSPropertyType"> + <annotation> + <documentation>gml:SingleCRSPropertyType is a property type for association roles to a single coordinate reference + system, either referencing or containing the definition of that coordinate reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractSingleCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="singleCRSRef" type="gml:SingleCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractGeneralDerivedCRS" type="gml:AbstractGeneralDerivedCRSType" abstract="true" + substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:AbstractGeneralDerivedCRS is a coordinate reference system that is defined by its coordinate + conversion from another coordinate reference system. This abstract complex type shall not be used, extended, or + restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete + subtype specified in this document. + </documentation> + </annotation> + </element> + <complexType name="AbstractGeneralDerivedCRSType" abstract="true"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:conversion"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="conversion" type="gml:GeneralConversionPropertyType"> + <annotation> + <documentation>gml:conversion is an association role to the coordinate conversion used to define the derived + CRS. + </documentation> + </annotation> + </element> + <element name="definedByConversion" type="gml:GeneralConversionPropertyType" substitutionGroup="gml:conversion"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="CompoundCRS" type="gml:CompoundCRSType" substitutionGroup="gml:AbstractCRS"> + <annotation> + <documentation>gml:CompundCRS is a coordinate reference system describing the position of points through two or + more independent coordinate reference systems. It is associated with a non-repeating sequence of two or more + instances of SingleCRS. + </documentation> + </annotation> + </element> + <complexType name="CompoundCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:componentReferenceSystem" minOccurs="2" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="componentReferenceSystem" type="gml:SingleCRSPropertyType"> + <annotation> + <documentation>The gml:componentReferenceSystem elements are an ordered sequence of associations to all the + component coordinate reference systems included in this compound coordinate reference system. The + gml:AggregationAttributeGroup should be used to specify that the gml:componentReferenceSystem properties are + ordered. + </documentation> + </annotation> + </element> + <element name="includesSingleCRS" type="gml:SingleCRSPropertyType" substitutionGroup="gml:componentReferenceSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="CompoundCRSPropertyType"> + <annotation> + <documentation>gml:CompoundCRSPropertyType is a property type for association roles to a compound coordinate + reference system, either referencing or containing the definition of that reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:CompoundCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="compoundCRSRef" type="gml:CompoundCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="GeodeticCRS" type="gml:GeodeticCRSType" substitutionGroup="gml:AbstractSingleCRS"/> + <complexType name="GeodeticCRSType"> + <annotation> + <documentation>gml:GeodeticCRS is a coordinate reference system based on a geodetic datum.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:ellipsoidalCS"/> + <element ref="gml:cartesianCS"/> + <element ref="gml:sphericalCS"/> + </choice> + <element ref="gml:geodeticDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="ellipsoidalCS" type="gml:EllipsoidalCSPropertyType"> + <annotation> + <documentation>gml:ellipsoidalCS is an association role to the ellipsoidal coordinate system used by this CRS. + </documentation> + </annotation> + </element> + <element name="usesEllipsoidalCS" type="gml:EllipsoidalCSPropertyType" substitutionGroup="gml:ellipsoidalCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="cartesianCS" type="gml:CartesianCSPropertyType"> + <annotation> + <documentation>gml:cartesianCS is an association role to the Cartesian coordinate system used by this CRS. + </documentation> + </annotation> + </element> + <element name="usesCartesianCS" type="gml:CartesianCSPropertyType" substitutionGroup="gml:cartesianCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="sphericalCS" type="gml:SphericalCSPropertyType"> + <annotation> + <documentation>gml:sphericalCS is an association role to the spherical coordinate system used by this CRS. + </documentation> + </annotation> + </element> + <element name="usesSphericalCS" type="gml:SphericalCSPropertyType" substitutionGroup="gml:sphericalCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="geodeticDatum" type="gml:GeodeticDatumPropertyType"> + <annotation> + <documentation>gml:geodeticDatum is an association role to the geodetic datum used by this CRS. + </documentation> + </annotation> + </element> + <element name="usesGeodeticDatum" type="gml:GeodeticDatumPropertyType" substitutionGroup="gml:geodeticDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="GeodeticCRSPropertyType"> + <annotation> + <documentation>gml:GeodeticCRSPropertyType is a property type for association roles to a geodetic coordinate + reference system, either referencing or containing the definition of that reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:GeodeticCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="VerticalCRS" type="gml:VerticalCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:VerticalCRS is a 1D coordinate reference system used for recording heights or depths. Vertical + CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with + gravity may not be straightforward. By implication, ellipsoidal heights (h) cannot be captured in a vertical + coordinate reference system. Ellipsoidal heights cannot exist independently, but only as an inseparable part of + a 3D coordinate tuple defined in a geographic 3D coordinate reference system. + </documentation> + </annotation> + </element> + <complexType name="VerticalCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:verticalCS"/> + <element ref="gml:verticalDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="verticalCS" type="gml:VerticalCSPropertyType"> + <annotation> + <documentation>gml:verticalCS is an association role to the vertical coordinate system used by this CRS. + </documentation> + </annotation> + </element> + <element name="usesVerticalCS" type="gml:VerticalCSPropertyType" substitutionGroup="gml:verticalCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="verticalDatum" type="gml:VerticalDatumPropertyType"> + <annotation> + <documentation>gml:verticalDatum is an association role to the vertical datum used by this CRS.</documentation> + </annotation> + </element> + <element name="usesVerticalDatum" type="gml:VerticalDatumPropertyType" substitutionGroup="gml:verticalDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="VerticalCRSPropertyType"> + <annotation> + <documentation>gml:VerticalCRSPropertyType is a property type for association roles to a vertical coordinate + reference system, either referencing or containing the definition of that reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:VerticalCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="verticalCRSRef" type="gml:VerticalCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ProjectedCRS" type="gml:ProjectedCRSType" substitutionGroup="gml:AbstractGeneralDerivedCRS"> + <annotation> + <documentation>gml:ProjectedCRS is a 2D coordinate reference system used to approximate the shape of the earth on + a planar surface, but in such a way that the distortion that is inherent to the approximation is carefully + controlled and known. Distortion correction is commonly applied to calculated bearings and distances to produce + values that are a close match to actual field values. + </documentation> + </annotation> + </element> + <complexType name="ProjectedCRSType"> + <complexContent> + <extension base="gml:AbstractGeneralDerivedCRSType"> + <sequence> + <choice> + <element ref="gml:baseGeodeticCRS"/> + <element ref="gml:baseGeographicCRS"/> + </choice> + <element ref="gml:cartesianCS"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="baseGeodeticCRS" type="gml:GeodeticCRSPropertyType"> + <annotation> + <documentation>gml:baseGeodeticCRS is an association role to the geodetic coordinate reference system used by this + projected CRS. + </documentation> + </annotation> + </element> + <element name="baseGeographicCRS" type="gml:GeographicCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ProjectedCRSPropertyType"> + <annotation> + <documentation>gml:ProjectedCRSPropertyType is a property type for association roles to a projected coordinate + reference system, either referencing or containing the definition of that reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ProjectedCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="projectedCRSRef" type="gml:ProjectedCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="DerivedCRS" type="gml:DerivedCRSType" substitutionGroup="gml:AbstractGeneralDerivedCRS"> + <annotation> + <documentation>gml:DerivedCRS is a single coordinate reference system that is defined by its coordinate conversion + from another single coordinate reference system known as the base CRS. The base CRS can be a projected + coordinate reference system, if this DerivedCRS is used for a georectified grid coverage as described in ISO + 19123, Clause 8. + </documentation> + </annotation> + </element> + <complexType name="DerivedCRSType"> + <complexContent> + <extension base="gml:AbstractGeneralDerivedCRSType"> + <sequence> + <element ref="gml:baseCRS"/> + <element ref="gml:derivedCRSType"/> + <element ref="gml:coordinateSystem"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="baseCRS" type="gml:SingleCRSPropertyType"> + <annotation> + <documentation>gml:baseCRS is an association role to the coordinate reference system used by this derived CRS. + </documentation> + </annotation> + </element> + <element name="derivedCRSType" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>The gml:derivedCRSType property describes the type of a derived coordinate reference system. The + required codeSpace attribute shall reference a source of information specifying the values and meanings of all + the allowed string values for this property. + </documentation> + </annotation> + </element> + <element name="coordinateSystem" type="gml:CoordinateSystemPropertyType"> + <annotation> + <documentation>An association role to the coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="usesCS" type="gml:CoordinateSystemPropertyType" substitutionGroup="gml:coordinateSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DerivedCRSPropertyType"> + <annotation> + <documentation>gml:DerivedCRSPropertyType is a property type for association roles to a non-projected derived + coordinate reference system, either referencing or containing the definition of that reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:DerivedCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="derivedCRSRef" type="gml:DerivedCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="EngineeringCRS" type="gml:EngineeringCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:EngineeringCRS is a contextually local coordinate reference system which can be divided into + two broad categories: + - earth-fixed systems applied to engineering activities on or near the surface of the earth; + - CRSs on moving platforms such as road vehicles, vessels, aircraft, or spacecraft, see ISO 19111 8.3. + </documentation> + </annotation> + </element> + <complexType name="EngineeringCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:coordinateSystem"/> + <element ref="gml:engineeringDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="engineeringDatum" type="gml:EngineeringDatumPropertyType"> + <annotation> + <documentation>gml:engineeringDatum is an association role to the engineering datum used by this CRS. + </documentation> + </annotation> + </element> + <element name="usesEngineeringDatum" type="gml:EngineeringDatumPropertyType" substitutionGroup="gml:engineeringDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="EngineeringCRSPropertyType"> + <annotation> + <documentation>gml:EngineeringCRSPropertyType is a property type for association roles to an engineering + coordinate reference system, either referencing or containing the definition of that reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:EngineeringCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="engineeringCRSRef" type="gml:EngineeringCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ImageCRS" type="gml:ImageCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:ImageCRS is an engineering coordinate reference system applied to locations in images. Image + coordinate reference systems are treated as a separate sub-type because the definition of the associated image + datum contains two attributes not relevant to other engineering datums. + </documentation> + </annotation> + </element> + <complexType name="ImageCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:cartesianCS"/> + <element ref="gml:affineCS"/> + <element ref="gml:usesObliqueCartesianCS"/> + </choice> + <element ref="gml:imageDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="affineCS" type="gml:AffineCSPropertyType"> + <annotation> + <documentation>gml:affineCS is an association role to the affine coordinate system used by this CRS. + </documentation> + </annotation> + </element> + <element name="usesAffineCS" type="gml:AffineCSPropertyType" substitutionGroup="gml:affineCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="imageDatum" type="gml:ImageDatumPropertyType"> + <annotation> + <documentation>gml:imageDatum is an association role to the image datum used by this CRS.</documentation> + </annotation> + </element> + <element name="usesImageDatum" type="gml:ImageDatumPropertyType" substitutionGroup="gml:imageDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesObliqueCartesianCS" type="gml:ObliqueCartesianCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ImageCRSPropertyType"> + <annotation> + <documentation>gml:ImageCRSPropertyType is a property type for association roles to an image coordinate reference + system, either referencing or containing the definition of that reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ImageCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="imageCRSRef" type="gml:ImageCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="TemporalCRS" type="gml:TemporalCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:TemporalCRS is a 1D coordinate reference system used for the recording of time.</documentation> + </annotation> + </element> + <complexType name="TemporalCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:timeCS"/> + <element ref="gml:usesTemporalCS"/> + </choice> + <element ref="gml:temporalDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="timeCS" type="gml:TimeCSPropertyType"> + <annotation> + <documentation>gml:timeCS is an association role to the time coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="usesTimeCS" type="gml:TimeCSPropertyType" substitutionGroup="gml:timeCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesTemporalCS" type="gml:TemporalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="temporalDatum" type="gml:TemporalDatumPropertyType"> + <annotation> + <documentation>gml:temporalDatum is an association role to the temporal datum used by this CRS.</documentation> + </annotation> + </element> + <element name="usesTemporalDatum" type="gml:TemporalDatumPropertyType" substitutionGroup="gml:temporalDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="TemporalCRSPropertyType"> + <annotation> + <documentation>gml:TemporalCRSPropertyType is a property type for association roles to a temporal coordinate + reference system, either referencing or containing the definition of that reference system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TemporalCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="temporalCRSRef" type="gml:TemporalCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="GeographicCRS" type="gml:GeographicCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="GeographicCRSType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:usesEllipsoidalCS"/> + <element ref="gml:usesGeodeticDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GeographicCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:GeographicCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="geographicCRSRef" type="gml:GeographicCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="GeocentricCRS" type="gml:GeocentricCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="GeocentricCRSType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:usesCartesianCS"/> + <element ref="gml:usesSphericalCS"/> + </choice> + <element ref="gml:usesGeodeticDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GeocentricCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:GeocentricCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="geocentricCRSRef" type="gml:GeocentricCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateSystems.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateSystems.xsd new file mode 100644 index 00000000000..5f1e62ef278 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coordinateSystems.xsd @@ -0,0 +1,503 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0" xml:lang="en"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:coordinateSystems:3.2.0">coordinateSystems.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.4. + The coordinate systems schema components can be divded into three logical parts, which define elements and types + for XML encoding of the definitions of: + - Coordinate system axes + - Abstract coordinate system + - Multiple concrete types of spatial-temporal coordinate systems + These schema components encode the Coordinate System packages of the UML Models of ISO 19111 Clause 9 and ISO/DIS + 19136 D.3.10. + </documentation> + </annotation> + <include schemaLocation="referenceSystems.xsd"/> + <element name="CoordinateSystemAxis" type="gml:CoordinateSystemAxisType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:CoordinateSystemAxis is a definition of a coordinate system axis.</documentation> + </annotation> + </element> + <complexType name="CoordinateSystemAxisType"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:axisAbbrev"/> + <element ref="gml:axisDirection"/> + <element ref="gml:minimumValue" minOccurs="0"/> + <element ref="gml:maximumValue" minOccurs="0"/> + <element ref="gml:rangeMeaning" minOccurs="0"/> + </sequence> + <attribute ref="gml:uom" use="required"/> + </extension> + </complexContent> + </complexType> + <element name="axisAbbrev" type="gml:CodeType"> + <annotation> + <documentation>gml:axisAbbrev is the abbreviation used for this coordinate system axis; this abbreviation is also + used to identify the coordinates in the coordinate tuple. The codeSpace attribute may reference a source of more + information on a set of standardized abbreviations, or on this abbreviation. + </documentation> + </annotation> + </element> + <element name="axisDirection" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>gml:axisDirection is the direction of this coordinate system axis (or in the case of Cartesian + projected coordinates, the direction of this coordinate system axis at the origin). + Within any set of coordinate system axes, only one of each pair of terms may be used. For earth-fixed CRSs, this + direction is often approximate and intended to provide a human interpretable meaning to the axis. When a + geodetic datum is used, the precise directions of the axes may therefore vary slightly from this approximate + direction. + The codeSpace attribute shall reference a source of information specifying the values and meanings of all the + allowed string values for this property. + </documentation> + </annotation> + </element> + <element name="minimumValue" type="double"> + <annotation> + <documentation>The gml:minimumValue and gml:maximumValue properties allow the specification of minimum and maximum + value normally allowed for this axis, in the unit of measure for the axis. For a continuous angular axis such as + longitude, the values wrap-around at this value. Also, values beyond this minimum/maximum can be used for + specified purposes, such as in a bounding box. A value of minus infinity shall be allowed for the + gml:minimumValue element, a value of plus infiniy for the gml:maximumValue element. If these elements are + omitted, the value is unspecified. + </documentation> + </annotation> + </element> + <element name="maximumValue" type="double"> + <annotation> + <documentation>The gml:minimumValue and gml:maximumValue properties allow the specification of minimum and maximum + value normally allowed for this axis, in the unit of measure for the axis. For a continuous angular axis such as + longitude, the values wrap-around at this value. Also, values beyond this minimum/maximum can be used for + specified purposes, such as in a bounding box. A value of minus infinity shall be allowed for the + gml:minimumValue element, a value of plus infiniy for the gml:maximumValue element. If these elements are + omitted, the value is unspecified. + </documentation> + </annotation> + </element> + <element name="rangeMeaning" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>gml:rangeMeaning describes the meaning of axis value range specified by gml:minimumValue and + gml:maximumValue. This element shall be omitted when both gml:minimumValue and gml:maximumValue are omitted. + This element should be included when gml:minimumValue and/or gml:maximumValue are included. If this element is + omitted when the gml:minimumValue and/or gml:maximumValue are included, the meaning is unspecified. The + codeSpace attribute shall reference a source of information specifying the values and meanings of all the + allowed string values for this property. + </documentation> + </annotation> + </element> + <attribute name="uom" type="anyURI"> + <annotation> + <documentation>The uom attribute provides an identifier of the unit of measure used for this coordinate system + axis. The value of this coordinate in a coordinate tuple shall be recorded using this unit of measure, whenever + those coordinates use a coordinate reference system that uses a coordinate system that uses this axis. + </documentation> + </annotation> + </attribute> + <complexType name="CoordinateSystemAxisPropertyType"> + <annotation> + <documentation>gml:CoordinateSystemAxisPropertyType is a property type for association roles to a coordinate + system axis, either referencing or containing the definition of that axis. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:CoordinateSystemAxis"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="coordinateSystemAxisRef" type="gml:CoordinateSystemAxisPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractCoordinateSystem" type="gml:AbstractCoordinateSystemType" abstract="true" + substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:AbstractCoordinateSystem is a coordinate system (CS) is the non-repeating sequence of + coordinate system axes that spans a given coordinate space. A CS is derived from a set of mathematical rules for + specifying how coordinates in a given space are to be assigned to points. The coordinate values in a coordinate + tuple shall be recorded in the order in which the coordinate system axes associations are recorded. This + abstract complex type shall not be used, extended, or restricted, in an Application Schema, to define a concrete + subtype with a meaning equivalent to a concrete subtype specified in this document. + </documentation> + </annotation> + </element> + <complexType name="AbstractCoordinateSystemType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:axis" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="axis" type="gml:CoordinateSystemAxisPropertyType"> + <annotation> + <documentation>The gml:axis property is an association role (ordered sequence) to the coordinate system axes + included in this coordinate system. The coordinate values in a coordinate tuple shall be recorded in the order + in which the coordinate system axes associations are recorded, whenever those coordinates use a coordinate + reference system that uses this coordinate system. The gml:AggregationAttributeGroup should be used to specify + that the axis objects are ordered. + </documentation> + </annotation> + </element> + <element name="usesAxis" type="gml:CoordinateSystemAxisPropertyType" substitutionGroup="gml:axis"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="CoordinateSystemPropertyType"> + <annotation> + <documentation>gml:CoordinateSystemPropertyType is a property type for association roles to a coordinate system, + either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractCoordinateSystem"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="coordinateSystemRef" type="gml:CoordinateSystemPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="EllipsoidalCS" type="gml:EllipsoidalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:EllipsoidalCS is a two- or three-dimensional coordinate system in which position is specified + by geodetic latitude, geodetic longitude, and (in the three-dimensional case) ellipsoidal height. An + EllipsoidalCS shall have two or three gml:axis property elements; the number of associations shall equal the + dimension of the CS. + </documentation> + </annotation> + </element> + <complexType name="EllipsoidalCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="EllipsoidalCSPropertyType"> + <annotation> + <documentation>gml:EllipsoidalCSPropertyType is a property type for association roles to an ellipsoidal coordinate + system, either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:EllipsoidalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ellipsoidalCSRef" type="gml:EllipsoidalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="CartesianCS" type="gml:CartesianCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:CartesianCS is a 1-, 2-, or 3-dimensional coordinate system. In the 1-dimensional case, it + contains a single straight coordinate axis. In the 2- and 3-dimensional cases gives the position of points + relative to orthogonal straight axes. In the multi-dimensional case, all axes shall have the same length unit of + measure. A CartesianCS shall have one, two, or three gml:axis property elements. + </documentation> + </annotation> + </element> + <complexType name="CartesianCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="CartesianCSPropertyType"> + <annotation> + <documentation>gml:CartesianCSPropertyType is a property type for association roles to a Cartesian coordinate + system, either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:CartesianCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="cartesianCSRef" type="gml:CartesianCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="VerticalCS" type="gml:VerticalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:VerticalCS is a one-dimensional coordinate system used to record the heights or depths of + points. Such a coordinate system is usually dependent on the Earth's gravity field, perhaps loosely as when + atmospheric pressure is the basis for the vertical coordinate system axis. A VerticalCS shall have one gml:axis + property element. + </documentation> + </annotation> + </element> + <complexType name="VerticalCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="VerticalCSPropertyType"> + <annotation> + <documentation>gml:VerticalCSPropertyType is a property type for association roles to a vertical coordinate + system, either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:VerticalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="verticalCSRef" type="gml:VerticalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="TimeCS" type="gml:TimeCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:TimeCS is a one-dimensional coordinate system containing a time axis, used to describe the + temporal position of a point in the specified time units from a specified time origin. A TimeCS shall have one + gml:axis property element. + </documentation> + </annotation> + </element> + <complexType name="TimeCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="TimeCSPropertyType"> + <annotation> + <documentation>gml:TimeCSPropertyType is a property type for association roles to a time coordinate system, either + referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="TemporalCS" type="gml:TemporalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="TemporalCSType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="TemporalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TemporalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="temporalCSRef" type="gml:TemporalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="LinearCS" type="gml:LinearCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:LinearCS is a one-dimensional coordinate system that consists of the points that lie on the + single axis described. The associated coordinate is the distance – with or without offset – from the specified + datum to the point along the axis. A LinearCS shall have one gml:axis property element. + </documentation> + </annotation> + </element> + <complexType name="LinearCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="LinearCSPropertyType"> + <annotation> + <documentation>gml:LinearCSPropertyType is a property type for association roles to a linear coordinate system, + either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:LinearCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="linearCSRef" type="gml:LinearCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="UserDefinedCS" type="gml:UserDefinedCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:UserDefinedCS is a two- or three-dimensional coordinate system that consists of any combination + of coordinate axes not covered by any other coordinate system type. A UserDefinedCS shall have two or three + gml:axis property elements; the number of property elements shall equal the dimension of the CS. + </documentation> + </annotation> + </element> + <complexType name="UserDefinedCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="UserDefinedCSPropertyType"> + <annotation> + <documentation>gml:UserDefinedCSPropertyType is a property type for association roles to a user-defined coordinate + system, either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:UserDefinedCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="userDefinedCSRef" type="gml:UserDefinedCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="SphericalCS" type="gml:SphericalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:SphericalCS is a three-dimensional coordinate system with one distance measured from the origin + and two angular coordinates. A SphericalCS shall have three gml:axis property elements. + </documentation> + </annotation> + </element> + <complexType name="SphericalCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="SphericalCSPropertyType"> + <annotation> + <documentation>gml:SphericalCSPropertyType is property type for association roles to a spherical coordinate + system, either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:SphericalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="sphericalCSRef" type="gml:SphericalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="PolarCS" type="gml:PolarCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:PolarCS ia s two-dimensional coordinate system in which position is specified by the distance + from the origin and the angle between the line from the origin to a point and a reference direction. A PolarCS + shall have two gml:axis property elements. + </documentation> + </annotation> + </element> + <complexType name="PolarCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="PolarCSPropertyType"> + <annotation> + <documentation>gml:PolarCSPropertyType is a property type for association roles to a polar coordinate system, + either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:PolarCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="polarCSRef" type="gml:PolarCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="CylindricalCS" type="gml:CylindricalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:CylindricalCS is a three-dimensional coordinate system consisting of a polar coordinate system + extended by a straight coordinate axis perpendicular to the plane spanned by the polar coordinate system. A + CylindricalCS shall have three gml:axis property elements. + </documentation> + </annotation> + </element> + <complexType name="CylindricalCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="CylindricalCSPropertyType"> + <annotation> + <documentation>gml:CylindricalCSPropertyType is a property type for association roles to a cylindrical coordinate + system, either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:CylindricalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="cylindricalCSRef" type="gml:CylindricalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AffineCS" type="gml:AffineCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:AffineCS is a two- or three-dimensional coordinate system with straight axes that are not + necessarily orthogonal. An AffineCS shall have two or three gml:axis property elements; the number of property + elements shall equal the dimension of the CS. + </documentation> + </annotation> + </element> + <complexType name="AffineCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="AffineCSPropertyType"> + <annotation> + <documentation>gml:AffineCSPropertyType is a property type for association roles to an affine coordinate system, + either referencing or containing the definition of that coordinate system. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AffineCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ObliqueCartesianCS" type="gml:ObliqueCartesianCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ObliqueCartesianCSType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="ObliqueCartesianCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ObliqueCartesianCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="obliqueCartesianCSRef" type="gml:ObliqueCartesianCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coverage.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coverage.xsd new file mode 100644 index 00000000000..9a616a5f8a3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/coverage.xsd @@ -0,0 +1,575 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" + targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:coverage:3.2.0">coverage.xsd</appinfo> + <documentation>See ISO/DIS 19136 20.3. + A coverage incorporates a mapping from a spatiotemporal domain to a range set, the latter providing the set in + which the attribute values live. The range set may be an arbitrary set including discrete lists, integer or + floating point ranges, and multi-dimensional vector spaces. + A coverage can be viewed as the graph of the coverage function f:A à B, that is as the set of ordered pairs {(x, + f(x)) | where x is in A}. This view is especially applicable to the GML encoding of a coverage. In the case of a + discrete coverage, the domain set A is partitioned into a collection of subsets (typically a disjoint collection) + A = UAi and the function f is constant on each Ai. For a spatial domain, the Ai are geometry elements, hence the + coverage can be viewed as a collection of (geometry,value) pairs, where the value is an element of the range set. + If the spatial domain A is a topological space then the coverage can be viewed as a collection of (topology,value) + pairs, where the topology element in the pair is a topological n-chain (in GML terms this is a gml:TopoPoint, + gml:TopoCurve, gml:TopoSurface or gml:TopoSolid). + A coverage is implemented as a GML feature. We can thus speak of a “temperature distribution feature”, or a + “remotely sensed image feature”, or a “soil distribution feature”. + As is the case for any GML object, a coverage object may also be the value of a property of a feature. + </documentation> + </annotation> + <include schemaLocation="feature.xsd"/> + <include schemaLocation="valueObjects.xsd"/> + <include schemaLocation="grids.xsd"/> + <include schemaLocation="geometryAggregates.xsd"/> + <complexType name="AbstractCoverageType" abstract="true"> + <annotation> + <documentation>The base type for coverages is gml:AbstractCoverageType. The basic elements of a coverage can be + seen in this content model: the coverage contains gml:domainSet and gml:rangeSet properties. The gml:domainSet + property describes the domain of the coverage and the gml:rangeSet property describes the range of the coverage. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <sequence> + <element ref="gml:domainSet"/> + <element ref="gml:rangeSet"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractCoverage" type="gml:AbstractCoverageType" abstract="true" + substitutionGroup="gml:AbstractFeature"> + <annotation> + <documentation>This element serves as the head of a substitution group which may contain any coverage whose type + is derived from gml:AbstractCoverageType. It may act as a variable in the definition of content models where it + is required to permit any coverage to be valid. + </documentation> + </annotation> + </element> + <complexType name="AbstractDiscreteCoverageType" abstract="true"> + <complexContent> + <extension base="gml:AbstractCoverageType"> + <sequence> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractDiscreteCoverage" type="gml:AbstractDiscreteCoverageType" abstract="true" + substitutionGroup="gml:AbstractCoverage"> + <annotation> + <documentation>A discrete coverage consists of a domain set, range set and optionally a coverage function. The + domain set consists of either spatial or temporal geometry objects, finite in number. The range set is comprised + of a finite number of attribute values each of which is associated to every direct position within any single + spatiotemporal object in the domain. In other words, the range values are constant on each spatiotemporal object + in the domain. This coverage function maps each element from the coverage domain to an element in its range. The + coverageFunction element describes the mapping function. + This element serves as the head of a substitution group which may contain any discrete coverage whose type is + derived from gml:AbstractDiscreteCoverageType. + </documentation> + </annotation> + </element> + <complexType name="AbstractContinuousCoverageType" abstract="true"> + <complexContent> + <extension base="gml:AbstractCoverageType"> + <sequence> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractContinuousCoverage" type="gml:AbstractContinuousCoverageType" abstract="true" + substitutionGroup="gml:AbstractFeature"> + <annotation> + <documentation>A continuous coverage as defined in ISO 19123 is a coverage that can return different values for + the same feature attribute at different direct positions within a single spatiotemporal object in its + spatiotemporal domain. The base type for continuous coverages is AbstractContinuousCoverageType. + The coverageFunction element describes the mapping function. + The abstract element gml:AbstractContinuousCoverage serves as the head of a substitution group which may contain + any continuous coverage whose type is derived from gml:AbstractContinuousCoverageType. + </documentation> + </annotation> + </element> + <element name="domainSet" type="gml:DomainSetType"> + <annotation> + <documentation>The gml:domainSet property element describes the spatio-temporal region of interest, within which + the coverage is defined. Its content model is given by gml:DomainSetType. + The value of the domain is thus a choice between a gml:AbstractGeometry and a gml:AbstractTimeObject. In the + instance these abstract elements will normally be substituted by a geometry complex or temporal complex, to + represent spatial coverages and time-series, respectively. + The presence of the gml:AssociationAttributeGroup means that domainSet follows the usual GML property model and + may use the xlink:href attribute to point to the domain, as an alternative to describing the domain inline. + Ownership semantics may be provided using the gml:OwnershipAttributeGroup. + </documentation> + </annotation> + </element> + <complexType name="DomainSetType"> + <sequence minOccurs="0"> + <choice> + <element ref="gml:AbstractGeometry"/> + <element ref="gml:AbstractTimeObject"/> + </choice> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="rangeSet" type="gml:RangeSetType"> + <annotation> + <documentation>The gml:rangeSet property element contains the values of the coverage (sometimes called the + attribute values). Its content model is given by gml:RangeSetType. + This content model supports a structural description of the range. The semantic information describing the range + set is embedded using a uniform method, as part of the explicit values, or as a template value accompanying the + representation using gml:DataBlock and gml:File. + The values from each component (or “band”) in the range may be encoded within a gml:ValueArray element or a + concrete member of the gml:AbstractScalarValueList substitution group . Use of these elements satisfies the + value-type homogeneity requirement. + </documentation> + </annotation> + </element> + <complexType name="RangeSetType"> + <choice> + <element ref="gml:ValueArray" maxOccurs="unbounded"/> + <element ref="gml:AbstractScalarValueList" maxOccurs="unbounded"/> + <element ref="gml:DataBlock"/> + <element ref="gml:File"/> + </choice> + </complexType> + <element name="DataBlock" type="gml:DataBlockType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:DataBlock describes the Range as a block of text encoded values similar to a Common Separated + Value (CSV) representation. + The range set parameterization is described by the property gml:rangeParameters. + </documentation> + </annotation> + </element> + <complexType name="DataBlockType"> + <sequence> + <element ref="gml:rangeParameters"/> + <choice> + <element ref="gml:tupleList"/> + <element ref="gml:doubleOrNilReasonTupleList"/> + </choice> + </sequence> + </complexType> + <element name="rangeParameters" type="gml:RangeParametersType"/> + <complexType name="RangeParametersType"> + <annotation> + <documentation>gml:RangeParameterType is a framework for the description of the range parameters each of which is + a gml:AbstractValue. Specific range parameters are defined through the creation of a GML Application Schema that + provides elements that are substitutable for gml:AbstractValue. + </documentation> + </annotation> + <sequence> + <element ref="gml:AbstractValue" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="tupleList" type="gml:CoordinatesType"> + <annotation> + <documentation>gml:CoordinatesType consists of a list of coordinate tuples, with each coordinate tuple separated + by the ts or tuple separator (whitespace), and each coordinate in the tuple by the cs or coordinate separator + (comma). + The gml:tupleList encoding is effectively “band-interleaved”. + </documentation> + </annotation> + </element> + <element name="doubleOrNilReasonTupleList" type="gml:doubleOrNilReasonList"> + <annotation> + <documentation>gml:doubleOrNilReasonList consists of a list of gml:doubleOrNilReason values, each separated by a + whitespace. The gml:doubleOrNilReason values are grouped into tuples where the dimension of each tuple in the + list is equal to the number of range parameters. + </documentation> + </annotation> + </element> + <element name="File" type="gml:FileType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>for efficiency reasons, GML also provides a means of encoding the range set in an arbitrary + external encoding, such as a binary file. This encoding may be “well-known” but this is not required. This mode + uses the gml:File element. + The values of the coverage (attribute values in the range set) are transmitted in a external file that is + referenced from the XML structure described by gml:FileType. The external file is referenced by the + gml:fileReference property that is an anyURI (the gml:fileName property has been deprecated). This means that + the external file may be located remotely from the referencing GML instance. + The gml:compression property points to a definition of a compression algorithm through an anyURI. This may be a + retrievable, computable definition or simply a reference to an unambiguous name for the compression method. + The gml:mimeType property points to a definition of the file mime type. + The gml:fileStructure property is defined by the gml:FileValueModelType. This is simple enumerated type + restriction on string. The only value supported in GML is “Record Interleaved”. Additional values may be + supported in future releases of GML. Note further that all values shall be enclosed in a single file. Multi-file + structures for values are not supported in GML. + The semantics of the range set is described as above using the gml:rangeParameters property. + Note that if any compression algorithm is applied, the structure above applies only to the pre-compression or + post-decompression structure of the file. + Note that the fields within a record match the gml:valueComponents of the gml:CompositeValue in document order. + </documentation> + </annotation> + </element> + <complexType name="FileType"> + <sequence> + <element ref="gml:rangeParameters"/> + <choice> + <element name="fileName" type="anyURI"/> + <element name="fileReference" type="anyURI"/> + </choice> + <element name="fileStructure" type="gml:FileValueModelType"/> + <element name="mimeType" type="anyURI" minOccurs="0"/> + <element name="compression" type="anyURI" minOccurs="0"/> + </sequence> + </complexType> + <simpleType name="FileValueModelType"> + <restriction base="string"> + <enumeration value="Record Interleaved"/> + </restriction> + </simpleType> + <element name="coverageFunction" type="gml:CoverageFunctionType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>The gml:coverageFunction property describes the mapping function from the domain to the range of + the coverage. + The value of the CoverageFunction is one of gml:CoverageMappingRule and gml:GridFunction. + If the gml:coverageFunction property is omitted for a gridded coverage (including rectified gridded coverages) + the gml:startPoint is assumed to be the value of the gml:low property in the gml:Grid geometry, and the + gml:sequenceRule is assumed to be linear and the gml:axisOrder property is assumed to be “+1 +2”. + </documentation> + </annotation> + </element> + <complexType name="CoverageFunctionType"> + <choice> + <element ref="gml:MappingRule"/> + <element ref="gml:CoverageMappingRule"/> + <element ref="gml:GridFunction"/> + </choice> + </complexType> + <element name="CoverageMappingRule" type="gml:MappingRuleType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:CoverageMappingRule provides a formal or informal description of the coverage function. + The mapping rule may be defined as an in-line string (gml:ruleDefinition) or via a remote reference through + xlink:href (gml:ruleReference). + If no rule name is specified, the default is ‘Linear’ with respect to members of the domain in document order. + </documentation> + </annotation> + </element> + <complexType name="MappingRuleType" final="#all"> + <choice> + <element name="ruleDefinition" type="string"/> + <element name="ruleReference" type="gml:ReferenceType"/> + </choice> + </complexType> + <element name="MappingRule" type="gml:StringOrRefType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="GridFunction" type="gml:GridFunctionType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:GridFunction provides an explicit mapping rule for grid geometries, i.e. the domain shall be a + geometry of type grid. It describes the mapping of grid posts (discrete point grid coverage) or grid cells + (discrete surface coverage) to the values in the range set. + The gml:startPoint is the index position of a point in the grid that is mapped to the first point in the range + set (this is also the index position of the first grid post). If the gml:startPoint property is omitted the + gml:startPoint is assumed to be equal to the value of gml:low in the gml:Grid geometry. Subsequent points in the + mapping are determined by the value of the gml:sequenceRule. + </documentation> + </annotation> + </element> + <complexType name="GridFunctionType"> + <sequence> + <element name="sequenceRule" type="gml:SequenceRuleType" minOccurs="0"/> + <element name="startPoint" type="gml:integerList" minOccurs="0"/> + </sequence> + </complexType> + <complexType name="SequenceRuleType"> + <annotation> + <documentation>The gml:SequenceRuleType is derived from the gml:SequenceRuleEnumeration through the addition of an + axisOrder attribute. The gml:SequenceRuleEnumeration is an enumerated type. The rule names are defined in ISO + 19123. If no rule name is specified the default is “Linear”. + </documentation> + </annotation> + <simpleContent> + <extension base="gml:SequenceRuleEnumeration"> + <attribute name="order" type="gml:IncrementOrder"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </attribute> + <attribute name="axisOrder" type="gml:AxisDirectionList"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="SequenceRuleEnumeration"> + <restriction base="string"> + <enumeration value="Linear"/> + <enumeration value="Boustrophedonic"/> + <enumeration value="Cantor-diagonal"/> + <enumeration value="Spiral"/> + <enumeration value="Morton"/> + <enumeration value="Hilbert"/> + </restriction> + </simpleType> + <simpleType name="AxisDirectionList"> + <annotation> + <documentation>The different values in a gml:AxisDirectionList indicate the incrementation order to be used on all + axes of the grid. Each axis shall be mentioned once and only once. + </documentation> + </annotation> + <list itemType="gml:AxisDirection"/> + </simpleType> + <simpleType name="AxisDirection"> + <annotation> + <documentation>The value of a gml:AxisDirection indicates the incrementation order to be used on an axis of the + grid. + </documentation> + </annotation> + <restriction base="string"> + <pattern value="[\+\-][1-9][0-9]*"/> + </restriction> + </simpleType> + <simpleType name="IncrementOrder"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="string"> + <enumeration value="+x+y"/> + <enumeration value="+y+x"/> + <enumeration value="+x-y"/> + <enumeration value="-x-y"/> + </restriction> + </simpleType> + <element name="MultiPointCoverage" type="gml:MultiPointCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>In a gml:MultiPointCoverage the domain set is a gml:MultiPoint, that is a collection of arbitrarily + distributed geometric points. + The content model is derived by restriction from gml:AbstractDiscreteCoverageType. Note that the restriction + replaces the generic gml:domainSet by the specific gml:multiPointDomain whose value is a gml:MultiPoint. + In a gml:MultiPointCoverage the mapping from the domain to the range is straightforward. + - For gml:DataBlock encodings the points of the gml:MultiPoint are mapped in document order to the tuples of the + data block. + - For gml:CompositeValue encodings the points of the gml:MultiPoint are mapped to the members of the composite + value in document order. + - For gml:File encodings the points of the gml:MultiPoint are mapped to the records of the file in sequential + order. + </documentation> + </annotation> + </element> + <complexType name="MultiPointCoverageType"> + <complexContent> + <restriction base="gml:AbstractDiscreteCoverageType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:boundedBy" minOccurs="0"/> + <element ref="gml:multiPointDomain"/> + <element ref="gml:rangeSet"/> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="multiPointDomain" type="gml:MultiPointDomainType" substitutionGroup="gml:domainSet"/> + <complexType name="MultiPointDomainType"> + <complexContent> + <restriction base="gml:DomainSetType"> + <sequence minOccurs="0"> + <element ref="gml:MultiPoint"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="MultiCurveCoverage" type="gml:MultiCurveCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>In a gml:MultiCurveCoverage the domain is partioned into a collection of curves comprising a + gml:MultiCurve. The coverage function then maps each curve in the collection to a value in the range set. + The content model is derived by restriction from gml:AbstractDiscreteCoverageType. Note that the restriction + replaces the generic gml:domainSet by the specific gml:multiCurveDomain whose value is a gml:MultiCurve. + In a gml:MultiCurveCoverage the mapping from the domain to the range is straightforward. + - For gml:DataBlock encodings the curves of the gml:MultiCurve are mapped in document order to the tuples of the + data block. + - For gml:CompositeValue encodings the curves of the gml:MultiCurve are mapped to the members of the composite + value in document order. + - For gml:File encodings the curves of the gml:MultiCurve are mapped to the records of the file in sequential + order. + </documentation> + </annotation> + </element> + <complexType name="MultiCurveCoverageType"> + <complexContent> + <restriction base="gml:AbstractDiscreteCoverageType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:boundedBy" minOccurs="0"/> + <element ref="gml:multiCurveDomain"/> + <element ref="gml:rangeSet"/> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="multiCurveDomain" type="gml:MultiCurveDomainType" substitutionGroup="gml:domainSet"/> + <complexType name="MultiCurveDomainType"> + <complexContent> + <restriction base="gml:DomainSetType"> + <sequence minOccurs="0"> + <element ref="gml:MultiCurve"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="MultiSurfaceCoverage" type="gml:MultiSurfaceCoverageType" + substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>In a gml:MultiSurfaceCoverage the domain is partioned into a collection of surfaces comprising a + gml:MultiSurface. The coverage function than maps each surface in the collection to a value in the range set. + The content model is derived by restriction from gml:AbstractDiscreteCoverageType. Note that the restriction + replaces the generic gml:domainSet by the specific gml:multiSurfaceDomain whose value is a gml:MultiSurface. + In a gml:MultiSurfaceCoverage the mapping from the domain to the range is straightforward. + - For gml:DataBlock encodings the surfaces of the gml:MultiSurface are mapped in document order to the tuples of + the data block. + - For gml:CompositeValue encodings the surfaces of the gml:MultiSurface are mapped to the members of the + composite value in document order. + - For gml:File encodings the surfaces of the gml:MultiSurface are mapped to the records of the file in + sequential order. + </documentation> + </annotation> + </element> + <complexType name="MultiSurfaceCoverageType"> + <complexContent> + <restriction base="gml:AbstractDiscreteCoverageType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:boundedBy" minOccurs="0"/> + <element ref="gml:multiSurfaceDomain"/> + <element ref="gml:rangeSet"/> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="multiSurfaceDomain" type="gml:MultiSurfaceDomainType" substitutionGroup="gml:domainSet"/> + <complexType name="MultiSurfaceDomainType"> + <complexContent> + <restriction base="gml:DomainSetType"> + <sequence minOccurs="0"> + <element ref="gml:MultiSurface"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="MultiSolidCoverage" type="gml:MultiSolidCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>In a gml:MultiSolidCoverage the domain is partioned into a collection of solids comprising a + gml:MultiSolid. The coverage function than maps each solid in the collection to a value in the range set. + The content model is derived by restriction from gml:AbstractDiscreteCoverageType. Note that the restriction + replaces the generic gml:domainSet by the specific gml:multiSolidDomain whose value is a gml:MultiSolid. + In a gml:MultiSolidCoverage the mapping from the domain to the range is straightforward. + - For gml:DataBlock encodings the solids of the gml:MultiSolid are mapped in document order to the tuples of the + data block. + - For gml:CompositeValue encodings the solids of the gml:MultiSolid are mapped to the members of the composite + value in document order. + - For gml:File encodings the solids of the gml:MultiSolid are mapped to the records of the file in sequential + order. + </documentation> + </annotation> + </element> + <complexType name="MultiSolidCoverageType"> + <complexContent> + <restriction base="gml:AbstractDiscreteCoverageType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:boundedBy" minOccurs="0"/> + <element ref="gml:multiSolidDomain"/> + <element ref="gml:rangeSet"/> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="multiSolidDomain" type="gml:MultiSolidDomainType" substitutionGroup="gml:domainSet"/> + <complexType name="MultiSolidDomainType"> + <complexContent> + <restriction base="gml:DomainSetType"> + <sequence minOccurs="0"> + <element ref="gml:MultiSolid"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="GridCoverage" type="gml:GridCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>A gml:GriddedCoverage is a discrete point coverage in which the domain set is a geometric grid of + points. + Note that this is the same as the gml:MultiPointCoverage except that we have a gml:gridDomain property to + describe the domain. + The simple gridded coverage is not geometrically referenced and hence no geometric positions are assignable to + the points in the grid. Such geometric positioning is introduced in the gml:RectifiedGridCoverage. + </documentation> + </annotation> + </element> + <complexType name="GridCoverageType"> + <complexContent> + <restriction base="gml:AbstractDiscreteCoverageType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:boundedBy" minOccurs="0"/> + <element ref="gml:gridDomain"/> + <element ref="gml:rangeSet"/> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="gridDomain" type="gml:GridDomainType" substitutionGroup="gml:domainSet"/> + <complexType name="GridDomainType"> + <complexContent> + <restriction base="gml:DomainSetType"> + <sequence minOccurs="0"> + <choice> + <choice> + <element ref="gml:Grid"/> + </choice> + <choice/> + </choice> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </restriction> + </complexContent> + </complexType> + <element name="RectifiedGridCoverage" type="gml:RectifiedGridCoverageType" + substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>The gml:RectifiedGridCoverage is a discrete point coverage based on a rectified grid. It is similar + to the grid coverage except that the points of the grid are geometrically referenced. The rectified grid + coverage has a domain that is a gml:RectifiedGrid geometry. + The coverage domain is described by gml:rectifiedGridDomain. + </documentation> + </annotation> + </element> + <complexType name="RectifiedGridCoverageType"> + <complexContent> + <restriction base="gml:AbstractDiscreteCoverageType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:boundedBy" minOccurs="0"/> + <element ref="gml:rectifiedGridDomain"/> + <element ref="gml:rangeSet"/> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="rectifiedGridDomain" type="gml:RectifiedGridDomainType" substitutionGroup="gml:domainSet"/> + <complexType name="RectifiedGridDomainType"> + <complexContent> + <restriction base="gml:DomainSetType"> + <sequence minOccurs="0"> + <element ref="gml:RectifiedGrid"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </restriction> + </complexContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/datums.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/datums.xsd new file mode 100644 index 00000000000..f562a83ecef --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/datums.xsd @@ -0,0 +1,418 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Clemens Portele (interactive instruments) --> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0" xml:lang="en"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:datums:3.2.0">datums.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.5 + The datums schema components can be divided into three logical parts, which define elements and types for XML + encoding of the definitions of: + - Abstract datum + - Geodetic datums, including ellipsoid and prime meridian + - Multiple other concrete types of spatial or temporal datums + These schema components encode the Datum packages of the UML Models of ISO 19111 Clause 10 and ISO/DIS 19136 + D.3.10. + </documentation> + </annotation> + <include schemaLocation="referenceSystems.xsd"/> + <include schemaLocation="measures.xsd"/> + <element name="AbstractDatum" type="gml:AbstractDatumType" abstract="true" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A gml:AbstractDatum specifies the relationship of a coordinate system to the earth, thus creating a + coordinate reference system. A datum uses a parameter or set of parameters that determine the location of the + origin of the coordinate reference system. Each datum subtype may be associated with only specific types of + coordinate systems. This abstract complex type shall not be used, extended, or restricted, in a GML Application + Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document. + </documentation> + </annotation> + </element> + <complexType name="AbstractDatumType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + <element ref="gml:anchorDefinition" minOccurs="0"/> + <element ref="gml:realizationEpoch" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="anchorDefinition" type="gml:CodeType"> + <annotation> + <documentation>gml:anchorDefinition is a description, possibly including coordinates, of the definition used to + anchor the datum to the Earth. Also known as the "origin", especially for engineering and image datums. The + codeSpace attribute may be used to reference a source of more detailed on this point or surface, or on a set of + such descriptions. + - For a geodetic datum, this point is also known as the fundamental point, which is traditionally the point + where the relationship between geoid and ellipsoid is defined. In some cases, the "fundamental point" may + consist of a number of points. In those cases, the parameters defining the geoid/ellipsoid relationship have + been averaged for these points, and the averages adopted as the datum definition. + - For an engineering datum, the anchor definition may be a physical point, or it may be a point with defined + coordinates in another CRS.may + - For an image datum, the anchor definition is usually either the centre of the image or the corner of the + image. + - For a temporal datum, this attribute is not defined. Instead of the anchor definition, a temporal datum + carries a separate time origin of type DateTime. + </documentation> + </annotation> + </element> + <element name="anchorPoint" type="gml:CodeType" substitutionGroup="gml:anchorDefinition"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="realizationEpoch" type="date"> + <annotation> + <documentation>gml:realizationEpoch is the time after which this datum definition is valid. See ISO 19111 Table 32 + for details. + </documentation> + </annotation> + </element> + <complexType name="DatumPropertyType"> + <annotation> + <documentation>gml:DatumPropertyType is a property type for association roles to a datum, either referencing or + containing the definition of that datum. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="datumRef" type="gml:DatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="GeodeticDatum" type="gml:GeodeticDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>gml:GeodeticDatum is a geodetic datum defines the precise location and orientation in 3-dimensional + space of a defined ellipsoid (or sphere), or of a Cartesian coordinate system centered in this ellipsoid (or + sphere). + </documentation> + </annotation> + </element> + <complexType name="GeodeticDatumType"> + <complexContent> + <extension base="gml:AbstractDatumType"> + <sequence> + <element ref="gml:primeMeridian"/> + <element ref="gml:ellipsoid"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="primeMeridian" type="gml:PrimeMeridianPropertyType"> + <annotation> + <documentation>gml:primeMeridian is an association role to the prime meridian used by this geodetic datum. + </documentation> + </annotation> + </element> + <element name="usesPrimeMeridian" type="gml:PrimeMeridianPropertyType" substitutionGroup="gml:primeMeridian"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ellipsoid" type="gml:EllipsoidPropertyType"> + <annotation> + <documentation>gml:ellipsoid is an association role to the ellipsoid used by this geodetic datum.</documentation> + </annotation> + </element> + <element name="usesEllipsoid" type="gml:EllipsoidPropertyType" substitutionGroup="gml:ellipsoid"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="GeodeticDatumPropertyType"> + <annotation> + <documentation>gml:GeodeticDatumPropertyType is a property type for association roles to a geodetic datum, either + referencing or containing the definition of that datum. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:GeodeticDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="geodeticDatumRef" type="gml:GeodeticDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="Ellipsoid" type="gml:EllipsoidType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A gml:Ellipsoid is a geometric figure that may be used to describe the approximate shape of the + earth. In mathematical terms, it is a surface formed by the rotation of an ellipse about its minor axis. + </documentation> + </annotation> + </element> + <complexType name="EllipsoidType"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:semiMajorAxis"/> + <element ref="gml:secondDefiningParameter"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="semiMajorAxis" type="gml:MeasureType"> + <annotation> + <documentation>gml:semiMajorAxis specifies the length of the semi-major axis of the ellipsoid, with its units. + Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a + length, such as metres or feet. + </documentation> + </annotation> + </element> + <element name="secondDefiningParameter"> + <annotation> + <documentation>gml:secondDefiningParameter is a property containing the definition of the second parameter that + defines the shape of an ellipsoid. An ellipsoid requires two defining parameters: semi-major axis and inverse + flattening or semi-major axis and semi-minor axis. When the reference body is a sphere rather than an ellipsoid, + only a single defining parameter is required, namely the radius of the sphere; in that case, the semi-major axis + "degenerates" into the radius of the sphere. + The inverseFlattening element contains the inverse flattening value of the ellipsoid. This value is a scale + factor (or ratio). It uses gml:LengthType with the restriction that the unit of measure referenced by the uom + attribute must be suitable for a scale factor, such as percent, permil, or parts-per-million. + The semiMinorAxis element contains the length of the semi-minor axis of the ellipsoid. When the isSphere element + is included, the ellipsoid is degenerate and is actually a sphere. The sphere is completely defined by the + semi-major axis, which is the radius of the sphere. + </documentation> + </annotation> + <complexType> + <sequence> + <element ref="gml:SecondDefiningParameter"/> + </sequence> + </complexType> + </element> + <element name="SecondDefiningParameter"> + <complexType> + <choice> + <element name="inverseFlattening" type="gml:MeasureType"/> + <element name="semiMinorAxis" type="gml:LengthType"/> + <element name="isSphere"> + <simpleType> + <restriction base="string"> + <enumeration value="sphere"/> + </restriction> + </simpleType> + </element> + </choice> + </complexType> + </element> + <complexType name="EllipsoidPropertyType"> + <annotation> + <documentation>gml:EllipsoidPropertyType is a property type for association roles to an ellipsoid, either + referencing or containing the definition of that ellipsoid. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:Ellipsoid"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ellipsoidRef" type="gml:EllipsoidPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="PrimeMeridian" type="gml:PrimeMeridianType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A gml:PrimeMeridian defines the origin from which longitude values are determined. The default + value for the prime meridian gml:identifier value is "Greenwich". + </documentation> + </annotation> + </element> + <complexType name="PrimeMeridianType"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:greenwichLongitude"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="greenwichLongitude" type="gml:AngleType"> + <annotation> + <documentation>gml:greenwichLongitude is the longitude of the prime meridian measured from the Greenwich meridian, + positive eastward. If the value of the prime meridian “name” is "Greenwich" then the value of greenwichLongitude + shall be 0 degrees. + </documentation> + </annotation> + </element> + <complexType name="PrimeMeridianPropertyType"> + <annotation> + <documentation>gml:PrimeMeridianPropertyType is a property type for association roles to a prime meridian, either + referencing or containing the definition of that meridian. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:PrimeMeridian"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="primeMeridianRef" type="gml:PrimeMeridianPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="EngineeringDatum" type="gml:EngineeringDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>gml:EngineeringDatum defines the origin of an engineering coordinate reference system, and is used + in a region around that origin. This origin may be fixed with respect to the earth (such as a defined point at a + construction site), or be a defined point on a moving vehicle (such as on a ship or satellite). + </documentation> + </annotation> + </element> + <complexType name="EngineeringDatumType"> + <complexContent> + <extension base="gml:AbstractDatumType"/> + </complexContent> + </complexType> + <complexType name="EngineeringDatumPropertyType"> + <annotation> + <documentation>gml:EngineeringDatumPropertyType is a property type for association roles to an engineering datum, + either referencing or containing the definition of that datum. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:EngineeringDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="engineeringDatumRef" type="gml:EngineeringDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ImageDatum" type="gml:ImageDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>gml:ImageDatum defines the origin of an image coordinate reference system, and is used in a local + context only. For an image datum, the anchor definition is usually either the centre of the image or the corner + of the image. For more information, see ISO 19111 B.3.5. + </documentation> + </annotation> + </element> + <complexType name="ImageDatumType"> + <complexContent> + <extension base="gml:AbstractDatumType"> + <sequence> + <element ref="gml:pixelInCell"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="pixelInCell" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>gml:pixelInCell is a specification of the way an image grid is associated with the image data + attributes. The required codeSpace attribute shall reference a source of information specifying the values and + meanings of all the allowed string values for this property. + </documentation> + </annotation> + </element> + <complexType name="ImageDatumPropertyType"> + <annotation> + <documentation>gml:ImageDatumPropertyType is a property type for association roles to an image datum, either + referencing or containing the definition of that datum. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ImageDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="imageDatumRef" type="gml:ImageDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="VerticalDatum" type="gml:VerticalDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>gml:VerticalDatum is a textual description and/or a set of parameters identifying a particular + reference level surface used as a zero-height surface, including its position with respect to the Earth for any + of the height types recognized by this International Standard. + </documentation> + </annotation> + </element> + <complexType name="VerticalDatumType"> + <complexContent> + <extension base="gml:AbstractDatumType"/> + </complexContent> + </complexType> + <complexType name="VerticalDatumPropertyType"> + <annotation> + <documentation>gml:VerticalDatumPropertyType is property type for association roles to a vertical datum, either + referencing or containing the definition of that datum. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:VerticalDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="verticalDatumRef" type="gml:VerticalDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="TemporalDatum" type="gml:TemporalDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>A gml:TemporalDatum defines the origin of a Temporal Reference System. This type omits the + "anchorDefinition" and "realizationEpoch" elements and adds the "origin" element with the dateTime type. + </documentation> + </annotation> + </element> + <complexType name="TemporalDatumType"> + <complexContent> + <extension base="gml:TemporalDatumBaseType"> + <sequence> + <element ref="gml:origin"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TemporalDatumBaseType" abstract="true"> + <annotation> + <documentation>The TemporalDatumBaseType partially defines the origin of a temporal coordinate reference system. + This type restricts the AbstractDatumType to remove the "anchorDefinition" and "realizationEpoch" elements. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:AbstractDatumType"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:remarks" minOccurs="0"/> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </restriction> + </complexContent> + </complexType> + <element name="origin" type="dateTime"> + <annotation> + <documentation>gml:origin is the date and time origin of this temporal datum.</documentation> + </annotation> + </element> + <complexType name="TemporalDatumPropertyType"> + <annotation> + <documentation>gml:TemporalDatumPropertyType is a property type for association roles to a temporal datum, either + referencing or containing the definition of that datum. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TemporalDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="temporalDatumRef" type="gml:TemporalDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/dictionary.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/dictionary.xsd new file mode 100644 index 00000000000..6dd40bde979 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/dictionary.xsd @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:opengis:specification:gml:schema-xsd:dictionary:v3.2.0">dictionary.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 16. + Many applications require definitions of terms which are used within instance documents as the values of certain + properties or as reference information to tie properties to standard information values in some way. Units of + measure and descriptions of measurable phenomena are two particular examples. + It will often be convenient to use definitions provided by external authorities. These may already be packaged for + delivery in various ways, both online and offline. In order that they may be referred to from GML documents it is + generally necessary that a URI be available for each definition. Where this is the case then it is usually + preferable to refer to these directly. + Alternatively, it may be convenient or necessary to capture definitions in XML, either embedded within an instance + document containing features or as a separate document. The definitions may be transcriptions from an external + source, or may be new definitions for a local purpose. In order to support this case, some simple components are + provided in GML in the form of + - a generic gml:Definition, which may serve as the basis for more specialized definitions + - a generic gml:Dictionary, which allows a set of definitions or references to definitions to be collected + These components may be used directly, but also serve as the basis for more specialised definition elements in + GML, in particular: coordinate operations, coordinate reference systems, datums, temporal reference systems, and + units of measure. + Note that the GML definition and dictionary components implement a simple nested hierarchy of definitions with + identifiers. The latter provide handles which may be used in the description of more complex relationships between + terms. However, the GML dictionary components are not intended to provide direct support for complex taxonomies, + ontologies or thesauri. Specialised XML tools are available to satisfy the more sophisticated requirements. + </documentation> + </annotation> + <include schemaLocation="gmlBase.xsd"/> + <element name="Definition" type="gml:DefinitionType" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The basic gml:Definition element specifies a definition, which can be included in or referenced by + a dictionary. + The content model for a generic definition is a derivation from gml:AbstractGMLType. + The gml:description property element shall hold the definition if this can be captured in a simple text string, + or the gml:descriptionReference property element may carry a link to a description elsewhere. + The gml:identifier element shall provide one identifier identifying this definition. The identifier shall be + unique within the dictionaries using this definition. + The gml:name elements shall provide zero or more terms and synonyms for which this is the definition. + The gml:remarks element shall be used to hold additional textual information that is not conceptually part of + the definition but is useful in understanding the definition. + </documentation> + </annotation> + </element> + <complexType name="DefinitionBaseType"> + <complexContent> + <restriction base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </restriction> + </complexContent> + </complexType> + <complexType name="DefinitionType"> + <complexContent> + <extension base="gml:DefinitionBaseType"> + <sequence> + <element ref="gml:remarks" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="remarks" type="string"/> + <element name="Dictionary" type="gml:DictionaryType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>Sets of definitions may be collected into dictionaries or collections. + A gml:Dictionary is a non-abstract collection of definitions. + The gml:Dictionary content model adds a list of gml:dictionaryEntry properties that contain or reference + gml:Definition objects. A database handle (gml:id attribute) is required, in order that this collection may be + referred to. The standard gml:identifier, gml:description, gml:descriptionReference and gml:name properties are + available to reference or contain more information about this dictionary. The gml:description and + gml:descriptionReference property elements may be used for a description of this dictionary. The derived + gml:name element may be used for the name(s) of this dictionary. for remote definiton references + gml:dictionaryEntry shall be used. If a Definition object contained within a Dictionary uses the + descriptionReference property to refer to a remote definition, then this enables the inclusion of a remote + definition in a local dictionary, giving a handle and identifier in the context of the local dictionary. + </documentation> + </annotation> + </element> + <element name="DefinitionCollection" type="gml:DictionaryType" substitutionGroup="gml:Definition"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DictionaryType"> + <complexContent> + <extension base="gml:DefinitionType"> + <choice minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:dictionaryEntry"/> + <element ref="gml:indirectEntry"/> + </choice> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="dictionaryEntry" type="gml:DictionaryEntryType"> + <annotation> + <documentation>This property element contains or refers to the definitions which are members of a dictionary. + The content model follows the standard GML property pattern, so a gml:dictionaryEntry may either contain or + refer to a single gml:Definition. Since gml:Dictionary is substitutable for gml:Definition, the content of an + entry may itself be a lower level dictionary. + Note that if the value is provided by reference, this definition does not carry a handle (gml:id) in this + context, so does not allow external references to this specific definition in this context. When used in this + way the referenced definition will usually be in a dictionary in the same XML document. + </documentation> + </annotation> + </element> + <element name="definitionMember" type="gml:DictionaryEntryType" substitutionGroup="gml:dictionaryEntry"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DictionaryEntryType"> + <complexContent> + <extension base="gml:AbstractMemberType"> + <sequence minOccurs="0"> + <element ref="gml:Definition"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="indirectEntry" type="gml:IndirectEntryType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="IndirectEntryType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence> + <element ref="gml:DefinitionProxy"/> + </sequence> + </complexType> + <element name="DefinitionProxy" type="gml:DefinitionProxyType" substitutionGroup="gml:Definition"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DefinitionProxyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element ref="gml:definitionRef"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="definitionRef" type="gml:ReferenceType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/direction.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/direction.xsd new file mode 100644 index 00000000000..06e5a6bd89a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/direction.xsd @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" + targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + attributeFormDefault="unqualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:direction:3.2.0">direction.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 18. + The direction schema components provide the GML Application Schema developer with a standard property element to + describe direction, and associated objects that may be used to express orientation, direction, heading, bearing or + other directional aspects of geographic features. + </documentation> + </annotation> + <include schemaLocation="geometryBasic0d1d.xsd"/> + <element name="direction" type="gml:DirectionPropertyType"> + <annotation> + <documentation>The property gml:direction is intended as a pre-defined property expressing a direction to be + assigned to features defined in a GML application schema. + </documentation> + </annotation> + </element> + <complexType name="DirectionPropertyType"> + <sequence minOccurs="0"> + <choice> + <element name="DirectionVector" type="gml:DirectionVectorType"/> + <element name="DirectionDescription" type="gml:DirectionDescriptionType"/> + <element name="CompassPoint" type="gml:CompassPointEnumeration"/> + <element name="DirectionKeyword" type="gml:CodeType"/> + <element name="DirectionString" type="gml:StringOrRefType"/> + </choice> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="DirectionVectorType"> + <annotation> + <documentation>Direction vectors are specified by providing components of a vector.</documentation> + </annotation> + <choice> + <element ref="gml:vector"/> + <sequence> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <element name="horizontalAngle" type="gml:AngleType"/> + <element name="verticalAngle" type="gml:AngleType"/> + </sequence> + </choice> + </complexType> + <complexType name="DirectionDescriptionType"> + <annotation> + <documentation>direction descriptions are specified by a compass point code, a keyword, a textual description or a + reference to a description. + A gml:compassPoint is specified by a simple enumeration. + In addition, thre elements to contain text-based descriptions of direction are provided. + If the direction is specified using a term from a list, gml:keyword should be used, and the list indicated using + the value of the codeSpace attribute. + if the direction is decribed in prose, gml:direction or gml:reference should be used, allowing the value to be + included inline or by reference. + </documentation> + </annotation> + <choice> + <element name="compassPoint" type="gml:CompassPointEnumeration"/> + <element name="keyword" type="gml:CodeType"/> + <element name="description" type="string"/> + <element name="reference" type="gml:ReferenceType"/> + </choice> + </complexType> + <simpleType name="CompassPointEnumeration"> + <annotation> + <documentation>These directions are necessarily approximate, giving direction with a precision of 22.5°. It is + thus generally unnecessary to specify the reference frame, though this may be detailed in the definition of a + GML application language. + </documentation> + </annotation> + <restriction base="string"> + <enumeration value="N"/> + <enumeration value="NNE"/> + <enumeration value="NE"/> + <enumeration value="ENE"/> + <enumeration value="E"/> + <enumeration value="ESE"/> + <enumeration value="SE"/> + <enumeration value="SSE"/> + <enumeration value="S"/> + <enumeration value="SSW"/> + <enumeration value="SW"/> + <enumeration value="WSW"/> + <enumeration value="W"/> + <enumeration value="WNW"/> + <enumeration value="NW"/> + <enumeration value="NNW"/> + </restriction> + </simpleType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/dynamicFeature.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/dynamicFeature.xsd new file mode 100644 index 00000000000..9f74953bc25 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/dynamicFeature.xsd @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:dynamicFeature:3.2.0">dynamicFeature.xsd</appinfo> + <documentation>See ISO/DIS 19136 15.6. + A number of types and relationships are defined to represent the time-varying properties of geographic features. + In a comprehensive treatment of spatiotemporal modeling, Langran (see Bibliography) distinguished three principal + temporal entities: states, events, and evidence; the schema specified in the following Subclauses incorporates + elements for each. + </documentation> + </annotation> + <include schemaLocation="feature.xsd"/> + <include schemaLocation="direction.xsd"/> + <element name="dataSource" type="gml:StringOrRefType"> + <annotation> + <documentation>Evidence is represented by a simple gml:dataSource or gml:dataSourceReference property that + indicates the source of the temporal data. The remote link attributes of the gml:dataSource element have been + deprecated along with its current type. + </documentation> + </annotation> + </element> + <element name="dataSourceReference" type="gml:ReferenceType"> + <annotation> + <documentation>Evidence is represented by a simple gml:dataSource or gml:dataSourceReference property that + indicates the source of the temporal data. + </documentation> + </annotation> + </element> + <group name="dynamicProperties"> + <annotation> + <documentation>A convenience group. This allows an application schema developer to include dynamic properties in a + content model in a standard fashion. + </documentation> + </annotation> + <sequence> + <element ref="gml:validTime" minOccurs="0"/> + <element ref="gml:history" minOccurs="0"/> + <element ref="gml:dataSource" minOccurs="0"/> + <element ref="gml:dataSourceReference" minOccurs="0"/> + </sequence> + </group> + <element name="DynamicFeature" type="gml:DynamicFeatureType" substitutionGroup="gml:AbstractFeature"> + <annotation> + <documentation>States are captured by time-stamped instances of a feature. The content model extends the standard + gml:AbstractFeatureType with the gml:dynamicProperties model group. + Each time-stamped instance represents a ‘snapshot’ of a feature. The dynamic feature classes will normally be + extended to suit particular applications. A dynamic feature bears either a time stamp or a history. + </documentation> + </annotation> + </element> + <complexType name="DynamicFeatureType"> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <group ref="gml:dynamicProperties"/> + </extension> + </complexContent> + </complexType> + <element name="DynamicFeatureCollection" type="gml:DynamicFeatureCollectionType" + substitutionGroup="gml:DynamicFeature"> + <annotation> + <documentation>A gml:DynamicFeatureCollection is a feature collection that has a gml:validTime property (i.e. is a + snapshot of the feature collection) or which has a gml:history property that contains one or more + gml:AbstractTimeSlices each of which contain values of the time varying properties of the feature collection. + Note that the gml:DynamicFeatureCollection may be one of the following: + 1. A feature collection which consists of static feature members (members do not change in time) but which has + properties of the collection object as a whole that do change in time . + 2. A feature collection which consists of dynamic feature members (the members are gml:DynamicFeatures) but + which also has properties of the collection as a whole that vary in time. + </documentation> + </annotation> + </element> + <complexType name="DynamicFeatureCollectionType"> + <complexContent> + <extension base="gml:DynamicFeatureType"> + <sequence> + <element ref="gml:dynamicMembers"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="dynamicMembers" type="gml:DynamicFeatureMemberType"/> + <complexType name="DynamicFeatureMemberType"> + <complexContent> + <extension base="gml:AbstractFeatureMemberType"> + <sequence> + <element ref="gml:DynamicFeature" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="AbstractTimeSlice" type="gml:AbstractTimeSliceType" abstract="true" + substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>To describe an event — an action that occurs at an instant or over an interval of time — GML + provides the gml:AbtractTimeSlice element. A timeslice encapsulates the time-varying properties of a dynamic + feature -- it shall be extended to represent a time stamped projection of a specific feature. The gml:dataSource + property describes how the temporal data was acquired. + A gml:AbstractTimeSlice instance is a GML object that encapsulates updates of the dynamic—or volatile—properties + that reflect some change event; it thus includes only those feature properties that have actually changed due to + some process. + gml:AbstractTimeSlice basically provides a facility for attribute-level time stamping, in contrast to the + object-level time stamping of dynamic feature instances. + The time slice can thus be viewed as event or process-oriented, whereas a snapshot is more state or + structure-oriented. A timeslice has richer causality, whereas a snapshot merely portrays the status of the + whole. + </documentation> + </annotation> + </element> + <complexType name="AbstractTimeSliceType" abstract="true"> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:validTime"/> + <element ref="gml:dataSource" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MovingObjectStatus" type="gml:MovingObjectStatusType" substitutionGroup="gml:AbstractTimeSlice"> + <annotation> + <documentation>gml:MovingObjectStatus is one example of how gml:AbstractTimeSlice may be extended. This element + provides a standard method to capture a record of the status of a moving object. + A gml:MovingObjectStatus element allows the user to describe the present location, along with the speed, + bearing, acceleration and elevation of an object in a particular time slice. + Additional information about the current status of the object may be recorded in the gml:status or + gml:statusReference property elements. + </documentation> + </annotation> + </element> + <complexType name="MovingObjectStatusType"> + <complexContent> + <extension base="gml:AbstractTimeSliceType"> + <sequence> + <choice> + <element name="position" type="gml:GeometryPropertyType"/> + <element ref="gml:pos"/> + <element ref="gml:locationName"/> + <element ref="gml:locationReference"/> + <element ref="gml:location"/> + </choice> + <element name="speed" type="gml:MeasureType" minOccurs="0"/> + <element name="bearing" type="gml:DirectionPropertyType" minOccurs="0"/> + <element name="acceleration" type="gml:MeasureType" minOccurs="0"/> + <element name="elevation" type="gml:MeasureType" minOccurs="0"/> + <element ref="gml:status" minOccurs="0"/> + <element ref="gml:statusReference" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="status" type="gml:StringOrRefType"> + <annotation> + <documentation>The remote link attributes of the gml:status element have been deprecated along with its current + type. + </documentation> + </annotation> + </element> + <element name="statusReference" type="gml:ReferenceType"/> + <element name="history" type="gml:HistoryPropertyType"> + <annotation> + <documentation>A generic sequence of events constitute a gml:history of an object. + The gml:history element contains a set of elements in the substitution group headed by the abstract element + gml:AbstractTimeSlice, representing the time-varying properties of interest. The history property of a dynamic + feature associates a feature instance with a sequence of time slices (i.e. change events) that encapsulate the + evolution of the feature. + </documentation> + </annotation> + </element> + <complexType name="HistoryPropertyType"> + <sequence> + <element ref="gml:AbstractTimeSlice" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="track" type="gml:HistoryPropertyType" substitutionGroup="gml:history"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/feature.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/feature.xsd new file mode 100644 index 00000000000..857dd09c5b0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/feature.xsd @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:feature:3.2.0">feature.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 9. + A GML feature is a (representation of a) identifiable real-world object in a selected domain of discourse. The + feature schema provides a framework for the creation of GML features and feature collections. + </documentation> + </annotation> + <include schemaLocation="geometryAggregates.xsd"/> + <include schemaLocation="temporal.xsd"/> + <complexType name="AbstractFeatureType" abstract="true"> + <annotation> + <documentation>The basic feature model is given by the gml:AbstractFeatureType. + The content model for gml:AbstractFeatureType adds two specific properties suitable for geographic features to + the content model defined in gml:AbstractGMLType. + The value of the gml:boundedBy property describes an envelope that encloses the entire feature instance, and is + primarily useful for supporting rapid searching for features that occur in a particular location. + The value of the gml:location property describes the extent, position or relative location of the feature. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:boundedBy" minOccurs="0"/> + <element ref="gml:location" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractFeature" type="gml:AbstractFeatureType" abstract="true" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>This abstract element serves as the head of a substitution group which may contain any elements + whose content model is derived from gml:AbstractFeatureType. This may be used as a variable in the construction + of content models. + gml:AbstractFeature may be thought of as “anything that is a GML feature” and may be used to define variables or + templates in which the value of a GML property is “any feature”. This occurs in particular in a GML feature + collection where the feature member properties contain one or multiple copies of gml:AbstractFeature + respectively. + </documentation> + </annotation> + </element> + <element name="boundedBy" type="gml:BoundingShapeType" nillable="true"> + <annotation> + <documentation>This property describes the minimum bounding box or rectangle that encloses the entire feature. + </documentation> + </annotation> + </element> + <complexType name="BoundingShapeType"> + <sequence> + <choice> + <element ref="gml:Envelope"/> + <element ref="gml:Null"/> + </choice> + </sequence> + <attribute name="nilReason" type="gml:NilReasonType"/> + </complexType> + <element name="EnvelopeWithTimePeriod" type="gml:EnvelopeWithTimePeriodType" substitutionGroup="gml:Envelope"> + <annotation> + <documentation>gml:EnvelopeWithTimePeriod is provided for envelopes that include a temporal extent. It adds two + time position properties, gml:beginPosition and gml:endPosition, which describe the extent of a time-envelope. + Since gml:EnvelopeWithTimePeriod is assigned to the substitution group headed by gml:Envelope, it may be used + whenever gml:Envelope is valid. + </documentation> + </annotation> + </element> + <complexType name="EnvelopeWithTimePeriodType"> + <complexContent> + <extension base="gml:EnvelopeType"> + <sequence> + <element name="beginPosition" type="gml:TimePositionType"/> + <element name="endPosition" type="gml:TimePositionType"/> + </sequence> + <attribute name="frame" type="anyURI" default="#ISO-8601"/> + </extension> + </complexContent> + </complexType> + <element name="location" type="gml:LocationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="LocationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence> + <choice> + <element ref="gml:AbstractGeometry"/> + <element ref="gml:LocationKeyWord"/> + <element ref="gml:LocationString"/> + <element ref="gml:Null"/> + </choice> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="LocationString" type="gml:StringOrRefType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="LocationKeyWord" type="gml:CodeType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="locationName" type="gml:CodeType"> + <annotation> + <documentation>The gml:locationName property element is a convenience property where the text value describes the + location of the feature. If the location names are selected from a controlled list, then the list shall be + identified in the codeSpace attribute. + </documentation> + </annotation> + </element> + <element name="locationReference" type="gml:ReferenceType"> + <annotation> + <documentation>The gml:locationReference property element is a convenience property where the text value + referenced by the xlink:href attribute describes the location of the feature. + </documentation> + </annotation> + </element> + <element name="priorityLocation" type="gml:PriorityLocationPropertyType" substitutionGroup="gml:location"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="PriorityLocationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:LocationPropertyType"> + <attribute name="priority" type="string"/> + </extension> + </complexContent> + </complexType> + <complexType name="FeaturePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractFeature"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="featureMember" type="gml:FeaturePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="featureProperty" type="gml:FeaturePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="FeatureArrayPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractFeature"/> + </sequence> + </complexType> + <element name="featureMembers" type="gml:FeatureArrayPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="centerOf" type="gml:PointPropertyType"/> + <element name="position" type="gml:PointPropertyType"/> + <element name="extentOf" type="gml:SurfacePropertyType"/> + <element name="edgeOf" type="gml:CurvePropertyType"/> + <element name="centerLineOf" type="gml:CurvePropertyType"/> + <element name="multiLocation" type="gml:MultiPointPropertyType"/> + <element name="multiCenterOf" type="gml:MultiPointPropertyType"/> + <element name="multiPosition" type="gml:MultiPointPropertyType"/> + <element name="multiCenterLineOf" type="gml:MultiCurvePropertyType"/> + <element name="multiEdgeOf" type="gml:MultiCurvePropertyType"/> + <element name="multiCoverage" type="gml:MultiSurfacePropertyType"/> + <element name="multiExtentOf" type="gml:MultiSurfacePropertyType"/> + <complexType name="BoundedFeatureType" abstract="true"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <restriction base="gml:AbstractFeatureType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:boundedBy"/> + <element ref="gml:location" minOccurs="0"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <complexType name="AbstractFeatureMemberType" abstract="true"> + <annotation> + <documentation>To create a collection of GML features, a property type shall be derived by extension from + gml:AbstractFeatureMemberType. + By default, this abstract property type does not imply any ownership of the features in the collection. The owns + attribute of gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership of a + feature in the collection. A collection shall not own a feature already owned by another object. + </documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="AbstractFeatureCollectionType" abstract="true"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <sequence> + <element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:featureMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractFeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" + substitutionGroup="gml:AbstractFeature"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="FeatureCollection" type="gml:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="FeatureCollectionType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractFeatureCollectionType"/> + </complexContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryAggregates.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryAggregates.xsd new file mode 100644 index 00000000000..b2ab267e39a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryAggregates.xsd @@ -0,0 +1,292 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" + targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:geometryAggregates:3.2.0">geometryAggregates.xsd</appinfo> + <documentation>See ISO/DIS 19136 12.3. + Geometric aggregates (i.e. instances of a subtype of gml:AbstractGeometricAggregateType) are arbitrary + aggregations of geometry elements. They are not assumed to have any additional internal structure and are used to + "collect" pieces of geometry of a specified type. Application schemas may use aggregates for features that use + multiple geometric objects in their representations. + </documentation> + </annotation> + <include schemaLocation="geometryPrimitives.xsd"/> + <complexType name="AbstractGeometricAggregateType" abstract="true"> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="AbstractGeometricAggregate" type="gml:AbstractGeometricAggregateType" abstract="true" + substitutionGroup="gml:AbstractGeometry"> + <annotation> + <documentation>gml:AbstractGeometricAggregate is the abstract head of the substitution group for all geometric + aggregates. + </documentation> + </annotation> + </element> + <complexType name="MultiGeometryType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:geometryMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:geometryMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiGeometry" type="gml:MultiGeometryType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>gml:MultiGeometry is a collection of one or more GML geometry objects of arbitrary type. + The members of the geometric aggregate may be specified either using the "standard" property + (gml:geometryMember) or the array property (gml:geometryMembers). It is also valid to use both the "standard" + and the array properties in the same collection. + </documentation> + </annotation> + </element> + <element name="geometryMember" type="gml:GeometryPropertyType"> + <annotation> + <documentation>This property element either references a geometry element via the XLink-attributes or contains the + geometry element. + </documentation> + </annotation> + </element> + <element name="geometryMembers" type="gml:GeometryArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of geometry elements. The order of the elements is + significant and shall be preserved when processing the array. + </documentation> + </annotation> + </element> + <complexType name="MultiGeometryPropertyType"> + <annotation> + <documentation>A property that has a geometric aggregate as its value domain may either be an appropriate geometry + element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote + includes geometry elements located elsewhere in the same document). Either the reference or the contained + element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeometricAggregate"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType"> + <annotation> + <documentation>This property element either references a geometric aggregate via the XLink-attributes or contains + the "multi geometry" element. multiGeometryProperty is the predefined property, which may be used by GML + Application Schemas whenever a GML feature has a property with a value that is substitutable for + AbstractGeometricAggregate. + </documentation> + </annotation> + </element> + <complexType name="MultiPointType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:pointMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:pointMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiPoint" type="gml:MultiPointType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>A gml:MultiPoint consists of one or more gml:Points. + The members of the geometric aggregate may be specified either using the "standard" property (gml:pointMember) + or the array property (gml:pointMembers). It is also valid to use both the "standard" and the array properties + in the same collection. + </documentation> + </annotation> + </element> + <element name="pointMember" type="gml:PointPropertyType"> + <annotation> + <documentation>This property element either references a Point via the XLink-attributes or contains the Point + element. + </documentation> + </annotation> + </element> + <element name="pointMembers" type="gml:PointArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of points. The order of the elements is significant and shall + be preserved when processing the array. + </documentation> + </annotation> + </element> + <complexType name="MultiPointPropertyType"> + <annotation> + <documentation>A property that has a collection of points as its value domain may either be an appropriate + geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element + (where remote includes geometry elements located elsewhere in the same document). Either the reference or the + contained element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:MultiPoint"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="multiPointProperty" type="gml:MultiPointPropertyType"> + <annotation> + <documentation>This property element either references a point aggregate via the XLink-attributes or contains the + "multi point" element. multiPointProperty is the predefined property, which may be used by GML Application + Schemas whenever a GML feature has a property with a value that is substitutable for MultiPoint. + </documentation> + </annotation> + </element> + <complexType name="MultiCurveType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:curveMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:curveMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiCurve" type="gml:MultiCurveType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>A gml:MultiCurve is defined by one or more gml:AbstractCurves. + The members of the geometric aggregate may be specified either using the "standard" property (gml:curveMember) + or the array property (gml:curveMembers). It is also valid to use both the "standard" and the array properties + in the same collection. + </documentation> + </annotation> + </element> + <element name="curveMembers" type="gml:CurveArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of curves. The order of the elements is significant and shall + be preserved when processing the array. + </documentation> + </annotation> + </element> + <complexType name="MultiCurvePropertyType"> + <annotation> + <documentation>A property that has a collection of curves as its value domain may either be an appropriate + geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element + (where remote includes geometry elements located elsewhere in the same document). Either the reference or the + contained element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:MultiCurve"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="multiCurveProperty" type="gml:MultiCurvePropertyType"> + <annotation> + <documentation>This property element either references a curve aggregate via the XLink-attributes or contains the + "multi curve" element. multiCurveProperty is the predefined property, which may be used by GML Application + Schemas whenever a GML feature has a property with a value that is substitutable for MultiCurve. + </documentation> + </annotation> + </element> + <complexType name="MultiSurfaceType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:surfaceMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:surfaceMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiSurface" type="gml:MultiSurfaceType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>A gml:MultiSurface is defined by one or more gml:AbstractSurfaces. + The members of the geometric aggregate may be specified either using the "standard" property (gml:surfaceMember) + or the array property (gml:surfaceMembers). It is also valid to use both the "standard" and the array properties + in the same collection. + </documentation> + </annotation> + </element> + <element name="surfaceMembers" type="gml:SurfaceArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of surfaces. The order of the elements is significant and + shall be preserved when processing the array. + </documentation> + </annotation> + </element> + <complexType name="MultiSurfacePropertyType"> + <annotation> + <documentation>A property that has a collection of surfaces as its value domain may either be an appropriate + geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element + (where remote includes geometry elements located elsewhere in the same document). Either the reference or the + contained element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:MultiSurface"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="multiSurfaceProperty" type="gml:MultiSurfacePropertyType"> + <annotation> + <documentation>This property element either references a surface aggregate via the XLink-attributes or contains + the "multi surface" element. multiSurfaceProperty is the predefined property, which may be used by GML + Application Schemas whenever a GML feature has a property with a value that is substitutable for MultiSurface. + </documentation> + </annotation> + </element> + <complexType name="MultiSolidType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:solidMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:solidMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiSolid" type="gml:MultiSolidType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>A gml:MultiSolid is defined by one or more gml:AbstractSolids. + The members of the geometric aggregate may be specified either using the "standard" property (gml:solidMember) + or the array property (gml:solidMembers). It is also valid to use both the "standard" and the array properties + in the same collection. + </documentation> + </annotation> + </element> + <element name="solidMember" type="gml:SolidPropertyType"> + <annotation> + <documentation>This property element either references a solid via the XLink-attributes or contains the solid + element. A solid element is any element, which is substitutable for gml:AbstractSolid. + </documentation> + </annotation> + </element> + <element name="solidMembers" type="gml:SolidArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of solids. The order of the elements is significant and shall + be preserved when processing the array. + </documentation> + </annotation> + </element> + <complexType name="MultiSolidPropertyType"> + <annotation> + <documentation>A property that has a collection of solids as its value domain may either be an appropriate + geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element + (where remote includes geometry elements located elsewhere in the same document). Either the reference or the + contained element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:MultiSolid"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="multiSolidProperty" type="gml:MultiSolidPropertyType"> + <annotation> + <documentation>This property element either references a solid aggregate via the XLink-attributes or contains the + "multi solid" element. multiSolidProperty is the predefined property, which may be used by GML Application + Schemas whenever a GML feature has a property with a value that is substitutable for MultiSolid. + </documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryBasic0d1d.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryBasic0d1d.xsd new file mode 100644 index 00000000000..e6847a0a585 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryBasic0d1d.xsd @@ -0,0 +1,426 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:gml="http://www.opengis.net/gml" + targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:geometryBasic0d1d:3.2.0">geometryBasic0d1d.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 10. + Any geometry element that inherits the semantics of AbstractGeometryType may be viewed as a set of direct + positions. + All of the classes derived from AbstractGeometryType inherit an optional association to a coordinate reference + system. All direct positions shall directly or indirectly be associated with a coordinate reference system. When + geometry elements are aggregated in another geometry element (such as a MultiGeometry or GeometricComplex), which + already has a coordinate reference system specified, then these elements are assumed to be in that same coordinate + reference system unless otherwise specified. + The geometry model distinguishes geometric primitives, aggregates and complexes. + Geometric primitives, i.e. instances of a subtype of AbstractGeometricPrimitiveType, will be open, that is, they + will not contain their boundary points; curves will not contain their end points, surfaces will not contain their + boundary curves, and solids will not contain their bounding surfaces. + </documentation> + </annotation> + <include schemaLocation="measures.xsd"/> + <complexType name="AbstractGeometryType" abstract="true"> + <annotation> + <documentation>All geometry elements are derived directly or indirectly from this abstract supertype. A geometry + element may have an identifying attribute (gml:id), one or more names (elements identifier and name) and a + description (elements description and descriptionReference) . It may be associated with a spatial reference + system (attribute group gml:SRSReferenceGroup). + The following rules shall be adhered to: + - Every geometry type shall derive from this abstract type. + - Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the + substitution group of AbstractGeometry. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <attributeGroup ref="gml:SRSReferenceGroup"/> + </extension> + </complexContent> + </complexType> + <attributeGroup name="SRSReferenceGroup"> + <annotation> + <documentation>The attribute group SRSReferenceGroup is an optional reference to the CRS used by this geometry, + with optional additional information to simplify the processing of the coordinates when a more complete + definition of the CRS is not needed. + In general the attribute srsName points to a CRS instance of gml:AbstractCoordinateReferenceSystem. For + well-known references it is not required that the CRS description exists at the location the URI points to. + If no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element + is part of. + </documentation> + </annotation> + <attribute name="srsName" type="anyURI"/> + <attribute name="srsDimension" type="positiveInteger"/> + <attributeGroup ref="gml:SRSInformationGroup"/> + </attributeGroup> + <attributeGroup name="SRSInformationGroup"> + <annotation> + <documentation>The attributes uomLabels and axisLabels, defined in the SRSInformationGroup attribute group, are + optional additional and redundant information for a CRS to simplify the processing of the coordinate values when + a more complete definition of the CRS is not needed. This information shall be the same as included in the + complete definition of the CRS, referenced by the srsName attribute. When the srsName attribute is included, + either both or neither of the axisLabels and uomLabels attributes shall be included. When the srsName attribute + is omitted, both of these attributes shall be omitted. + The attribute axisLabels is an ordered list of labels for all the axes of this CRS. The gml:axisAbbrev value + should be used for these axis labels, after spaces and forbidden characters are removed. When the srsName + attribute is included, this attribute is optional. When the srsName attribute is omitted, this attribute shall + also be omitted. + The attribute uomLabels is an ordered list of unit of measure (uom) labels for all the axes of this CRS. The + value of the string in the gml:catalogSymbol should be used for this uom labels, after spaces and forbidden + characters are removed. When the axisLabels attribute is included, this attribute shall also be included. When + the axisLabels attribute is omitted, this attribute shall also be omitted. + </documentation> + </annotation> + <attribute name="axisLabels" type="gml:NCNameList"/> + <attribute name="uomLabels" type="gml:NCNameList"/> + </attributeGroup> + <element name="AbstractGeometry" type="gml:AbstractGeometryType" abstract="true" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The AbstractGeometry element is the abstract head of the substitution group for all geometry + elements of GML. This includes pre-defined and user-defined geometry elements. Any geometry element shall be a + direct or indirect extension/restriction of AbstractGeometryType and shall be directly or indirectly in the + substitution group of AbstractGeometry. + </documentation> + </annotation> + </element> + <complexType name="GeometryPropertyType"> + <annotation> + <documentation>A geometric property may either be any geometry element encapsulated in an element of this type or + an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in + the same or another document). Note that either the reference or the contained element shall be given, but not + both or none. + If a feature has a property that takes a geometry element as its value, this is called a geometry property. A + generic type for such a geometry property is GeometryPropertyType. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeometry"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="GeometryArrayPropertyType"> + <annotation> + <documentation>If a feature has a property which takes an array of geometry elements as its value, this is called + a geometry array property. A generic type for such a geometry property is GeometryArrayPropertyType. + The elements are always contained inline in the array property, referencing geometry elements or arrays of + geometry elements via XLinks is not supported. + </documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractGeometry"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="DirectPositionType"> + <annotation> + <documentation>Direct position instances hold the coordinates for a position within some coordinate reference + system (CRS). Since direct positions, as data types, will often be included in larger objects (such as geometry + elements) that have references to CRS, the srsName attribute will in general be missing, if this particular + direct position is included in a larger element with such a reference to a CRS. In this case, the CRS is + implicitly assumed to take on the value of the containing object's CRS. + if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element + is part of, typically a geometric object like a point, curve, etc. + </documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleList"> + <attributeGroup ref="gml:SRSReferenceGroup"/> + </extension> + </simpleContent> + </complexType> + <element name="pos" type="gml:DirectPositionType"> + <annotation> + <appinfo> + <sch:pattern name="CRS attributes constraints"> + <sch:rule id="CRSLabelsPos"> + <sch:report test="not(@srsDimension) or @srsName">The presence of a dimension attribute implies the presence + of the srsName attribute. + </sch:report> + <sch:report test="not(@axisLabels) or @srsName">The presence of an axisLabels attribute implies the presence + of the srsName attribute. + </sch:report> + <sch:report test="not(@uomLabels) or @srsName">The presence of an uomLabels attribute implies the presence + of the srsName attribute. + </sch:report> + <sch:report test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)">The presence of an + uomLabels attribute implies the presence of the axisLabels attribute and vice versa. + </sch:report> + </sch:rule> + </sch:pattern> + </appinfo> + </annotation> + </element> + <complexType name="DirectPositionListType"> + <annotation> + <documentation>posList instances (and other instances with the content model specified by DirectPositionListType) + hold the coordinates for a sequence of direct positions within the same coordinate reference system (CRS). + if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element + is part of, typically a geometric object like a point, curve, etc. + The optional attribute count specifies the number of direct positions in the list. If the attribute count is + present then the attribute srsDimension shall be present, too. + The number of entries in the list is equal to the product of the dimensionality of the coordinate reference + system (i.e. it is a derived value of the coordinate reference system definition) and the number of direct + positions. + </documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleList"> + <attributeGroup ref="gml:SRSReferenceGroup"/> + <attribute name="count" type="positiveInteger"/> + </extension> + </simpleContent> + </complexType> + <element name="posList" type="gml:DirectPositionListType"/> + <group name="geometricPositionGroup"> + <annotation> + <documentation>GML supports two different ways to specify a geometric position: either by a direct position (a + data type) or a point (a geometric object). + pos elements are positions that are “owned” by the geometric primitive encapsulating this geometric position. + pointProperty elements contain a point that may be referenced from other geometry elements or reference another + point defined elsewhere (reuse of existing points). + </documentation> + </annotation> + <choice> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + </choice> + </group> + <group name="geometricPositionListGroup"> + <annotation> + <documentation>GML supports two different ways to specify a list of geometric positions: either by a sequence of + geometric positions (by reusing the group definition) or a sequence of direct positions (element posList). + The posList element allows for a compact way to specify the coordinates of the positions, if all positions are + represented in the same coordinate reference system. + </documentation> + </annotation> + <choice> + <element ref="gml:posList"/> + <group ref="gml:geometricPositionGroup" maxOccurs="unbounded"/> + </choice> + </group> + <element name="coordinates" type="gml:CoordinatesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="VectorType"> + <annotation> + <documentation>For some applications the components of the position may be adjusted to yield a unit vector. + </documentation> + </annotation> + <simpleContent> + <restriction base="gml:DirectPositionType"/> + </simpleContent> + </complexType> + <element name="vector" type="gml:VectorType"/> + <complexType name="EnvelopeType"> + <choice> + <sequence> + <element name="lowerCorner" type="gml:DirectPositionType"/> + <element name="upperCorner" type="gml:DirectPositionType"/> + </sequence> + <element ref="gml:pos" minOccurs="2" maxOccurs="2"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element ref="gml:coordinates"/> + </choice> + <attributeGroup ref="gml:SRSReferenceGroup"/> + </complexType> + <element name="Envelope" type="gml:EnvelopeType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>Envelope defines an extent using a pair of positions defining opposite corners in arbitrary + dimensions. The first direct position is the "lower corner" (a coordinate position consisting of all the minimal + ordinates for each dimension for all points within the envelope), the second one the "upper corner" (a + coordinate position consisting of all the maximal ordinates for each dimension for all points within the + envelope). + The use of the properties “coordinates” and “pos” has been deprecated. The explicitly named properties + “lowerCorner” and “upperCorner” shall be used instead. + </documentation> + </annotation> + </element> + <complexType name="AbstractGeometricPrimitiveType" abstract="true"> + <annotation> + <documentation>gml:AbstractGeometricPrimitiveType is the abstract root type of the geometric primitives. A + geometric primitive is a geometric object that is not decomposed further into other primitives in the system. + All primitives are oriented in the direction implied by the sequence of their coordinate tuples. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"/> + </complexContent> + </complexType> + <element name="AbstractGeometricPrimitive" type="gml:AbstractGeometricPrimitiveType" abstract="true" + substitutionGroup="gml:AbstractGeometry"> + <annotation> + <documentation>The AbstractGeometricPrimitive element is the abstract head of the substitution group for all (pre- + and user-defined) geometric primitives. + </documentation> + </annotation> + </element> + <complexType name="GeometricPrimitivePropertyType"> + <annotation> + <documentation>A property that has a geometric primitive as its value domain may either be an appropriate geometry + element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote + includes geometry elements located elsewhere in the same document). Either the reference or the contained + element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeometricPrimitive"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="PointType"> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"> + <sequence> + <choice> + <element ref="gml:pos"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Point" type="gml:PointType" substitutionGroup="gml:AbstractGeometricPrimitive"> + <annotation> + <documentation>A Point is defined by a single coordinate tuple. The direct position of a point is specified by the + pos element which is of type DirectPositionType. + </documentation> + </annotation> + </element> + <complexType name="PointPropertyType"> + <annotation> + <documentation>A property that has a point as its value domain may either be an appropriate geometry element + encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote + includes geometry elements located elsewhere in the same document). Either the reference or the contained + element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:Point"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="pointProperty" type="gml:PointPropertyType"> + <annotation> + <documentation>This property element either references a point via the XLink-attributes or contains the point + element. pointProperty is the predefined property which may be used by GML Application Schemas whenever a GML + feature has a property with a value that is substitutable for Point. + </documentation> + </annotation> + </element> + <element name="pointRep" type="gml:PointPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="PointArrayPropertyType"> + <annotation> + <documentation>gml:PointArrayPropertyType is a container for an array of points. The elements are always contained + inline in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not + supported. + </documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:Point"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="pointArrayProperty" type="gml:PointArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of point elements. pointArrayProperty is the predefined + property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is + substitutable for a list of points. + </documentation> + </annotation> + </element> + <complexType name="AbstractCurveType" abstract="true"> + <annotation> + <documentation>gml:AbstractCurveType is an abstraction of a curve to support the different levels of complexity. + The curve may always be viewed as a geometric primitive, i.e. is continuous. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"/> + </complexContent> + </complexType> + <element name="AbstractCurve" type="gml:AbstractCurveType" abstract="true" + substitutionGroup="gml:AbstractGeometricPrimitive"> + <annotation> + <documentation>The AbstractCurve element is the abstract head of the substitution group for all (continuous) curve + elements. + </documentation> + </annotation> + </element> + <complexType name="CurvePropertyType"> + <annotation> + <documentation>A property that has a curve as its value domain may either be an appropriate geometry element + encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote + includes geometry elements located elsewhere in the same document). Either the reference or the contained + element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractCurve"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="curveProperty" type="gml:CurvePropertyType"> + <annotation> + <documentation>This property element either references a curve via the XLink-attributes or contains the curve + element. curveProperty is the predefined property which may be used by GML Application Schemas whenever a GML + feature has a property with a value that is substitutable for AbstractCurve. + </documentation> + </annotation> + </element> + <complexType name="CurveArrayPropertyType"> + <annotation> + <documentation>A container for an array of curves. The elements are always contained in the array property, + referencing geometry elements or arrays of geometry elements via XLinks is not supported. + </documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractCurve"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="curveArrayProperty" type="gml:CurveArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of curve elements. curveArrayProperty is the predefined + property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is + substitutable for a list of curves. + </documentation> + </annotation> + </element> + <complexType name="LineStringType"> + <complexContent> + <extension base="gml:AbstractCurveType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="LineString" type="gml:LineStringType" substitutionGroup="gml:AbstractCurve"> + <annotation> + <documentation>A LineString is a special curve that consists of a single segment with linear interpolation. It is + defined by two or more coordinate tuples, with linear interpolation between them. The number of direct positions + in the list shall be at least two. + </documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryBasic2d.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryBasic2d.xsd new file mode 100644 index 00000000000..2f4731f8270 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryBasic2d.xsd @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" + targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:geometryBasic2d:3.2.0">geometryBasic2d.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 10.</documentation> + </annotation> + <include schemaLocation="geometryBasic0d1d.xsd"/> + <complexType name="AbstractSurfaceType" abstract="true"> + <annotation> + <documentation>gml:AbstractSurfaceType is an abstraction of a surface to support the different levels of + complexity. A surface is always a continuous region of a plane. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"/> + </complexContent> + </complexType> + <element name="AbstractSurface" type="gml:AbstractSurfaceType" abstract="true" + substitutionGroup="gml:AbstractGeometricPrimitive"> + <annotation> + <documentation>The AbstractSurface element is the abstract head of the substitution group for all (continuous) + surface elements. + </documentation> + </annotation> + </element> + <complexType name="SurfacePropertyType"> + <annotation> + <documentation>A property that has a surface as its value domain may either be an appropriate geometry element + encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote + includes geometry elements located elsewhere in the same document). Either the reference or the contained + element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractSurface"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="surfaceProperty" type="gml:SurfacePropertyType"> + <annotation> + <documentation>This property element either references a surface via the XLink-attributes or contains the surface + element. surfaceProperty is the predefined property which may be used by GML Application Schemas whenever a GML + feature has a property with a value that is substitutable for AbstractSurface. + </documentation> + </annotation> + </element> + <complexType name="SurfaceArrayPropertyType"> + <annotation> + <documentation>gml:SurfaceArrayPropertyType is a container for an array of surfaces. The elements are always + contained in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not + supported. + </documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractSurface"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="surfaceArrayProperty" type="gml:SurfaceArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of surface elements. surfaceArrayProperty is the predefined + property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is + substitutable for a list of AbstractSurfaces. + </documentation> + </annotation> + </element> + <complexType name="PolygonType"> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:exterior" minOccurs="0"/> + <element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Polygon" type="gml:PolygonType" substitutionGroup="gml:AbstractSurface"> + <annotation> + <documentation>A Polygon is a special surface that is defined by a single surface patch (see D.3.6). The boundary + of this patch is coplanar and the polygon uses planar interpolation in its interior. + The elements exterior and interior describe the surface boundary of the polygon. + </documentation> + </annotation> + </element> + <element name="exterior" type="gml:AbstractRingPropertyType"> + <annotation> + <documentation>A boundary of a surface consists of a number of rings. In the normal 2D case, one of these rings is + distinguished as being the exterior boundary. In a general manifold this is not always possible, in which case + all boundaries shall be listed as interior boundaries, and the exterior will be empty. + </documentation> + </annotation> + </element> + <element name="interior" type="gml:AbstractRingPropertyType"> + <annotation> + <documentation>A boundary of a surface consists of a number of rings. The "interior" rings separate the surface / + surface patch from the area enclosed by the rings. + </documentation> + </annotation> + </element> + <complexType name="AbstractRingType" abstract="true"> + <sequence/> + </complexType> + <element name="AbstractRing" type="gml:AbstractRingType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>An abstraction of a ring to support surface boundaries of different complexity. + The AbstractRing element is the abstract head of the substituition group for all closed boundaries of a surface + patch. + </documentation> + </annotation> + </element> + <complexType name="AbstractRingPropertyType"> + <annotation> + <documentation>A property with the content model of gml:AbstractRingPropertyType encapsulates a ring to represent + the surface boundary property of a surface. + </documentation> + </annotation> + <sequence> + <element ref="gml:AbstractRing"/> + </sequence> + </complexType> + <complexType name="LinearRingType"> + <complexContent> + <extension base="gml:AbstractRingType"> + <sequence> + <choice> + <choice minOccurs="4" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="LinearRing" type="gml:LinearRingType" substitutionGroup="gml:AbstractRing"> + <annotation> + <documentation>A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; + the first and last coordinates shall be coincident. The number of direct positions in the list shall be at least + four. + </documentation> + </annotation> + </element> + <complexType name="LinearRingPropertyType"> + <annotation> + <documentation>A property with the content model of gml:LinearRingPropertyType encapsulates a linear ring to + represent a component of a surface boundary. + </documentation> + </annotation> + <sequence> + <element ref="gml:LinearRing"/> + </sequence> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryComplexes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryComplexes.xsd new file mode 100644 index 00000000000..48c180251e2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryComplexes.xsd @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" + targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:geometryComplexes:3.2.0">geometryComplexes.xsd</appinfo> + <documentation>See ISO/DIS 19136 12.2. + Geometric complexes (i.e. instances of gml:GeometricComplexType) are closed collections of geometric primitives, + i.e. they will contain their boundaries. + A geometric complex (gml:GeometricComplex) is defined by ISO 19107:2003, 6.6.1 as “a set of primitive geometric + objects (in a common coordinate system) whose interiors are disjoint. Further, if a primitive is in a geometric + complex, then there exists a set of primitives in that complex whose point-wise union is the boundary of this + first primitive.” + A geometric composite (gml:CompositeCurve, gml:CompositeSurface and gml:CompositeSolid) represents a geometric + complex with an underlying core geometry that is isomorphic to a primitive, i.e. it can be viewed as a primitive + and as a complex. See ISO 19107:2003, 6.1 and 6.6.3 for more details on the nature of composite geometries. + Geometric complexes and composites are intended to be used in application schemas where the sharing of geometry is + important. + </documentation> + </annotation> + <include schemaLocation="geometryAggregates.xsd"/> + <complexType name="GeometricComplexType"> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <element name="element" type="gml:GeometricPrimitivePropertyType" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="GeometricComplex" type="gml:GeometricComplexType" substitutionGroup="gml:AbstractGeometry"/> + <complexType name="GeometricComplexPropertyType"> + <annotation> + <documentation>A property that has a geometric complex as its value domain may either be an appropriate geometry + element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote + includes geometry elements located elsewhere in the same document). Either the reference or the contained + element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <choice> + <element ref="gml:GeometricComplex"/> + <element ref="gml:CompositeCurve"/> + <element ref="gml:CompositeSurface"/> + <element ref="gml:CompositeSolid"/> + </choice> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="CompositeCurveType"> + <complexContent> + <extension base="gml:AbstractCurveType"> + <sequence> + <element ref="gml:curveMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="CompositeCurve" type="gml:CompositeCurveType" substitutionGroup="gml:AbstractCurve"> + <annotation> + <documentation>A gml:CompositeCurve is represented by a sequence of (orientable) curves such that each curve in + the sequence terminates at the start point of the subsequent curve in the list. + curveMember references or contains inline one curve in the composite curve. + The curves are contiguous, the collection of curves is ordered. Therefore, if provided, the aggregationType + attribute shall have the value “sequence”. + </documentation> + </annotation> + </element> + <complexType name="CompositeSurfaceType"> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:surfaceMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="CompositeSurface" type="gml:CompositeSurfaceType" substitutionGroup="gml:AbstractSurface"> + <annotation> + <documentation>A gml:CompositeSurface is represented by a set of orientable surfaces. It is geometry type with all + the geometric properties of a (primitive) surface. Essentially, a composite surface is a collection of surfaces + that join in pairs on common boundary curves and which, when considered as a whole, form a single surface. + surfaceMember references or contains inline one surface in the composite surface. + The surfaces are contiguous. + </documentation> + </annotation> + </element> + <complexType name="CompositeSolidType"> + <complexContent> + <extension base="gml:AbstractSolidType"> + <sequence> + <element ref="gml:solidMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="CompositeSolid" type="gml:CompositeSolidType" substitutionGroup="gml:AbstractSolid"> + <annotation> + <documentation>gml:CompositeSolid implements ISO 19107 GM_CompositeSolid (see ISO 19107:2003, 6.6.7) as specified + in D.2.3.6. + A gml:CompositeSolid is represented by a set of orientable surfaces. It is a geometry type with all the + geometric properties of a (primitive) solid. Essentially, a composite solid is a collection of solids that join + in pairs on common boundary surfaces and which, when considered as a whole, form a single solid. + solidMember references or contains one solid in the composite solid. The solids are contiguous. + </documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryPrimitives.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryPrimitives.xsd new file mode 100644 index 00000000000..dfed44ce661 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/geometryPrimitives.xsd @@ -0,0 +1,1040 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:geometryPrimitives:3.2.0">geometryPrimitives.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 11. + Beside the “simple” geometric primitives specified in the previous Clause, this Clause specifies additional + primitives to describe real world situations which require a more expressive geometry model. + </documentation> + </annotation> + <include schemaLocation="geometryBasic2d.xsd"/> + <complexType name="CurveType"> + <complexContent> + <extension base="gml:AbstractCurveType"> + <sequence> + <element ref="gml:segments"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Curve" type="gml:CurveType" substitutionGroup="gml:AbstractCurve"> + <annotation> + <documentation>A curve is a 1-dimensional primitive. Curves are continuous, connected, and have a measurable + length in terms of the coordinate system. + A curve is composed of one or more curve segments. Each curve segment within a curve may be defined using a + different interpolation method. The curve segments are connected to one another, with the end point of each + segment except the last being the start point of the next segment in the segment list. + The orientation of the curve is positive. + The element segments encapsulates the segments of the curve. + </documentation> + </annotation> + </element> + <complexType name="OrientableCurveType"> + <complexContent> + <extension base="gml:AbstractCurveType"> + <sequence> + <element ref="gml:baseCurve"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + </extension> + </complexContent> + </complexType> + <element name="baseCurve" type="gml:CurvePropertyType"> + <annotation> + <documentation>The property baseCurve references or contains the base curve, i.e. it either references the base + curve via the XLink-attributes or contains the curve element. A curve element is any element which is + substitutable for AbstractCurve. The base curve has positive orientation. + </documentation> + </annotation> + </element> + <element name="OrientableCurve" type="gml:OrientableCurveType" substitutionGroup="gml:AbstractCurve"> + <annotation> + <documentation>OrientableCurve consists of a curve and an orientation. If the orientation is "+", then the + OrientableCurve is identical to the baseCurve. If the orientation is "-", then the OrientableCurve is related to + another AbstractCurve with a parameterization that reverses the sense of the curve traversal. + </documentation> + </annotation> + </element> + <complexType name="AbstractCurveSegmentType" abstract="true"> + <attribute name="numDerivativesAtStart" type="integer" default="0"/> + <attribute name="numDerivativesAtEnd" type="integer" default="0"/> + <attribute name="numDerivativeInterior" type="integer" default="0"/> + </complexType> + <element name="AbstractCurveSegment" type="gml:AbstractCurveSegmentType" abstract="true" + substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>A curve segment defines a homogeneous segment of a curve. + The attributes numDerivativesAtStart, numDerivativesAtEnd and numDerivativesInterior specify the type of + continuity as specified in ISO 19107:2003, 6.4.9.3. + The AbstractCurveSegment element is the abstract head of the substituition group for all curve segment elements, + i.e. continuous segments of the same interpolation mechanism. + All curve segments shall have an attribute interpolation with type gml:CurveInterpolationType specifying the + curve interpolation mechanism used for this segment. This mechanism uses the control points and control + parameters to determine the position of this curve segment. + </documentation> + </annotation> + </element> + <complexType name="CurveSegmentArrayPropertyType"> + <annotation> + <documentation>gml:CurveSegmentArrayPropertyType is a container for an array of curve segments.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractCurveSegment"/> + </sequence> + </complexType> + <element name="segments" type="gml:CurveSegmentArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of curve segments. The order of the elements is significant + and shall be preserved when processing the array. + </documentation> + </annotation> + </element> + <simpleType name="CurveInterpolationType"> + <annotation> + <documentation>gml:CurveInterpolationType is a list of codes that may be used to identify the interpolation + mechanisms specified by an application schema. + </documentation> + </annotation> + <restriction base="string"> + <enumeration value="linear"/> + <enumeration value="geodesic"/> + <enumeration value="circularArc3Points"/> + <enumeration value="circularArc2PointWithBulge"/> + <enumeration value="circularArcCenterPointWithRadius"/> + <enumeration value="elliptical"/> + <enumeration value="clothoid"/> + <enumeration value="conic"/> + <enumeration value="polynomialSpline"/> + <enumeration value="cubicSpline"/> + <enumeration value="rationalSpline"/> + </restriction> + </simpleType> + <complexType name="LineStringSegmentType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="linear"/> + </extension> + </complexContent> + </complexType> + <element name="LineStringSegment" type="gml:LineStringSegmentType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>A LineStringSegment is a curve segment that is defined by two or more control points including the + start and end point, with linear interpolation between them. + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="ArcStringType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="3" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + <attribute name="numArc" type="integer"/> + </extension> + </complexContent> + </complexType> + <element name="ArcString" type="gml:ArcStringType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>An ArcString is a curve segment that uses three-point circular arc interpolation + (“circularArc3Points”). The number of arcs in the arc string may be explicitly stated in the attribute numArc. + The number of control points in the arc string shall be 2 * numArc + 1. + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="ArcType"> + <complexContent> + <restriction base="gml:ArcStringType"> + <sequence> + <choice> + <choice minOccurs="3" maxOccurs="3"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + <attribute name="numArc" type="integer" fixed="1"/> + </restriction> + </complexContent> + </complexType> + <element name="Arc" type="gml:ArcType" substitutionGroup="gml:ArcString"> + <annotation> + <documentation>An Arc is an arc string with only one arc unit, i.e. three control points including the start and + end point. As arc is an arc string consisting of a single arc, the attribute “numArc” is fixed to "1". + </documentation> + </annotation> + </element> + <complexType name="CircleType"> + <complexContent> + <extension base="gml:ArcType"/> + </complexContent> + </complexType> + <element name="Circle" type="gml:CircleType" substitutionGroup="gml:Arc"> + <annotation> + <documentation>A Circle is an arc whose ends coincide to form a simple closed loop. The three control points shall + be distinct non-co-linear points for the circle to be unambiguously defined. The arc is simply extended past the + third control point until the first control point is encountered. + </documentation> + </annotation> + </element> + <complexType name="ArcStringByBulgeType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="bulge" type="double" maxOccurs="unbounded"/> + <element name="normal" type="gml:VectorType" maxOccurs="unbounded"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc2PointWithBulge"/> + <attribute name="numArc" type="integer"/> + </extension> + </complexContent> + </complexType> + <element name="ArcStringByBulge" type="gml:ArcStringByBulgeType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>This variant of the arc computes the mid points of the arcs instead of storing the coordinates + directly. The control point sequence consists of the start and end points of each arc plus the bulge (see ISO + 19107:2003, 6.4.17.2). The normal is a vector normal (perpendicular) to the chord of the arc (see ISO + 19107:2003, 6.4.17.4). + The interpolation is fixed as "circularArc2PointWithBulge". + The number of arcs in the arc string may be explicitly stated in the attribute numArc. The number of control + points in the arc string shall be numArc + 1. + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="ArcByBulgeType"> + <complexContent> + <restriction base="gml:ArcStringByBulgeType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="2"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="bulge" type="double"/> + <element name="normal" type="gml:VectorType"/> + </sequence> + <attribute name="numArc" type="integer" fixed="1"/> + </restriction> + </complexContent> + </complexType> + <element name="ArcByBulge" type="gml:ArcByBulgeType" substitutionGroup="gml:ArcStringByBulge"> + <annotation> + <documentation>An ArcByBulge is an arc string with only one arc unit, i.e. two control points, one bulge and one + normal vector. + As arc is an arc string consisting of a single arc, the attribute “numArc” is fixed to "1". + </documentation> + </annotation> + </element> + <complexType name="ArcByCenterPointType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="radius" type="gml:LengthType"/> + <element name="startAngle" type="gml:AngleType" minOccurs="0"/> + <element name="endAngle" type="gml:AngleType" minOccurs="0"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArcCenterPointWithRadius"/> + <attribute name="numArc" type="integer" use="required" fixed="1"/> + </extension> + </complexContent> + </complexType> + <element name="ArcByCenterPoint" type="gml:ArcByCenterPointType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>This variant of the arc requires that the points on the arc shall be computed instead of storing + the coordinates directly. The single control point is the center point of the arc plus the radius and the + bearing at start and end. This representation can be used only in 2D. + The element radius specifies the radius of the arc. + The element startAngle specifies the bearing of the arc at the start. + The element endAngle specifies the bearing of the arc at the end. + The interpolation is fixed as "circularArcCenterPointWithRadius". + Since this type describes always a single arc, the attribute “numArc” is fixed to "1". + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="CircleByCenterPointType"> + <complexContent> + <restriction base="gml:ArcByCenterPointType"> + <sequence> + <choice> + <choice> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="radius" type="gml:LengthType"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="CircleByCenterPoint" type="gml:CircleByCenterPointType" substitutionGroup="gml:ArcByCenterPoint"> + <annotation> + <documentation>A gml:CircleByCenterPoint is an gml:ArcByCenterPoint with identical start and end angle to form a + full circle. Again, this representation can be used only in 2D. + </documentation> + </annotation> + </element> + <complexType name="CubicSplineType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="vectorAtStart" type="gml:VectorType"/> + <element name="vectorAtEnd" type="gml:VectorType"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="cubicSpline"/> + <attribute name="degree" type="integer" fixed="3"/> + </extension> + </complexContent> + </complexType> + <element name="CubicSpline" type="gml:CubicSplineType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>The number of control points shall be at least three. + vectorAtStart is the unit tangent vector at the start point of the spline. vectorAtEnd is the unit tangent + vector at the end point of the spline. Only the direction of the vectors shall be used to determine the shape of + the cubic spline, not their length. + interpolation is fixed as "cubicSpline". + degree shall be the degree of the polynomial used for the interpolation in this spline. Therefore the degree for + a cubic spline is fixed to "3". + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="BSplineType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="degree" type="nonNegativeInteger"/> + <element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="unbounded"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" default="polynomialSpline"/> + <attribute name="isPolynomial" type="boolean"/> + <attribute name="knotType" type="gml:KnotTypesType"/> + </extension> + </complexContent> + </complexType> + <element name="BSpline" type="gml:BSplineType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>A B-Spline is a piecewise parametric polynomial or rational curve described in terms of control + points and basis functions as specified in ISO 19107:2003, 6.4.30. Therefore, interpolation may be either + "polynomialSpline" or "rationalSpline" depending on the interpolation type; default is "polynomialSpline". + degree shall be the degree of the polynomial used for interpolation in this spline. + knot shall be the sequence of distinct knots used to define the spline basis functions (see ISO 19107:2003, + 6.4.26.2). + The attribute isPolynomial shall be set to “true” if this is a polynomial spline (see ISO 19107:2003, 6.4.30.5). + The attribute knotType shall provide the type of knot distribution used in defining this spline (see ISO + 19107:2003, 6.4.30.4). + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="KnotType"> + <sequence> + <element name="value" type="double"/> + <element name="multiplicity" type="nonNegativeInteger"/> + <element name="weight" type="double"/> + </sequence> + </complexType> + <complexType name="KnotPropertyType"> + <annotation> + <documentation>gml:KnotPropertyType encapsulates a knot to use it in a geometric type.</documentation> + </annotation> + <sequence> + <element name="Knot" type="gml:KnotType"> + <annotation> + <documentation>A knot is a breakpoint on a piecewise spline curve. + value is the value of the parameter at the knot of the spline (see ISO 19107:2003, 6.4.24.2). + multiplicity is the multiplicity of this knot used in the definition of the spline (with the same weight). + weight is the value of the averaging weight used for this knot of the spline. + </documentation> + </annotation> + </element> + </sequence> + </complexType> + <simpleType name="KnotTypesType"> + <annotation> + <documentation>This enumeration type specifies values for the knots’ type (see ISO 19107:2003, 6.4.25). + </documentation> + </annotation> + <restriction base="string"> + <enumeration value="uniform"/> + <enumeration value="quasiUniform"/> + <enumeration value="piecewiseBezier"/> + </restriction> + </simpleType> + <complexType name="BezierType"> + <complexContent> + <restriction base="gml:BSplineType"> + <sequence> + <choice> + <choice minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="degree" type="nonNegativeInteger"/> + <element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="2"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="polynomialSpline"/> + <attribute name="isPolynomial" type="boolean" fixed="true"/> + <attribute name="knotType" type="gml:KnotTypesType" use="prohibited"/> + </restriction> + </complexContent> + </complexType> + <element name="Bezier" type="gml:BezierType" substitutionGroup="gml:BSpline"> + <annotation> + <documentation>Bezier curves are polynomial splines that use Bezier or Bernstein polynomials for interpolation + purposes. It is a special case of the B-Spline curve with two knots. + degree shall be the degree of the polynomial used for interpolation in this spline. + knot shall be the sequence of distinct knots used to define the spline basis functions. + interpolation is fixed as "polynomialSpline". + isPolynomial is fixed as “true”. + knotType is not relevant for Bezier curve segments. + </documentation> + </annotation> + </element> + <complexType name="OffsetCurveType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <element name="offsetBase" type="gml:CurvePropertyType"/> + <element name="distance" type="gml:LengthType"/> + <element name="refDirection" type="gml:VectorType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="OffsetCurve" type="gml:OffsetCurveType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>An offset curve is a curve at a constant distance from the basis curve. offsetBase is the base + curve from which this curve is defined as an offset. distance and refDirection have the same meaning as + specified in ISO 19107:2003, 6.4.23. + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="AffinePlacementType"> + <sequence> + <element name="location" type="gml:DirectPositionType"/> + <element name="refDirection" type="gml:VectorType" maxOccurs="unbounded"/> + <element name="inDimension" type="positiveInteger"/> + <element name="outDimension" type="positiveInteger"/> + </sequence> + </complexType> + <element name="AffinePlacement" type="gml:AffinePlacementType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>location, refDirection, inDimension and outDimension have the same meaning as specified in ISO + 19107:2003, 6.4.21. + </documentation> + </annotation> + </element> + <complexType name="ClothoidType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <element name="refLocation"> + <complexType> + <sequence> + <element ref="gml:AffinePlacement"/> + </sequence> + </complexType> + </element> + <element name="scaleFactor" type="decimal"/> + <element name="startParameter" type="double"/> + <element name="endParameter" type="double"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="clothoid"/> + </extension> + </complexContent> + </complexType> + <element name="Clothoid" type="gml:ClothoidType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>A clothoid, or Cornu's spiral, is plane curve whose curvature is a fixed function of its length. + refLocation, startParameter, endParameter and scaleFactor have the same meaning as specified in ISO 19107:2003, + 6.4.22. + interpolation is fixed as "clothoid". + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="GeodesicStringType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <choice> + <element ref="gml:posList"/> + <group ref="gml:geometricPositionGroup" minOccurs="2" maxOccurs="unbounded"/> + </choice> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="geodesic"/> + </extension> + </complexContent> + </complexType> + <element name="GeodesicString" type="gml:GeodesicStringType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>A sequence of geodesic segments. + The number of control points shall be at least two. + interpolation is fixed as "geodesic". + The content model follows the general pattern for the encoding of curve segments. + </documentation> + </annotation> + </element> + <complexType name="GeodesicType"> + <complexContent> + <extension base="gml:GeodesicStringType"/> + </complexContent> + </complexType> + <element name="Geodesic" type="gml:GeodesicType" substitutionGroup="gml:GeodesicString"/> + <complexType name="SurfaceType"> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:patches"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Surface" type="gml:SurfaceType" substitutionGroup="gml:AbstractSurface"> + <annotation> + <documentation>A Surface is a 2-dimensional primitive and is composed of one or more surface patches as specified + in ISO 19107:2003, 6.3.17.1. The surface patches are connected to one another. + patches encapsulates the patches of the surface. + </documentation> + </annotation> + </element> + <complexType name="OrientableSurfaceType"> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:baseSurface"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + </extension> + </complexContent> + </complexType> + <element name="baseSurface" type="gml:SurfacePropertyType"> + <annotation> + <documentation>The property baseSurface references or contains the base surface. The property baseSurface either + references the base surface via the XLink-attributes or contains the surface element. A surface element is any + element which is substitutable for gml:AbstractSurface. The base surface has positive orientation. + </documentation> + </annotation> + </element> + <element name="OrientableSurface" type="gml:OrientableSurfaceType" substitutionGroup="gml:AbstractSurface"> + <annotation> + <documentation>OrientableSurface consists of a surface and an orientation. If the orientation is "+", then the + OrientableSurface is identical to the baseSurface. If the orientation is "-", then the OrientableSurface is a + reference to a gml:AbstractSurface with an up-normal that reverses the direction for this OrientableSurface, the + sense of "the top of the surface". + </documentation> + </annotation> + </element> + <complexType name="AbstractSurfacePatchType" abstract="true"/> + <element name="AbstractSurfacePatch" type="gml:AbstractSurfacePatchType" abstract="true"> + <annotation> + <documentation>A surface patch defines a homogenuous portion of a surface. + The AbstractSurfacePatch element is the abstract head of the substituition group for all surface patch elements + describing a continuous portion of a surface. + All surface patches shall have an attribute interpolation (declared in the types derived from + gml:AbstractSurfacePatchType) specifying the interpolation mechanism used for the patch using + gml:SurfaceInterpolationType. + </documentation> + </annotation> + </element> + <complexType name="SurfacePatchArrayPropertyType"> + <annotation> + <documentation>gml:SurfacePatchArrayPropertyType is a container for a sequence of surface patches.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractSurfacePatch"/> + </sequence> + </complexType> + <element name="patches" type="gml:SurfacePatchArrayPropertyType"> + <annotation> + <documentation>The patches property element contains the sequence of surface patches. The order of the elements is + significant and shall be preserved when processing the array. + </documentation> + </annotation> + </element> + <simpleType name="SurfaceInterpolationType"> + <annotation> + <documentation>gml:SurfaceInterpolationType is a list of codes that may be used to identify the interpolation + mechanisms specified by an application schema. + </documentation> + </annotation> + <restriction base="string"> + <enumeration value="none"/> + <enumeration value="planar"/> + <enumeration value="spherical"/> + <enumeration value="elliptical"/> + <enumeration value="conic"/> + <enumeration value="tin"/> + <enumeration value="parametricCurve"/> + <enumeration value="polynomialSpline"/> + <enumeration value="rationalSpline"/> + <enumeration value="triangulatedSpline"/> + </restriction> + </simpleType> + <complexType name="PolygonPatchType"> + <complexContent> + <extension base="gml:AbstractSurfacePatchType"> + <sequence> + <element ref="gml:exterior" minOccurs="0"/> + <element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> + </extension> + </complexContent> + </complexType> + <element name="PolygonPatch" type="gml:PolygonPatchType" substitutionGroup="gml:AbstractSurfacePatch"> + <annotation> + <documentation>A gml:PolygonPatch is a surface patch that is defined by a set of boundary curves and an underlying + surface to which these curves adhere. The curves shall be coplanar and the polygon uses planar interpolation in + its interior. + interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of + the patch shall be contained within that plane. + </documentation> + </annotation> + </element> + <complexType name="TriangleType"> + <complexContent> + <extension base="gml:AbstractSurfacePatchType"> + <sequence> + <element ref="gml:exterior"/> + </sequence> + <attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> + </extension> + </complexContent> + </complexType> + <element name="Triangle" type="gml:TriangleType" substitutionGroup="gml:AbstractSurfacePatch"> + <annotation> + <documentation>gml:Triangle represents a triangle as a surface patch with an outer boundary consisting of a linear + ring. Note that this is a polygon (subtype) with no inner boundaries. The number of points in the linear ring + shall be four. + The ring (element exterior) shall be a gml:LinearRing and shall form a triangle, the first and the last position + shall be coincident. + interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of + the patch shall be contained within that plane. + </documentation> + </annotation> + </element> + <complexType name="RectangleType"> + <complexContent> + <extension base="gml:AbstractSurfacePatchType"> + <sequence> + <element ref="gml:exterior"/> + </sequence> + <attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> + </extension> + </complexContent> + </complexType> + <element name="Rectangle" type="gml:RectangleType" substitutionGroup="gml:AbstractSurfacePatch"> + <annotation> + <documentation>gml:Rectangle represents a rectangle as a surface patch with an outer boundary consisting of a + linear ring. Note that this is a polygon (subtype) with no inner boundaries. The number of points in the linear + ring shall be five. + The ring (element exterior) shall be a gml:LinearRing and shall form a rectangle; the first and the last + position shall be coincident. + interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of + the patch shall be contained within that plane. + </documentation> + </annotation> + </element> + <complexType name="RingType"> + <complexContent> + <extension base="gml:AbstractRingType"> + <sequence> + <element ref="gml:curveMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="Ring" type="gml:RingType" substitutionGroup="gml:AbstractRing"> + <annotation> + <documentation>A ring is used to represent a single connected component of a surface boundary as specified in ISO + 19107:2003, 6.3.6. + Every gml:curveMember references or contains one curve, i.e. any element which is substitutable for + gml:AbstractCurve. In the context of a ring, the curves describe the boundary of the surface. The sequence of + curves shall be contiguous and connected in a cycle. + If provided, the aggregationType attribute shall have the value “sequence”. + </documentation> + </annotation> + </element> + <element name="curveMember" type="gml:CurvePropertyType"/> + <complexType name="RingPropertyType"> + <annotation> + <documentation>A property with the content model of gml:RingPropertyType encapsulates a ring to represent a + component of a surface boundary. + </documentation> + </annotation> + <sequence> + <element ref="gml:Ring"/> + </sequence> + </complexType> + <group name="PointGrid"> + <annotation> + <documentation>A gml:PointGrid group contains or references points or positions which are organised into sequences + or grids. All rows shall have the same number of positions (columns). + </documentation> + </annotation> + <sequence> + <element name="rows"> + <complexType> + <sequence> + <element name="Row" maxOccurs="unbounded"> + <complexType> + <group ref="gml:geometricPositionListGroup"/> + </complexType> + </element> + </sequence> + </complexType> + </element> + </sequence> + </group> + <complexType name="AbstractParametricCurveSurfaceType" abstract="true"> + <complexContent> + <extension base="gml:AbstractSurfacePatchType"> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="AbstractParametricCurveSurface" type="gml:AbstractParametricCurveSurfaceType" abstract="true" + substitutionGroup="gml:AbstractSurfacePatch"> + <annotation> + <documentation>The element provides a substitution group head for the surface patches based on parametric curves. + All properties are specified in the derived subtypes. All derived subtypes shall conform to the constraints + specified in ISO 19107:2003, 6.4.40. + If provided, the aggregationType attribute shall have the value “set”. + </documentation> + </annotation> + </element> + <complexType name="AbstractGriddedSurfaceType" abstract="true"> + <complexContent> + <extension base="gml:AbstractParametricCurveSurfaceType"> + <sequence> + <group ref="gml:PointGrid"/> + </sequence> + <attribute name="rows" type="integer"/> + <attribute name="columns" type="integer"/> + </extension> + </complexContent> + </complexType> + <element name="AbstractGriddedSurface" type="gml:AbstractGriddedSurfaceType" abstract="true" + substitutionGroup="gml:AbstractParametricCurveSurface"> + <annotation> + <documentation>if provided, rows gives the number of rows, columns the number of columns in the parameter grid. + The parameter grid is represented by an instance of the gml:PointGrid group. + The element provides a substitution group head for the surface patches based on a grid. All derived subtypes + shall conform to the constraints specified in ISO 19107:2003, 6.4.41. + </documentation> + </annotation> + </element> + <complexType name="ConeType"> + <complexContent> + <extension base="gml:AbstractGriddedSurfaceType"> + <attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + <attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="linear"/> + </extension> + </complexContent> + </complexType> + <element name="Cone" type="gml:ConeType" substitutionGroup="gml:AbstractGriddedSurface"/> + <complexType name="CylinderType"> + <complexContent> + <extension base="gml:AbstractGriddedSurfaceType"> + <attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + <attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="linear"/> + </extension> + </complexContent> + </complexType> + <element name="Cylinder" type="gml:CylinderType" substitutionGroup="gml:AbstractGriddedSurface"/> + <complexType name="SphereType"> + <complexContent> + <extension base="gml:AbstractGriddedSurfaceType"> + <attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + <attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + </extension> + </complexContent> + </complexType> + <element name="Sphere" type="gml:SphereType" substitutionGroup="gml:AbstractGriddedSurface"/> + <complexType name="PolyhedralSurfaceType"> + <complexContent> + <restriction base="gml:SurfaceType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:polygonPatches"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="polygonPatches" type="gml:PolygonPatchArrayPropertyType" substitutionGroup="gml:patches"/> + <element name="PolyhedralSurface" type="gml:PolyhedralSurfaceType" substitutionGroup="gml:Surface"> + <annotation> + <documentation>A polyhedral surface is a surface composed of polygon patches connected along their common boundary + curves. This differs from the surface type only in the restriction on the types of surface patches acceptable. + polygonPatches encapsulates the polygon patches of the polyhedral surface. + </documentation> + </annotation> + </element> + <complexType name="PolygonPatchArrayPropertyType"> + <annotation> + <documentation>gml:PolygonPatchArrayPropertyType provides a container for an array of polygon patches. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:SurfacePatchArrayPropertyType"> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:PolygonPatch"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <complexType name="TriangulatedSurfaceType"> + <complexContent> + <restriction base="gml:SurfaceType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:trianglePatches"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="trianglePatches" type="gml:TrianglePatchArrayPropertyType" substitutionGroup="gml:patches"/> + <element name="TriangulatedSurface" type="gml:TriangulatedSurfaceType" substitutionGroup="gml:Surface"> + <annotation> + <documentation>A triangulated surface is a polyhedral surface that is composed only of triangles. There is no + restriction on how the triangulation is derived. + trianglePatches encapsulates the triangles of the triangulated surface. + </documentation> + </annotation> + </element> + <complexType name="TrianglePatchArrayPropertyType"> + <annotation> + <documentation>gml:TrianglePatchArrayPropertyType provides a container for an array of triangle patches. + </documentation> + </annotation> + <complexContent> + <restriction base="gml:SurfacePatchArrayPropertyType"> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:Triangle"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <complexType name="TinType"> + <complexContent> + <extension base="gml:TriangulatedSurfaceType"> + <sequence> + <element name="stopLines" type="gml:LineStringSegmentArrayPropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="breakLines" type="gml:LineStringSegmentArrayPropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="maxLength" type="gml:LengthType"/> + <element name="controlPoint"> + <complexType> + <choice> + <element ref="gml:posList"/> + <group ref="gml:geometricPositionGroup" minOccurs="3" maxOccurs="unbounded"/> + </choice> + </complexType> + </element> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Tin" type="gml:TinType" substitutionGroup="gml:TriangulatedSurface"> + <annotation> + <documentation>A tin is a triangulated surface that uses the Delauny algorithm or a similar algorithm complemented + with consideration of stoplines (stopLines), breaklines (breakLines), and maximum length of triangle sides + (maxLength). controlPoint shall contain a set of the positions (three or more) used as posts for this TIN + (corners of the triangles in the TIN). See ISO 19107:2003, 6.4.39 for details. + </documentation> + </annotation> + </element> + <complexType name="LineStringSegmentArrayPropertyType"> + <annotation> + <documentation>gml:LineStringSegmentArrayPropertyType provides a container for line strings.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:LineStringSegment"/> + </sequence> + </complexType> + <complexType name="AbstractSolidType"> + <annotation> + <documentation>gml:AbstractSolidType is an abstraction of a solid to support the different levels of complexity. + The solid may always be viewed as a geometric primitive, i.e. is contiguous. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"/> + </complexContent> + </complexType> + <element name="AbstractSolid" type="gml:AbstractSolidType" abstract="true" + substitutionGroup="gml:AbstractGeometricPrimitive"> + <annotation> + <documentation>The AbstractSolid element is the abstract head of the substituition group for all (continuous) + solid elements. + </documentation> + </annotation> + </element> + <complexType name="SolidPropertyType"> + <annotation> + <documentation>A property that has a solid as its value domain may either be an appropriate geometry element + encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote + includes geometry elements located elsewhere in the same document). Either the reference or the contained + element shall be given, but neither both nor none. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractSolid"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="solidProperty" type="gml:SolidPropertyType"> + <annotation> + <documentation>This property element either references a solid via the XLink-attributes or contains the solid + element. solidProperty is the predefined property which may be used by GML Application Schemas whenever a GML + feature has a property with a value that is substitutable for AbstractSolid. + </documentation> + </annotation> + </element> + <complexType name="SolidArrayPropertyType"> + <annotation> + <documentation>gml:SolidArrayPropertyType is a container for an array of solids. The elements are always contained + in the array property, referencing geometry elements or arrays of geometry elements is not supported. + </documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractSolid"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="solidArrayProperty" type="gml:SolidArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of solid elements. solidArrayProperty is the predefined + property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is + substitutable for a list of AbstractSolid. + </documentation> + </annotation> + </element> + <complexType name="SolidType"> + <complexContent> + <extension base="gml:AbstractSolidType"> + <sequence> + <element name="exterior" type="gml:ShellPropertyType" minOccurs="0"/> + <element name="interior" type="gml:ShellPropertyType" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Solid" type="gml:SolidType" substitutionGroup="gml:AbstractSolid"> + <annotation> + <documentation>A solid is the basis for 3-dimensional geometry. The extent of a solid is defined by the boundary + surfaces as specified in ISO 19107:2003, 6.3.18. exterior specifies the outer boundary, interior the inner + boundary of the solid. + </documentation> + </annotation> + </element> + <complexType name="ShellType"> + <sequence> + <element ref="gml:surfaceMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </complexType> + <element name="Shell" type="gml:ShellType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>A shell is used to represent a single connected component of a solid boundary as specified in ISO + 19107:2003, 6.3.8. + Every gml:surfaceMember references or contains one surface, i.e. any element which is substitutable for + gml:AbstractSurface. In the context of a shell, the surfaces describe the boundary of the solid. + If provided, the aggregationType attribute shall have the value “set”. + </documentation> + </annotation> + </element> + <element name="surfaceMember" type="gml:SurfacePropertyType"> + <annotation> + <documentation>This property element either references a surface via the XLink-attributes or contains the surface + element. A surface element is any element, which is substitutable for gml:AbstractSurface. + </documentation> + </annotation> + </element> + <complexType name="ShellPropertyType"> + <annotation> + <documentation>A property with the content model of gml:ShellPropertyType encapsulates a shell to represent a + component of a solid boundary. + </documentation> + </annotation> + <sequence> + <element ref="gml:Shell"/> + </sequence> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/gml.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/gml.xsd new file mode 100644 index 00000000000..1d2a0b15854 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/gml.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:gml:3.2.0">gml.xsd</appinfo> + </annotation> + <!-- ====================================================================== --> + <include schemaLocation="dynamicFeature.xsd"/> + <include schemaLocation="topology.xsd"/> + <include schemaLocation="coverage.xsd"/> + <include schemaLocation="coordinateReferenceSystems.xsd"/> + <include schemaLocation="observation.xsd"/> + <include schemaLocation="temporalReferenceSystems.xsd"/> + <!-- ====================================================================== --> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/gmlBase.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/gmlBase.xsd new file mode 100644 index 00000000000..66d6c9d89e4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/gmlBase.xsd @@ -0,0 +1,378 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sch="http://www.ascc.net/xml/schematron" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:gmlBase:3.2.0">gmlBase.xsd</appinfo> + <appinfo source="urn:ogc:specification:gml:schema-xsd:gmlBase:3.2.0"> + <sch:title>Schematron validation</sch:title> + <sch:ns prefix="gml" uri="http://www.opengis.net/gml"/> + <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> + <sch:pattern name="Check either href or content not both"> + <sch:rule abstract="true" id="hrefOrContent"> + <sch:report test="@xlink:href and (*|text())">Property element may not carry both a reference to an object and + contain an object. + </sch:report> + <sch:assert test="@xlink:href | (*|text())">Property element must either carry a reference to an object or + contain an object. + </sch:assert> + </sch:rule> + </sch:pattern> + </appinfo> + <documentation>See ISO/DIS 19136 7.2. + The gmlBase schema components establish the GML model and syntax, in particular + - a root XML type from which XML types for all GML objects should be derived, + - a pattern and components for GML properties, + - patterns for collections and arrays, and components for generic collections and arrays, + - components for associating metadata with GML objects, + - components for constructing definitions and dictionaries. + </documentation> + </annotation> + <include schemaLocation="basicTypes.xsd"/> + <import namespace="http://www.w3.org/1999/xlink" schemaLocation="../xlink/xlinks.xsd"/> + <element name="AbstractObject" abstract="true"> + <annotation> + <documentation>This element has no type defined, and is therefore implicitly (according to the rules of W3C XML + Schema) an XML Schema anyType. It is used as the head of an XML Schema substitution group which unifies complex + content and certain simple content elements used for datatypes in GML, including the gml:AbstractGML + substitution group. + </documentation> + </annotation> + </element> + <element name="AbstractGML" type="gml:AbstractGMLType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>The abstract element gml:AbstractGML is “any GML object having identity”. It acts as the head of an + XML Schema substitution group, which may include any element which is a GML feature, or other object, with + identity. This is used as a variable in content models in GML core and application schemas. It is effectively an + abstract superclass for all GML objects. + </documentation> + </annotation> + </element> + <complexType name="AbstractGMLType" abstract="true"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </complexType> + <group name="StandardObjectProperties"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier" minOccurs="0"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </group> + <attributeGroup name="AssociationAttributeGroup"> + <annotation> + <documentation>XLink components are the standard method to support hypertext referencing in XML. An XML Schema + attribute group, gml:AssociationAttributeGroup, is provided to support the use of Xlinks as the method for + indicating the value of a property by reference in a uniform manner in GML. + </documentation> + </annotation> + <attributeGroup ref="xlink:simpleLink"/> + <attribute name="nilReason" type="gml:NilReasonType"/> + <attribute ref="gml:remoteSchema"/> + </attributeGroup> + <attribute name="remoteSchema" type="anyURI"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </attribute> + <element name="abstractAssociationRole" type="gml:AssociationRoleType" abstract="true"> + <annotation> + <documentation>Applying this pattern shall restrict the multiplicity of objects in a property element using this + content model to exactly one. An instance of this type shall contain an element representing an object, or serve + as a pointer to a remote object. + Applying the pattern to define an application schema specific property type allows to restrict + - the inline object to specified object types, + - the encoding to „by-reference only“ (see 7.2.3.7), + - the encoding to „inline only“ (see 7.2.3.8). + </documentation> + </annotation> + </element> + <complexType name="AssociationRoleType"> + <sequence minOccurs="0"> + <element ref="gml:AbstractObject"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <attributeGroup name="OwnershipAttributeGroup"> + <annotation> + <documentation>Encoding a GML property inline vs. by-reference shall not imply anything about the “ownership” of + the contained or referenced GML Object, i.e. the encoding style shall not imply any “deep-copy” or “deep-delete” + semantics. To express ownership over the contained or referenced GML Object, the gml:OwnershipAttributeGroup + attribute group may be added to object-valued property elements. If the attribute group is not part of the + content model of such a property element, then the value may not be “owned”. + When the value of the owns attribute is "true", the existence of inline or referenced object(s) depends upon the + existence of the parent object. + </documentation> + </annotation> + <attribute name="owns" type="boolean" default="false"/> + </attributeGroup> + <element name="abstractStrictAssociationRole" type="gml:AssociationRoleType" abstract="true"> + <annotation> + <documentation>This element shows how an element + declaration may include a Schematron constraint to limit the property to act + in either inline or by-reference mode, but not both. + </documentation> + <appinfo> + <sch:pattern name="refAndContent co-occurence prohibited"> + <sch:rule context="gml:abstractStrictAssociationRole"> + <sch:extends rule="hrefOrContent"/> + </sch:rule> + </sch:pattern> + </appinfo> + </annotation> + </element> + <element name="abstractReference" type="gml:ReferenceType" abstract="true"> + <annotation> + <documentation>gml:abstractReference may be used as the head of a subtitution group of more specific elements + providing a value by-reference. + </documentation> + </annotation> + </element> + <complexType name="ReferenceType"> + <annotation> + <documentation>gml:ReferenceType is intended to be used in application schemas directly, if a property element + shall use a “by-reference only” encoding. + </documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="abstractInlineProperty" type="gml:InlinePropertyType" abstract="true"> + <annotation> + <documentation>gml:abstractInlineProperty may be used as the head of a subtitution group of more specific elements + providing a value inline. + </documentation> + </annotation> + </element> + <complexType name="InlinePropertyType"> + <sequence> + <element ref="gml:AbstractObject"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="reversePropertyName" type="string"> + <annotation> + <documentation>If the value of an object property is another object and that object contains also a property for + the association between the two objects, then this name of the reverse property may be encoded in a + gml:reversePropertyName element in an appinfo annotation of the property element to document the constraint + between the two properties. The value of the element shall contain the qualified name of the property element. + </documentation> + </annotation> + </element> + <element name="member" type="gml:AssociationRoleType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ArrayAssociationType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence> + <element ref="gml:AbstractObject" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="members" type="gml:ArrayAssociationType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="StringOrRefType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <simpleContent> + <extension base="string"> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </extension> + </simpleContent> + </complexType> + <element name="metaDataProperty" type="gml:MetaDataPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="description" type="gml:StringOrRefType"> + <annotation> + <documentation>The value of this property is a text description of the object. gml:description uses + gml:StringOrRefType as its content model, so it may contain a simple text string content, or carry a reference + to an external description. The use of gml:description to reference an external description has been deprecated + and replaced by the gml:descriptionReference property. + </documentation> + </annotation> + </element> + <element name="descriptionReference" type="gml:ReferenceType"> + <annotation> + <documentation>The value of this property is a remote text description of the object. The xlink:href attribute of + the gml:descriptionReference property references the external description. + </documentation> + </annotation> + </element> + <element name="name" type="gml:CodeType"> + <annotation> + <documentation>The gml:name property provides a label or identifier for the object, commonly a descriptive name. + An object may have several names, typically assigned by different authorities. gml:name uses the gml:CodeType + content model. The authority for a name is indicated by the value of its (optional) codeSpace attribute. The + name may or may not be unique, as determined by the rules of the organization responsible for the codeSpace. In + common usage there will be one name per authority, so a processing application may select the name from its + preferred codeSpace. + </documentation> + </annotation> + </element> + <element name="identifier" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>Often, a special identifier is assigned to an object by the maintaining authority with the + intention that it is used in references to the object For such cases, the codeSpace shall be provided. That + identifier is usually unique either globally or within an application domain. gml:identifier is a pre-defined + property for such identifiers. + </documentation> + </annotation> + </element> + <attribute name="id" type="ID"> + <annotation> + <documentation>The attribute gml:id supports provision of a handle for the XML element representing a GML Object. + Its use is mandatory for all GML objects. It is of XML type ID, so is constrained to be unique in the XML + document within which it occurs. + </documentation> + </annotation> + </attribute> + <complexType name="AbstractMemberType" abstract="true"> + <annotation> + <documentation>To create a collection of GML Objects that are not all features, a property type shall be derived + by extension from gml:AbstractMemberType. + This abstract property type is intended to be used only in object types where software shall be able to identify + that an instance of such an object type is to be interpreted as a collection of objects. + By default, this abstract property type does not imply any ownership of the objects in the collection. The owns + attribute of gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership of an + object in the collection. A collection shall not own an object already owned by another object. + </documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <attributeGroup name="AggregationAttributeGroup"> + <annotation> + <documentation>A GML Object Collection is any GML Object with a property element in its content model whose + content model is derived by extension from gml:AbstractMemberType. + In addition, the complex type describing the content model of the GML Object Collection may also include a + reference to the attribute group gml:AggregationAttributeGroup to provide additional information about the + semantics of the object collection. This information may be used by applications to group GML objects, and + optionally to order and index them. + The allowed values for the aggregationType attribute are defined by gml:AggregationType. See 8.4 of ISO/IEC + 11404:1996 for the meaning of the values in the enumeration. + </documentation> + </annotation> + <attribute name="aggregationType" type="gml:AggregationType"/> + </attributeGroup> + <simpleType name="AggregationType" final="#all"> + <restriction base="string"> + <enumeration value="set"/> + <enumeration value="bag"/> + <enumeration value="sequence"/> + <enumeration value="array"/> + <enumeration value="record"/> + <enumeration value="table"/> + </restriction> + </simpleType> + <element name="Bag" type="gml:BagType" substitutionGroup="gml:AbstractGML"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="BagType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:member" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:members" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Array" type="gml:ArrayType" substitutionGroup="gml:AbstractGML"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ArrayType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:members" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractMetadataPropertyType" abstract="true"> + <annotation> + <documentation>To associate metadata described by any XML Schema with a GML object, a property element shall be + defined whose content model is derived by extension from gml:AbstractMetadataPropertyType. + The value of such a property shall be metadata. The content model of such a property type, i.e. the metadata + application schema shall be specified by the GML Application Schema. + By default, this abstract property type does not imply any ownership of the metadata. The owns attribute of + gml:OwnershipAttributeGroup may be used on a metadata property element instance to assert ownership of the + metadata. + If metadata following the conceptual model of ISO 19115 is to be encoded in a GML document, the corresponding + Implementation Specification specified in ISO/TS 19139 shall be used to encode the metadata information. + </documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="MetaDataPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractMetaData"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attribute name="about" type="anyURI"/> + </complexType> + <element name="AbstractMetaData" type="gml:AbstractMetaDataType" abstract="true" + substitutionGroup="gml:AbstractObject"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="AbstractMetaDataType" abstract="true" mixed="true"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence/> + <attribute ref="gml:id"/> + </complexType> + <element name="GenericMetaData" type="gml:GenericMetaDataType" substitutionGroup="gml:AbstractMetaData"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="GenericMetaDataType" mixed="true"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent mixed="true"> + <extension base="gml:AbstractMetaDataType"> + <sequence> + <any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="targetElement" type="string"/> + <element name="associationName" type="string"/> + <element name="defaultCodeSpace" type="anyURI"/> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/grids.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/grids.xsd new file mode 100644 index 00000000000..792c6e7819b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/grids.xsd @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" + targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:grids:3.2.0">grids.xsd</appinfo> + <documentation>See ISO/DIS 19136 20.2. + An implicit description of geometry is one in which the items of the geometry do not explicitly appear in the + encoding. Instead, a compact notation records a set of parameters, and a set of objects may be generated using a + rule with these parameters. This Clause provides grid geometries that are used in the description of gridded + coverages and other applications. + In GML two grid structures are defined, namely gml:Grid and gml:RectifiedGrid. + </documentation> + </annotation> + <include schemaLocation="geometryBasic0d1d.xsd"/> + <element name="Grid" type="gml:GridType" substitutionGroup="gml:AbstractImplicitGeometry"> + <annotation> + <documentation>The gml:Grid implicitly defines an unrectified grid, which is a network composed of two or more + sets of curves in which the members of each set intersect the members of the other sets in an algorithmic way. + The region of interest within the grid is given in terms of its gml:limits, being the grid coordinates of + diagonally opposed corners of a rectangular region. gml:axisLabels is provided with a list of labels of the axes + of the grid (gml:axisName has been deprecated). gml:dimension specifies the dimension of the grid. + The gml:limits element contains a single gml:GridEnvelope. The gml:low and gml:high property elements of the + envelope are each integerLists, which are coordinate tuples, the coordinates being measured as offsets from the + origin of the grid along each axis, of the diagonally opposing corners of a “rectangular” region of interest. + </documentation> + </annotation> + </element> + <element name="AbstractImplicitGeometry" type="gml:AbstractGeometryType" abstract="true" + substitutionGroup="gml:AbstractGeometry"/> + <complexType name="GridType"> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <element name="limits" type="gml:GridLimitsType"/> + <choice> + <element name="axisLabels" type="gml:NCNameList"/> + <element name="axisName" type="string" maxOccurs="unbounded"/> + </choice> + </sequence> + <attribute name="dimension" type="positiveInteger" use="required"/> + </extension> + </complexContent> + </complexType> + <complexType name="GridLimitsType"> + <sequence> + <element name="GridEnvelope" type="gml:GridEnvelopeType"/> + </sequence> + </complexType> + <complexType name="GridEnvelopeType"> + <sequence> + <element name="low" type="gml:integerList"/> + <element name="high" type="gml:integerList"/> + </sequence> + </complexType> + <element name="RectifiedGrid" type="gml:RectifiedGridType" substitutionGroup="gml:Grid"> + <annotation> + <documentation>A rectified grid is a grid for which there is an affine transformation between the grid coordinates + and the coordinates of an external coordinate reference system. It is defined by specifying the position (in + some geometric space) of the grid “origin” and of the vectors that specify the post locations. + Note that the grid limits (post indexes) and axis name properties are inherited from gml:GridType and that + gml:RectifiedGrid adds a gml:origin property (contains or references a gml:Point) and a set of gml:offsetVector + properties. + </documentation> + </annotation> + </element> + <complexType name="RectifiedGridType"> + <complexContent> + <extension base="gml:GridType"> + <sequence> + <element name="origin" type="gml:PointPropertyType"/> + <element name="offsetVector" type="gml:VectorType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/measures.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/measures.xsd new file mode 100644 index 00000000000..554ffb5c2a9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/measures.xsd @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" + version="3.2.0" xml:lang="en"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:measures:3.2.0">measures.xsd</appinfo> + <documentation>See ISO/DIS 19136 17.3. + gml:MeasureType is defined in the basicTypes schema. The measure types defined here correspond with a set of + convenience measure types described in ISO/TS 19103. The XML implementation is based on the XML Schema simple type + “double” which supports both decimal and scientific notation, and includes an XML attribute “uom” which refers to + the units of measure for the value. Note that, there is no requirement to store values using any particular + format, and applications receiving elements of this type may choose to coerce the data to any other type as + convenient. + </documentation> + </annotation> + <include schemaLocation="units.xsd"/> + <element name="measure" type="gml:MeasureType"> + <annotation> + <documentation>The value of a physical quantity, together with its unit.</documentation> + </annotation> + </element> + <complexType name="LengthType"> + <annotation> + <documentation>This is a prototypical definition for a specific measure type defined as a vacuous extension (i.e. + aliases) of gml:MeasureType. In this case, the content model supports the description of a length (or distance) + quantity, with its units. The unit of measure referenced by uom shall be suitable for a length, such as metres + or feet. + </documentation> + </annotation> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="ScaleType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="TimeType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="GridLengthType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="AreaType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="VolumeType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="SpeedType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="AngleType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <element name="angle" type="gml:AngleType"> + <annotation> + <documentation>The gml:angle property element is used to record the value of an angle quantity as a single number, + with its units. + </documentation> + </annotation> + </element> + <element name="dmsAngle" type="gml:DMSAngleType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DMSAngleType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence> + <element ref="gml:degrees"/> + <choice minOccurs="0"> + <element ref="gml:decimalMinutes"/> + <sequence> + <element ref="gml:minutes"/> + <element ref="gml:seconds" minOccurs="0"/> + </sequence> + </choice> + </sequence> + </complexType> + <element name="degrees" type="gml:DegreesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DegreesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <simpleContent> + <extension base="gml:DegreeValueType"> + <attribute name="direction"> + <simpleType> + <restriction base="string"> + <enumeration value="N"/> + <enumeration value="E"/> + <enumeration value="S"/> + <enumeration value="W"/> + <enumeration value="+"/> + <enumeration value="-"/> + </restriction> + </simpleType> + </attribute> + </extension> + </simpleContent> + </complexType> + <simpleType name="DegreeValueType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="nonNegativeInteger"> + <maxInclusive value="359"/> + </restriction> + </simpleType> + <element name="decimalMinutes" type="gml:DecimalMinutesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <simpleType name="DecimalMinutesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="decimal"> + <minInclusive value="0.00"/> + <maxExclusive value="60.00"/> + </restriction> + </simpleType> + <element name="minutes" type="gml:ArcMinutesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <simpleType name="ArcMinutesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="nonNegativeInteger"> + <maxInclusive value="59"/> + </restriction> + </simpleType> + <element name="seconds" type="gml:ArcSecondsType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <simpleType name="ArcSecondsType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="decimal"> + <minInclusive value="0.00"/> + <maxExclusive value="60.00"/> + </restriction> + </simpleType> + <complexType name="AngleChoiceType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <choice> + <element ref="gml:angle"/> + <element ref="gml:dmsAngle"/> + </choice> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/observation.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/observation.xsd new file mode 100644 index 00000000000..b5fb2067bdf --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/observation.xsd @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:observation:3.2.0">observation.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 19. + A GML observation models the act of observing, often with a camera, a person or some form of instrument. An + observation feature describes the “metadata” associated with an information capture event, together with a value + for the result of the observation. This covers a broad range of cases, from a tourist photo (not the photo but the + act of taking the photo), to images acquired by space borne sensors or the measurement of a temperature 5 meters + below the surfaces of a lake. + The basic structures introduced in this schema are intended to serve as the foundation for more comprehensive + schemas for scientific, technical and engineering measurement schemas. + </documentation> + </annotation> + <include schemaLocation="feature.xsd"/> + <include schemaLocation="direction.xsd"/> + <include schemaLocation="valueObjects.xsd"/> + <element name="Observation" type="gml:ObservationType" substitutionGroup="gml:AbstractFeature"> + <annotation> + <documentation>The content model is a straightforward extension of gml:AbstractFeatureType; it automatically has + the gml:identifier, gml:description, gml:descriptionReference, gml:name, and gml:boundedBy properties. + The gml:validTime element describes the time of the observation. Note that this may be a time instant or a time + period. + The gml:using property contains or references a description of a sensor, instrument or procedure used for the + observation. + The gml:target property contains or references the specimen, region or station which is the object of the + observation. This property is particularly useful for remote observations, such as photographs, where a generic + location property might apply to the location of the camera or the location of the field of view, and thus may + be ambiguous. + The gml:subject element is provided as a convenient synonym for gml:target. This is the term commonly used in + phtotography. + The gml:resultOf property indicates the result of the observation. The value may be inline, or a reference to a + value elsewhere. If the value is inline, it shall be a member of the gml:AbstractObject substitution group. + </documentation> + </annotation> + </element> + <complexType name="ObservationType"> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <sequence> + <element ref="gml:validTime"/> + <element ref="gml:using" minOccurs="0"/> + <element ref="gml:target" minOccurs="0"/> + <element ref="gml:resultOf"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="using" type="gml:ProcedurePropertyType"/> + <complexType name="ProcedurePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:AbstractFeature"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="target" type="gml:TargetPropertyType"/> + <element name="subject" type="gml:TargetPropertyType" substitutionGroup="gml:target"/> + <complexType name="TargetPropertyType"> + <choice minOccurs="0"> + <element ref="gml:AbstractFeature"/> + <element ref="gml:AbstractGeometry"/> + </choice> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="resultOf" type="gml:ResultType"/> + <complexType name="ResultType"> + <sequence minOccurs="0"> + <element ref="gml:AbstractObject"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="DirectedObservation" type="gml:DirectedObservationType" substitutionGroup="gml:Observation"> + <annotation> + <documentation>A gml:DirectedObservation is the same as an observation except that it adds an additional + gml:direction property. This is the direction in which the observation was acquired. Clearly this applies only + to certain types of observations such as visual observations by people, or observations obtained from + terrestrial cameras. + </documentation> + </annotation> + </element> + <complexType name="DirectedObservationType"> + <complexContent> + <extension base="gml:ObservationType"> + <sequence> + <element ref="gml:direction"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="DirectedObservationAtDistance" type="gml:DirectedObservationAtDistanceType" + substitutionGroup="gml:DirectedObservation"> + <annotation> + <documentation>gml:DirectedObservationAtDistance adds an additional distance property. This is the distance from + the observer to the subject of the observation. Clearly this applies only to certain types of observations such + as visual observations by people, or observations obtained from terrestrial cameras. + </documentation> + </annotation> + </element> + <complexType name="DirectedObservationAtDistanceType"> + <complexContent> + <extension base="gml:DirectedObservationType"> + <sequence> + <element name="distance" type="gml:MeasureType"/> + </sequence> + </extension> + </complexContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/readme.txt b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/readme.txt new file mode 100644 index 00000000000..9dd348ca00c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/readme.txt @@ -0,0 +1,7 @@ +GML Schema version 3.2.0 (ISO/DIS 19136) +- Folder "gml": the GML Schema; the root document of the GML Schema is file "gml/gml.xsd" + +Imported schemas: +- Folder "xlink": the W3C XLink schema (see W3C XLink 1.0) +- iso19139 schemas: the GMD schema and contained schemas (see ISO/TS 19139) + diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/referenceSystems.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/referenceSystems.xsd new file mode 100644 index 00000000000..f451895497a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/referenceSystems.xsd @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" + version="3.2.0" xml:lang="en" + xmlns="http://www.w3.org/2001/XMLSchema"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:referenceSystems:3.2.0">referenceSystems.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.2. + The reference systems schema components have two logical parts, which define elements and types for XML encoding + of the definitions of: + - Identified Object, inherited by the ten types of GML objects used for coordinate reference systems and + coordinate operations + - High-level part of the definitions of coordinate reference systems + This schema encodes the Identified Object and Reference System packages of the UML Model for ISO 19111. + </documentation> + </annotation> + <include schemaLocation="dictionary.xsd"/> + <import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <complexType name="IdentifiedObjectType" abstract="true"> + <annotation> + <documentation>gml:IdentifiedObjectType provides identification properties of a CRS-related object. In + gml:DefinitionType, the gml:identifier element shall be the primary name by which this object is identified, + encoding the "name" attribute in the UML model. + Zero or more of the gml:name elements can be an unordered set of "identifiers", encoding the "identifier" + attribute in the UML model. Each of these gml:name elements can reference elsewhere the object's defining + information or be an identifier by which this object can be referenced. + Zero or more other gml:name elements can be an unordered set of "alias" alternative names by which this CRS + related object is identified, encoding the "alias" attributes in the UML model. An object may have several + aliases, typically used in different contexts. The context for an alias is indicated by the value of its + (optional) codeSpace attribute. + Any needed version information shall be included in the codeSpace attribute of a gml:identifier and gml:name + elements. In this use, the gml:remarks element in the gml:DefinitionType shall contain comments on or + information about this object, including data source information. + </documentation> + </annotation> + <complexContent> + <extension base="gml:DefinitionType"/> + </complexContent> + </complexType> + <element name="AbstractCRS" type="gml:AbstractCRSType" abstract="true" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:AbstractCRS specifies a coordinate reference system which is usually single but may be + compound. This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to + define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document. + </documentation> + </annotation> + </element> + <complexType name="AbstractCRSType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:domainOfValidity" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="domainOfValidity"> + <annotation> + <documentation>The gml:domainOfValidity property implements an association role to an EX_Extent object as encoded + in ISO/TS 19139, either referencing or containing the definition of that extent. + </documentation> + </annotation> + <complexType> + <sequence minOccurs="0"> + <element ref="gmd:EX_Extent"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + </element> + <element name="scope" type="string"> + <annotation> + <documentation>The gml:scope property provides a description of the usage, or limitations of usage, for which this + CRS-related object is valid. If unknown, enter "not known". + </documentation> + </annotation> + </element> + <complexType name="CRSPropertyType"> + <annotation> + <documentation>gml:CRSPropertyType is a property type for association roles to a CRS abstract coordinate reference + system, either referencing or containing the definition of that CRS. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="crsRef" type="gml:CRSPropertyType"> + <annotation> + <documentation>gml:crsRef is an association role either referencing or containing the definition of a CRS. This + property element has been deprecated. + </documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporal.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporal.xsd new file mode 100644 index 00000000000..6a889ab58e2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporal.xsd @@ -0,0 +1,337 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:temporal:3.2.0">temporal.xsd</appinfo> + <documentation>See ISO/DIS 19136 15.2. + The GML temporal schemas include components for describing temporal geometry and topology, temporal reference + systems, and the temporal characteristics of geographic data. The model underlying the representation constitutes + a profile of the conceptual schema described in ISO 19108. The underlying spatiotemporal model strives to + accommodate both feature-level and attribute-level time stamping; basic support for tracking moving objects is + also included. + Time is measured on two types of scales: interval and ordinal. An interval scale offers a basis for measuring + duration, an ordinal scale provides information only about relative position in time. + Two other ISO standards are relevant to describing temporal objects: ISO 8601 describes encodings for time + instants and time periods, as text strings with particular structure and punctuation; ISO 11404 provides a + detailed description of time intervals as part of a general discussion of language independent datatypes. + The temporal schemas cover two interrelated topics and provide basic schema components for representing temporal + instants and periods, temporal topology, and reference systems; more specialized schema components defines + components used for dynamic features. Instances of temporal geometric types are used as values for the temporal + properties of geographic features. + </documentation> + </annotation> + <include schemaLocation="gmlBase.xsd"/> + <element name="AbstractTimeObject" type="gml:AbstractTimeObjectType" abstract="true" + substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>gml:AbstractTimeObject acts as the head of a substitution group for all temporal primitives and + complexes. + </documentation> + </annotation> + </element> + <complexType name="AbstractTimeObjectType" abstract="true"> + <complexContent> + <extension base="gml:AbstractGMLType"/> + </complexContent> + </complexType> + <element name="AbstractTimePrimitive" type="gml:AbstractTimePrimitiveType" abstract="true" + substitutionGroup="gml:AbstractTimeObject"> + <annotation> + <documentation>gml:AbstractTimePrimitive acts as the head of a substitution group for geometric and topological + temporal primitives. + </documentation> + </annotation> + </element> + <complexType name="AbstractTimePrimitiveType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimeObjectType"> + <sequence> + <element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimePrimitivePropertyType"> + <annotation> + <documentation>gml:TimePrimitivePropertyType provides a standard content model for associations between an + arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive and another object. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractTimePrimitive"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="validTime" type="gml:TimePrimitivePropertyType"> + <annotation> + <documentation>gml:validTime is a convenience property element.</documentation> + </annotation> + </element> + <complexType name="RelatedTimeType"> + <annotation> + <documentation>gml:RelatedTimeType provides a content model for indicating the relative position of an arbitrary + member of the substitution group whose head is gml:AbstractTimePrimitive. It extends the generic + gml:TimePrimitivePropertyType with an XML attribute relativePosition, whose value is selected from the set of 13 + temporal relationships identified by Allen (1983) + </documentation> + </annotation> + <complexContent> + <extension base="gml:TimePrimitivePropertyType"> + <attribute name="relativePosition"> + <simpleType> + <restriction base="string"> + <enumeration value="Before"/> + <enumeration value="After"/> + <enumeration value="Begins"/> + <enumeration value="Ends"/> + <enumeration value="During"/> + <enumeration value="Equals"/> + <enumeration value="Contains"/> + <enumeration value="Overlaps"/> + <enumeration value="Meets"/> + <enumeration value="OverlappedBy"/> + <enumeration value="MetBy"/> + <enumeration value="BegunBy"/> + <enumeration value="EndedBy"/> + </restriction> + </simpleType> + </attribute> + </extension> + </complexContent> + </complexType> + <element name="AbstractTimeComplex" type="gml:AbstractTimeComplexType" abstract="true" + substitutionGroup="gml:AbstractTimeObject"> + <annotation> + <documentation>gml:AbstractTimeComplex is an aggregation of temporal primitives and acts as the head of a + substitution group for temporal complexes. + </documentation> + </annotation> + </element> + <complexType name="AbstractTimeComplexType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimeObjectType"/> + </complexContent> + </complexType> + <element name="AbstractTimeGeometricPrimitive" type="gml:AbstractTimeGeometricPrimitiveType" abstract="true" + substitutionGroup="gml:AbstractTimePrimitive"> + <annotation> + <documentation>gml:TimeGeometricPrimitive acts as the head of a substitution group for geometric temporal + primitives. + A temporal geometry shall be associated with a temporal reference system through the frame attribute that + provides a URI reference that identifies a description of the reference system. Following ISO 19108, the + Gregorian calendar with UTC is the default reference system, but others may also be used. The GPS calendar is an + alternative reference systems in common use. + The two geometric primitives in the temporal dimension are the instant and the period. GML components are + defined to support these as follows. + </documentation> + </annotation> + </element> + <complexType name="AbstractTimeGeometricPrimitiveType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimePrimitiveType"> + <attribute name="frame" type="anyURI" default="#ISO-8601"/> + </extension> + </complexContent> + </complexType> + <element name="TimeInstant" type="gml:TimeInstantType" substitutionGroup="gml:AbstractTimeGeometricPrimitive"> + <annotation> + <documentation>gml:TimeInstant acts as a zero-dimensional geometric primitive that represents an identifiable + position in time. + </documentation> + </annotation> + </element> + <complexType name="TimeInstantType" final="#all"> + <complexContent> + <extension base="gml:AbstractTimeGeometricPrimitiveType"> + <sequence> + <element ref="gml:timePosition"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeInstantPropertyType"> + <annotation> + <documentation>gml:TimeInstantPropertyType provides for associating a gml:TimeInstant with an object. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeInstant"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="TimePeriod" type="gml:TimePeriodType" substitutionGroup="gml:AbstractTimeGeometricPrimitive"> + <annotation> + <documentation>gml:TimePeriod acts as a one-dimensional geometric primitive that represents an identifiable extent + in time. + The location in of a gml:TimePeriod is described by the temporal positions of the instants at which it begins + and ends. The length of the period is equal to the temporal distance between the two bounding temporal + positions. + Both beginning and end may be described in terms of their direct position using gml:TimePositionType which is an + XML Schema simple content type, or by reference to an indentifiable time instant using + gml:TimeInstantPropertyType. + Alternatively a limit of a gml:TimePeriod may use the conventional GML property model to make a reference to a + time instant described elsewhere, or a limit may be indicated as a direct position. + </documentation> + </annotation> + </element> + <complexType name="TimePeriodType"> + <complexContent> + <extension base="gml:AbstractTimeGeometricPrimitiveType"> + <sequence> + <choice> + <element name="beginPosition" type="gml:TimePositionType"/> + <element name="begin" type="gml:TimeInstantPropertyType"/> + </choice> + <choice> + <element name="endPosition" type="gml:TimePositionType"/> + <element name="end" type="gml:TimeInstantPropertyType"/> + </choice> + <group ref="gml:timeLength" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimePeriodPropertyType"> + <annotation> + <documentation>gml:TimePeriodPropertyType provides for associating a gml:TimePeriod with an object. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimePeriod"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TimePositionType" final="#all"> + <annotation> + <documentation>The method for identifying a temporal position is specific to each temporal reference system. + gml:TimePositionType supports the description of temporal position according to the subtypes described in ISO + 19108. + Values based on calendars and clocks use lexical formats that are based on ISO 8601, as described in XML Schema + Part 2:2001. A decimal value may be used with coordinate systems such as GPS time or UNIX time. A URI may be + used to provide a reference to some era in an ordinal reference system . + In common with many of the components modelled as data types in the ISO 19100 series of International Standards, + the corresponding GML component has simple content. However, the content model gml:TimePositionType is defined + in several steps. + Three XML attributes appear on gml:TimePositionType: + A time value shall be associated with a temporal reference system through the frame attribute that provides a + URI reference that identifies a description of the reference system. Following ISO 19108, the Gregorian calendar + with UTC is the default reference system, but others may also be used. Components for describing temporal + reference systems are described in 14.4, but it is not required that the reference system be described in this, + as the reference may refer to anything that may be indentified with a URI. + For time values using a calendar containing more than one era, the (optional) calendarEraName attribute provides + the name of the calendar era. + Inexact temporal positions may be expressed using the optional indeterminatePosition attribute. This takes a + value from an enumeration. + </documentation> + </annotation> + <simpleContent> + <extension base="gml:TimePositionUnion"> + <attribute name="frame" type="anyURI" default="#ISO-8601"/> + <attribute name="calendarEraName" type="string"/> + <attribute name="indeterminatePosition" type="gml:TimeIndeterminateValueType"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="TimeIndeterminateValueType"> + <annotation> + <documentation>These values are interpreted as follows: + - “unknown” indicates that no specific value for temporal position is provided. + - “now” indicates that the specified value shall be replaced with the current temporal position whenever the + value is accessed. + - “before” indicates that the actual temporal position is unknown, but it is known to be before the specified + value. + - “after” indicates that the actual temporal position is unknown, but it is known to be after the specified + value. + A value for indeterminatePosition may + - be used either alone, or + - qualify a specific value for temporal position. + </documentation> + </annotation> + <restriction base="string"> + <enumeration value="after"/> + <enumeration value="before"/> + <enumeration value="now"/> + <enumeration value="unknown"/> + </restriction> + </simpleType> + <simpleType name="TimePositionUnion"> + <annotation> + <documentation>The simple type gml:TimePositionUnion is a union of XML Schema simple types which instantiate the + subtypes for temporal position described in ISO 19108. + An ordinal era may be referenced via URI. A decimal value may be used to indicate the distance from the scale + origin . time is used for a position that recurs daily (see ISO 19108:2002 5.4.4.2). + Finally, calendar and clock forms that support the representation of time in systems based on years, months, + days, hours, minutes and seconds, in a notation following ISO 8601, are assembled by gml:CalDate + </documentation> + </annotation> + <union memberTypes="gml:CalDate time dateTime anyURI decimal"/> + </simpleType> + <simpleType name="CalDate"> + <union memberTypes="date gYearMonth gYear"/> + </simpleType> + <element name="timePosition" type="gml:TimePositionType"> + <annotation> + <documentation>This element is used directly as a property of gml:TimeInstant (see 15.2.2.3), and may also be used + in application schemas. + </documentation> + </annotation> + </element> + <group name="timeLength"> + <annotation> + <documentation>The length of a time period.</documentation> + </annotation> + <choice> + <element ref="gml:duration"/> + <element ref="gml:timeInterval"/> + </choice> + </group> + <element name="duration" type="duration"> + <annotation> + <documentation>gml:duration conforms to the ISO 8601 syntax for temporal length as implemented by the XML Schema + duration type. + </documentation> + </annotation> + </element> + <element name="timeInterval" type="gml:TimeIntervalLengthType"> + <annotation> + <documentation>gml:timeInterval conforms to ISO 11404 which is based on floating point values for temporal length. + ISO 11404 syntax specifies the use of a positiveInteger together with appropriate values for radix and factor. + The resolution of the time interval is to one radix ^(-factor) of the specified time unit. + The value of the unit is either selected from the units for time intervals from ISO 31-1:1992, or is another + suitable unit. The encoding is defined for GML in gml:TimeUnitType. The second component of this union type + provides a method for indicating time units other than the six standard units given in the enumeration. + </documentation> + </annotation> + </element> + <complexType name="TimeIntervalLengthType" final="#all"> + <simpleContent> + <extension base="decimal"> + <attribute name="unit" type="gml:TimeUnitType" use="required"/> + <attribute name="radix" type="positiveInteger"/> + <attribute name="factor" type="integer"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="TimeUnitType"> + <union> + <simpleType> + <restriction base="string"> + <enumeration value="year"/> + <enumeration value="month"/> + <enumeration value="day"/> + <enumeration value="hour"/> + <enumeration value="minute"/> + <enumeration value="second"/> + </restriction> + </simpleType> + <simpleType> + <restriction base="string"> + <pattern value="other:\w{2,}"/> + </restriction> + </simpleType> + </union> + </simpleType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporalReferenceSystems.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporalReferenceSystems.xsd new file mode 100644 index 00000000000..8147d868612 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporalReferenceSystems.xsd @@ -0,0 +1,238 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:temporalReferenceSystems:3.2.0">temporalReferenceSystems.xsd + </appinfo> + <documentation>See ISO/DIS 19136 15.5. + A value in the time domain is measured relative to a temporal reference system. Common types of reference systems + include calendars, ordinal temporal reference systems, and temporal coordinate systems (time elapsed since some + epoch). The primary temporal reference system for use with geographic information is the Gregorian Calendar and 24 + hour local or Coordinated Universal Time (UTC), but special applications may entail the use of alternative + reference systems. The Julian day numbering system is a temporal coordinate system that has an origin earlier than + any known calendar, at noon on 1 January 4713 BC in the Julian proleptic calendar, and is useful in + transformations between dates in different calendars. + In GML seven concrete elements are used to describe temporal reference systems: gml:TimeReferenceSystem, + gml:TimeCoordinateSystem, gml:TimeCalendar, gml:TimeCalendarEra, gml:TimeClock, gml:TimeOrdinalReferenceSystem, + and gml:TimeOrdinalEra. + </documentation> + </annotation> + <include schemaLocation="temporalTopology.xsd"/> + <include schemaLocation="dictionary.xsd"/> + <element name="TimeReferenceSystem" type="gml:TimeReferenceSystemType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A reference system is characterized in terms of its domain of validity: the spatial and temporal + extent over which it is applicable. The basic GML element for temporal reference systems is + gml:TimeReferenceSystem. Its content model extends gml:DefinitionType with one additional property, + gml:domainOfValidity. + </documentation> + </annotation> + </element> + <complexType name="TimeReferenceSystemType"> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element name="domainOfValidity" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TimeCoordinateSystem" type="gml:TimeCoordinateSystemType" substitutionGroup="gml:TimeReferenceSystem"> + <annotation> + <documentation>A temporal coordinate system shall be based on a continuous interval scale defined in terms of a + single time interval. + The differences to ISO 19108 TM_CoordinateSystem are: + - the origin is specified either using the property gml:originPosition whose value is a direct time position, or + using the property gml:origin whose model is gml:TimeInstantPropertyType; this permits more flexibility in + representation and also supports referring to a value fixed elsewhere; + - the interval uses gml:TimeIntervalLengthType. + </documentation> + </annotation> + </element> + <complexType name="TimeCoordinateSystemType"> + <complexContent> + <extension base="gml:TimeReferenceSystemType"> + <sequence> + <choice> + <element name="originPosition" type="gml:TimePositionType"/> + <element name="origin" type="gml:TimeInstantPropertyType"/> + </choice> + <element name="interval" type="gml:TimeIntervalLengthType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TimeCalendar" type="gml:TimeCalendarType" substitutionGroup="gml:TimeReferenceSystem"> + <annotation> + <documentation>A calendar is a discrete temporal reference system that provides a basis for defining temporal + position to a resolution of one day. + gml:TimeCalendar adds one property to those inherited from gml:TimeReferenceSystem. A gml:referenceFrame + provides a link to a gml:TimeCalendarEra that it uses. A gml:TimeCalendar may reference more than one calendar + era. + The referenceFrame element follows the standard GML property model, allowing the association to be instantiated + either using an inline description using the gml:TimeCalendarEra element, or a link to a gml:TimeCalendarEra + which is explicit elsewhere. + </documentation> + </annotation> + </element> + <complexType name="TimeCalendarType"> + <complexContent> + <extension base="gml:TimeReferenceSystemType"> + <sequence> + <element name="referenceFrame" type="gml:TimeCalendarEraPropertyType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TimeCalendarEra" type="gml:TimeCalendarEraType"> + <annotation> + <documentation>gml:TimeCalendarEra inherits basic properties from gml:DefinitionType and has the following + additional properties: + - gml:referenceEvent is the name or description of a mythical or historic event which fixes the position of the + base scale of the calendar era. This is given as text or using a link to description held elsewhere. + - gml:referenceDate specifies the date of the referenceEvent expressed as a date in the given calendar. In most + calendars, this date is the origin (i.e., the first day) of the scale, but this is not always true. + - gml:julianReference specifies the Julian date that corresponds to the reference date. The Julian day number is + an integer value; the Julian date is a decimal value that allows greater resolution. Transforming calendar dates + to and from Julian dates provides a relatively simple basis for transforming dates from one calendar to another. + - gml:epochOfUse is the period for which the calendar era was used as a basis for dating. + </documentation> + </annotation> + </element> + <complexType name="TimeCalendarEraType"> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element name="referenceEvent" type="gml:StringOrRefType"/> + <element name="referenceDate" type="gml:CalDate"/> + <element name="julianReference" type="decimal"/> + <element name="epochOfUse" type="gml:TimePeriodPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeCalendarPropertyType"> + <annotation> + <documentation>gml:TimeCalendarPropertyType provides for associating a gml:TimeCalendar with an object. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeCalendar"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="TimeCalendarEraPropertyType"> + <annotation> + <documentation>gml:TimeCalendarEraPropertyType provides for associating a gml:TimeCalendarEra with an object. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeCalendarEra"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="TimeClock" type="gml:TimeClockType" substitutionGroup="gml:TimeReferenceSystem"> + <annotation> + <documentation>A clock provides a basis for defining temporal position within a day. A clock shall be used with a + calendar in order to provide a complete description of a temporal position within a specific day. + gml:TimeClock adds the following properties to those inherited from gml:TimeReferenceSystemType: + - gml:referenceEvent is the name or description of an event, such as solar noon or sunrise, which fixes the + position of the base scale of the clock. + - gml:referenceTime specifies the time of day associated with the reference event expressed as a time of day in + the given clock. The reference time is usually the origin of the clock scale. + - gml:utcReference specifies the 24 hour local or UTC time that corresponds to the reference time. + - gml:dateBasis contains or references the calendars that use this clock. + </documentation> + </annotation> + </element> + <complexType name="TimeClockType" final="#all"> + <complexContent> + <extension base="gml:TimeReferenceSystemType"> + <sequence> + <element name="referenceEvent" type="gml:StringOrRefType"/> + <element name="referenceTime" type="time"/> + <element name="utcReference" type="time"/> + <element name="dateBasis" type="gml:TimeCalendarPropertyType" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeClockPropertyType"> + <annotation> + <documentation>gml:TimeClockPropertyType provides for associating a gml:TimeClock with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeClock"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="TimeOrdinalReferenceSystem" type="gml:TimeOrdinalReferenceSystemType" + substitutionGroup="gml:TimeReferenceSystem"> + <annotation> + <documentation>In some applications of geographic information — such as geology and archaeology — relative + position in time is known more precisely than absolute time or duration. The order of events in time can be well + established, but the magnitude of the intervals between them cannot be accurately determined; in such cases, the + use of an ordinal temporal reference system is appropriate. An ordinal temporal reference system is composed of + a sequence of named coterminous eras, which may in turn be composed of sequences of member eras at a finer + scale, giving the whole a hierarchical structure of eras of verying resolution. + An ordinal temporal reference system whose component eras are not further subdivided is effectively a temporal + topological complex constrained to be a linear graph. An ordinal temporal reference system some or all of whose + component eras are subdivided is effectively a temporal topological complex with the constraint that parallel + branches may only be constructed in pairs where one is a single temporal ordinal era and the other is a sequence + of temporal ordinal eras that are called "members" of the "group". This constraint means that within a single + temporal ordinal reference system, the relative position of all temporal ordinal eras is unambiguous. + The positions of the beginning and end of a given era may calibrate the relative time scale. + gml:TimeOrdinalReferenceSystem adds one or more gml:component properties to the generic temporal reference + system model. + </documentation> + </annotation> + </element> + <complexType name="TimeOrdinalReferenceSystemType"> + <complexContent> + <extension base="gml:TimeReferenceSystemType"> + <sequence> + <element name="component" type="gml:TimeOrdinalEraPropertyType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TimeOrdinalEra" type="gml:TimeOrdinalEraType"> + <annotation> + <documentation>Its content model follows the pattern of gml:TimeEdge, inheriting standard properties from + gml:DefinitionType, and adding gml:start, gml:end and gml:extent properties, a set of gml:member properties + which indicate ordered gml:TimeOrdinalEra elements, and a gml:group property which points to the parent era. + The recursive inclusion of gml:TimeOrdinalEra elements allow the construction of an arbitrary depth hierarchical + ordinal reference schema, such that an ordinal era at a given level of the hierarchy includes a sequence of + shorter, coterminous ordinal eras. + </documentation> + </annotation> + </element> + <complexType name="TimeOrdinalEraType"> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" maxOccurs="unbounded"/> + <element name="start" type="gml:TimeNodePropertyType"/> + <element name="end" type="gml:TimeNodePropertyType"/> + <element name="extent" type="gml:TimePeriodPropertyType" minOccurs="0"/> + <element name="member" type="gml:TimeOrdinalEraPropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="group" type="gml:ReferenceType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeOrdinalEraPropertyType"> + <annotation> + <documentation>gml:TimeOrdinalEraPropertyType provides for associating a gml:TimeOrdinalEra with an object. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeOrdinalEra"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporalTopology.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporalTopology.xsd new file mode 100644 index 00000000000..aacb31ab62b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/temporalTopology.xsd @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:temporalTopology:3.2.0">temporalTopology.xsd</appinfo> + <documentation>See ISO/DIS 19136 15.3. + Temporal topology is described in terms of time complexes, nodes, and edges, and the connectivity between these. + Temporal topology does not directly provide information about temporal position. It is used in the case of + describing a lineage or a history (e.g. a family tree expressing evolution of species, an ecological cycle, a + lineage of lands or buildings, or a history of separation and merger of administrative boundaries). The following + Subclauses specifies the temporal topology as temporal characteristics of features in compliance with ISO 19108. + </documentation> + </annotation> + <include schemaLocation="temporal.xsd"/> + <element name="AbstractTimeTopologyPrimitive" type="gml:AbstractTimeTopologyPrimitiveType" abstract="true" + substitutionGroup="gml:AbstractTimePrimitive"> + <annotation> + <documentation>gml:TimeTopologyPrimitive acts as the head of a substitution group for topological temporal + primitives. + Temporal topology primitives shall imply the ordering information between features or feature properties. The + temporal connection of features can be examined if they have temporal topology primitives as values of their + properties. Usually, an instantaneous feature associates with a time node, and a static feature associates with + a time edge. A feature with both modes associates with the temporal topology primitive: a supertype of time + nodes and time edges. + A topological primitive is always connected to one or more other topological primitives, and is, therefore, + always a member of a topological complex. In a GML instance, this will often be indicated by the primitives + being described by elements that are descendents of an element describing a complex. However, in order to + support the case where a temporal topological primitive is described in another context, the optional complex + property is provided, which carries a reference to the parent temporal topological complex. + </documentation> + </annotation> + </element> + <complexType name="AbstractTimeTopologyPrimitiveType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimePrimitiveType"> + <sequence> + <element name="complex" type="gml:ReferenceType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeTopologyPrimitivePropertyType"> + <annotation> + <documentation>gml:TimeTopologyPrimitivePropertyType provides for associating a gml:AbstractTimeTopologyPrimitive + with an object. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractTimeTopologyPrimitive"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="TimeTopologyComplex" type="gml:TimeTopologyComplexType" substitutionGroup="gml:AbstractTimeComplex"> + <annotation> + <documentation>A temporal topology complex shall be the connected acyclic directed graph composed of temporal + topological primitives, i.e. time nodes and time edges. Because a time edge may not exist without two time nodes + on its boundaries, static features have time edges from a temporal topology complex as the values of their + temporal properties, regardless of explicit declarations. + A temporal topology complex expresses a linear or a non-linear graph. A temporal linear graph, composed of a + sequence of time edges, provides a lineage described only by “substitution” of feature instances or feature + element values. A time node as the start or the end of the graph connects with at least one time edge. A time + node other than the start and the end shall connect to at least two time edges: one of starting from the node, + and another ending at the node. + A temporal topological complex is a set of connected temporal topological primitives. The member primtives are + indicated, either by reference or by value, using the primitive property. + </documentation> + </annotation> + </element> + <complexType name="TimeTopologyComplexType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimeComplexType"> + <sequence> + <element name="primitive" type="gml:TimeTopologyPrimitivePropertyType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeTopologyComplexPropertyType"> + <annotation> + <documentation>gml:TimeTopologyComplexPropertyType provides for associating a gml:TimeTopologyComplex with an + object. + </documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeTopologyComplex"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="TimeNode" type="gml:TimeNodeType" substitutionGroup="gml:AbstractTimeTopologyPrimitive"> + <annotation> + <documentation>A time node is a zero-dimensional topological primitive that represents an identifiable node in + time (it is equivalent to a point in space). A node may act as the termination or initiation of any number of + time edges. A time node may be realised as a geometry, its position, whose value is a time instant. + </documentation> + </annotation> + </element> + <complexType name="TimeNodeType"> + <complexContent> + <extension base="gml:AbstractTimeTopologyPrimitiveType"> + <sequence> + <element name="previousEdge" type="gml:TimeEdgePropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="nextEdge" type="gml:TimeEdgePropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="position" type="gml:TimeInstantPropertyType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeNodePropertyType"> + <annotation> + <documentation>gml:TimeNodePropertyType provides for associating a gml:TimeNode with an object</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeNode"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="TimeEdge" type="gml:TimeEdgeType" substitutionGroup="gml:AbstractTimeTopologyPrimitive"> + <annotation> + <documentation>A time edge is a one-dimensional topological primitive. It is an open interval that starts and ends + at a node. The edge may be realised as a geometry whose value is a time period. + </documentation> + </annotation> + </element> + <complexType name="TimeEdgeType"> + <complexContent> + <extension base="gml:AbstractTimeTopologyPrimitiveType"> + <sequence> + <element name="start" type="gml:TimeNodePropertyType"/> + <element name="end" type="gml:TimeNodePropertyType"/> + <element name="extent" type="gml:TimePeriodPropertyType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeEdgePropertyType"> + <annotation> + <documentation>gml:TimeEdgePropertyType provides for associating a gml:TimeEdge with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeEdge"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <simpleType name="SuccessionType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="string"> + <enumeration value="substitution"/> + <enumeration value="division"/> + <enumeration value="fusion"/> + <enumeration value="initiation"/> + </restriction> + </simpleType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/topology.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/topology.xsd new file mode 100644 index 00000000000..dbc6530aebb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/topology.xsd @@ -0,0 +1,454 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:topology:3.2.0">topology.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 14. + Topology is the branch of mathematics describing the properties of objects which are invariant under continuous + deformation. For example, a circle is topologically equivalent to an ellipse because one can be transformed into + the other by stretching. In geographic modelling, the foremost use of topology is in accelerating computational + geometry. The constructs of topology allow characterisation of the spatial relationships between objects using + simple combinatorial or algebraic algorithms. Topology, realised by the appropriate geometry, also allows a + compact and unambiguous mechanism for expressing shared geometry among geographic features. + There are four instantiable classes of primitive topology objects, one for each dimension up to 3D. In addition, + topological complexes are supported, too. + There is strong symmetry in the (topological boundary and coboundary) relationships between topology primitives of + adjacent dimensions. Topology primitives are bounded by directed primitives of one lower dimension. The coboundary + of each topology primitive is formed from directed topology primitives of one higher dimension. + </documentation> + </annotation> + <include schemaLocation="geometryComplexes.xsd"/> + <complexType name="AbstractTopologyType" abstract="true"> + <annotation> + <documentation>This abstract type supplies the root or base type for all topological elements including primitives + and complexes. It inherits AbstractGMLType and hence can be identified using the gml:id attribute. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"/> + </complexContent> + </complexType> + <element name="AbstractTopology" type="gml:AbstractTopologyType" abstract="true" substitutionGroup="gml:AbstractGML"/> + <complexType name="AbstractTopoPrimitiveType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:isolated" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:container" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractTopoPrimitive" type="gml:AbstractTopoPrimitiveType" abstract="true" + substitutionGroup="gml:AbstractTopology"> + <annotation> + <documentation>gml:AbstractTopoPrimitive acts as the base type for all topological primitives. Topology primitives + are the atomic (smallest possible) units of a topology complex. + Each topology primitive may contain references to other topology primitives of codimension 2 or more + (gml:isolated). Conversely, nodes may have faces as containers and nodes and edges may have solids as containers + (gml:container). + </documentation> + </annotation> + </element> + <element name="isolated" type="gml:IsolatedPropertyType"> + <annotation> + <documentation>The gml:isolated property element implements the role of the same name of the ISO 19107 “Isolated + In” association (see ISO 19107:2003, 7.3.10.4). + </documentation> + </annotation> + </element> + <complexType name="IsolatedPropertyType"> + <sequence minOccurs="0"> + <choice> + <element ref="gml:Node"/> + <element ref="gml:Edge"/> + </choice> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="container" type="gml:ContainerPropertyType"> + <annotation> + <documentation>The gml:container property element implements the role of the same name of the ISO 19107 “Isolated + In” association (see ISO 19107:2003, 7.3.10.4). + </documentation> + </annotation> + </element> + <complexType name="ContainerPropertyType"> + <sequence minOccurs="0"> + <choice> + <element ref="gml:Face"/> + <element ref="gml:TopoSolid"/> + </choice> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="NodeType"> + <complexContent> + <extension base="gml:AbstractTopoPrimitiveType"> + <sequence> + <element ref="gml:directedEdge" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:pointProperty" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="Node" type="gml:NodeType" substitutionGroup="gml:AbstractTopoPrimitive"> + <annotation> + <documentation>gml:Node represents the 0-dimensional primitive. + The optional coboundary of a node (gml:directedEdge) is a sequence of directed edges which are incident on this + node. Edges emanating from this node appear in the node coboundary with a negative orientation. + If provided, the aggregationType attribute shall have the value “sequence”. + A node may optionally be realised by a 0-dimensional geometric primitive (gml:pointProperty). + </documentation> + </annotation> + </element> + <element name="directedNode" type="gml:DirectedNodePropertyType"> + <annotation> + <documentation>A gml:directedNode property element describes the boundary of topology edges and is used in the + support of topological point features via the gml:TopoPoint expression, see below. The orientation attribute of + type gml:SignType expresses the sense in which the included node is used: start (“-“) or end (“+”) node. + </documentation> + </annotation> + </element> + <complexType name="DirectedNodePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Node"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="EdgeType"> + <complexContent> + <extension base="gml:AbstractTopoPrimitiveType"> + <sequence> + <element ref="gml:directedNode" minOccurs="2" maxOccurs="2"/> + <element ref="gml:directedFace" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:curveProperty" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="Edge" type="gml:EdgeType" substitutionGroup="gml:AbstractTopoPrimitive"> + <annotation> + <documentation>gml:Edge represents the 1-dimensional primitive. + The topological boundary of an Edge (gml:directedNode) consists of a negatively directed start Node and a + positively directed end Node. + The optional coboundary of an edge (gml:directedFace) is a circular sequence of directed faces which are + incident on this edge in document order. In the 2D case, the orientation of the face on the left of the edge is + "+"; the orientation of the face on the right on its right is "-". + If provided, the aggregationType attribute shall have the value “sequence”. + An edge may optionally be realised by a 1-dimensional geometric primitive (gml:curveProperty). + </documentation> + </annotation> + </element> + <element name="directedEdge" type="gml:DirectedEdgePropertyType"> + <annotation> + <documentation>A gml:directedEdge property element describes the boundary of topology faces, the coBoundary of + topology nodes and is used in the support of topological line features via the gml:TopoCurve expression, see + below. The orientation attribute of type gml:SignType expresses the sense in which the included edge is used, + i.e. forward or reverse. + </documentation> + </annotation> + </element> + <complexType name="DirectedEdgePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Edge"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="FaceType"> + <complexContent> + <extension base="gml:AbstractTopoPrimitiveType"> + <sequence> + <element ref="gml:directedEdge" maxOccurs="unbounded"/> + <element ref="gml:directedTopoSolid" minOccurs="0" maxOccurs="2"/> + <element ref="gml:surfaceProperty" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="Face" type="gml:FaceType" substitutionGroup="gml:AbstractTopoPrimitive"> + <annotation> + <documentation>gml:Face represents the 2-dimensional topology primitive. + The topological boundary of a face (gml:directedEdge) consists of a sequence of directed edges. If provided, the + aggregationType attribute shall have the value “sequence”. + The optional coboundary of a face (gml:directedTopoSolid) is a pair of directed solids which are bounded by this + face. A positively directed solid corresponds to a solid which lies in the direction of the negatively directed + normal to the face in any geometric realisation. + A face may optionally be realised by a 2-dimensional geometric primitive (gml:surfaceProperty). + </documentation> + </annotation> + </element> + <element name="directedFace" type="gml:DirectedFacePropertyType"> + <annotation> + <documentation>The gml:directedFace property element describes the boundary of topology solids, in the coBoundary + of topology edges and is used in the support of surface features via the gml:TopoSurface expression, see below. + The orientation attribute of type gml:SignType expresses the sense in which the included face is used i.e. + inward or outward with respect to the surface normal in any geometric realisation. + </documentation> + </annotation> + </element> + <complexType name="DirectedFacePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Face"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TopoSolidType"> + <complexContent> + <extension base="gml:AbstractTopoPrimitiveType"> + <sequence> + <element ref="gml:directedFace" maxOccurs="unbounded"/> + <element ref="gml:solidProperty" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoSolid" type="gml:TopoSolidType" substitutionGroup="gml:AbstractTopoPrimitive"> + <annotation> + <documentation>gml:TopoSolid represents the 3-dimensional topology primitive. + The topological boundary of a solid (gml:directedFace) consists of a set of directed faces. + A solid may optionally be realised by a 3-dimensional geometric primitive (gml:solidProperty). + </documentation> + </annotation> + </element> + <element name="directedTopoSolid" type="gml:DirectedTopoSolidPropertyType"> + <annotation> + <documentation>The gml:directedSolid property element describes the coBoundary of topology faces and is used in + the support of volume features via the gml:TopoVolume expression, see below. The orientation attribute of type + gml:SignType expresses the sense in which the included solid appears in the face coboundary. In the context of a + gml:TopoVolume the orientation attribute has no meaning. + </documentation> + </annotation> + </element> + <complexType name="DirectedTopoSolidPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:TopoSolid"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TopoPointType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:directedNode"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TopoPoint" type="gml:TopoPointType"> + <annotation> + <documentation>The intended use of gml:TopoPoint is to appear within a point feature to express the structural and + possibly geometric relationships of this feature to other features via shared node definitions. + </documentation> + </annotation> + </element> + <complexType name="TopoPointPropertyType"> + <sequence> + <element ref="gml:TopoPoint"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoPointProperty" type="gml:TopoPointPropertyType"> + <annotation> + <documentation>The gml:topoPointProperty property element may be used in features to express their relationship to + the referenced topology node. + </documentation> + </annotation> + </element> + <complexType name="TopoCurveType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:directedEdge" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoCurve" type="gml:TopoCurveType"> + <annotation> + <documentation>gml:TopoCurve represents a homogeneous topological expression, a sequence of directed edges, which + if realised are isomorphic to a geometric curve primitive. The intended use of gml:TopoCurve is to appear within + a line feature to express the structural and geometric relationships of this feature to other features via the + shared edge definitions. + If provided, the aggregationType attribute shall have the value “sequence”. + </documentation> + </annotation> + </element> + <complexType name="TopoCurvePropertyType"> + <sequence> + <element ref="gml:TopoCurve"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoCurveProperty" type="gml:TopoCurvePropertyType"> + <annotation> + <documentation>The gml:topoCurveProperty property element may be used in features to express their relationship to + the referenced topology edges. + </documentation> + </annotation> + </element> + <complexType name="TopoSurfaceType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:directedFace" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoSurface" type="gml:TopoSurfaceType"> + <annotation> + <documentation>gml:TopoSurface represents a homogeneous topological expression, a set of directed faces, which if + realised are isomorphic to a geometric surface primitive. The intended use of gml:TopoSurface is to appear + within a surface feature to express the structural and possibly geometric relationships of this surface feature + to other features via the shared face definitions. + </documentation> + </annotation> + </element> + <complexType name="TopoSurfacePropertyType"> + <sequence> + <element ref="gml:TopoSurface"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoSurfaceProperty" type="gml:TopoSurfacePropertyType"> + <annotation> + <documentation>The gml:topoSurfaceProperty property element may be used in features to express their relationship + to the referenced topology faces. + </documentation> + </annotation> + </element> + <complexType name="TopoVolumeType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:directedTopoSolid" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoVolume" type="gml:TopoVolumeType"> + <annotation> + <documentation>gml:TopoVolume represents a homogeneous topological expression, a set of directed topologic solids, + which if realised are isomorphic to a geometric solid primitive. The intended use of gml:TopoVolume is to appear + within a solid feature to express the structural and geometric relationships of this solid feature to other + features via the shared solid definitions. + </documentation> + </annotation> + </element> + <complexType name="TopoVolumePropertyType"> + <sequence> + <element ref="gml:TopoVolume"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoVolumeProperty" type="gml:TopoVolumePropertyType"> + <annotation> + <documentation>The gml:topoVolumeProperty element may be used in features to express their relationship to the + referenced topology volume. + </documentation> + </annotation> + </element> + <complexType name="TopoComplexType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:maximalComplex"/> + <element ref="gml:superComplex" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:subComplex" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:topoPrimitiveMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:topoPrimitiveMembers" minOccurs="0"/> + </sequence> + <attribute name="isMaximal" type="boolean" default="false"/> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoComplex" type="gml:TopoComplexType" substitutionGroup="gml:AbstractTopology"> + <annotation> + <documentation>gml:TopoComplex is a collection of topological primitives. + Each complex holds a reference to its maximal complex (gml:maximalComplex) and optionally to sub- or + super-complexes (gml:subComplex, gml:superComplex). + A topology complex contains its primitive and sub-complex members. + </documentation> + </annotation> + </element> + <element name="subComplex" type="gml:TopoComplexMemberType"> + <annotation> + <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding + for relationships between topology complexes as described for gml:TopoComplex above. + </documentation> + </annotation> + </element> + <element name="superComplex" type="gml:TopoComplexMemberType"> + <annotation> + <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding + for relationships between topology complexes as described for gml:TopoComplex above. + </documentation> + </annotation> + </element> + <element name="maximalComplex" type="gml:TopoComplexMemberType"> + <annotation> + <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding + for relationships between topology complexes as described for gml:TopoComplex above. + </documentation> + </annotation> + </element> + <element name="topoPrimitiveMember" type="gml:TopoPrimitiveMemberType"> + <annotation> + <documentation>The gml:topoPrimitiveMember property element encodes for the relationship between a topology + complex and a single topology primitive. + </documentation> + </annotation> + </element> + <complexType name="TopoPrimitiveMemberType"> + <sequence minOccurs="0"> + <element ref="gml:AbstractTopoPrimitive"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoPrimitiveMembers" type="gml:TopoPrimitiveArrayAssociationType"> + <annotation> + <documentation>The gml:topoPrimitiveMembers property element encodes the relationship between a topology complex + and an arbitrary number of topology primitives. + </documentation> + </annotation> + </element> + <complexType name="TopoPrimitiveArrayAssociationType"> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractTopoPrimitive"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TopoComplexMemberType"> + <sequence minOccurs="0"> + <element ref="gml:TopoComplex"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="topoComplexProperty" type="gml:TopoComplexMemberType"> + <annotation> + <documentation>The gml:topoComplexProperty property element encodes the relationship between a GML object and a + topological complex. + </documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/units.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/units.xsd new file mode 100644 index 00000000000..d6053ee0d77 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/units.xsd @@ -0,0 +1,223 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" + xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0" xml:lang="en"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:units:3.2.0">units.xsd</appinfo> + <documentation>See ISO/DIS 17.2. + Several GML Schema components concern or require a reference scale or units of measure. Units are required for + quantities that may occur as values of properties of feature types, as the results of observations, in the range + parameters of a coverage, and for measures used in Coordinate Reference System definitions. + The basic unit definition is an extension of the general gml:Definition element defined in 16.2.1. Three + specialized elements for unit definition are further derived from this. + This model is based on the SI system of units [ISO 1000], which distinguishes between Base Units and Derived + Units. + - Base Units are the preferred units for a set of orthogonal fundamental quantities which define the particular + system of units, which may not be derived by combination of other base units. + - Derived Units are the preferred units for other quantities in the system, which may be defined by algebraic + combination of the base units. + In some application areas Conventional units are used, which may be converted to the preferred units using a + scaling factor or a formula which defines a re-scaling and offset. The set of preferred units for all physical + quantity types in a particular system of units is composed of the union of its base units and derived units. + Unit definitions are substitutable for the gml:Definition element declared as part of the dictionary model. A + dictionary that contains only unit definitions and references to unit definitions is a units dictionary. + </documentation> + </annotation> + <include schemaLocation="dictionary.xsd"/> + <element name="unitOfMeasure" type="gml:UnitOfMeasureType"> + <annotation> + <documentation>The element gml:unitOfMeasure is a property element to refer to a unit of measure. This is an empty + element which carries a reference to a unit of measure definition. + </documentation> + </annotation> + </element> + <complexType name="UnitOfMeasureType"> + <sequence/> + <attribute name="uom" type="gml:UomIdentifier" use="required"/> + </complexType> + <element name="UnitDefinition" type="gml:UnitDefinitionType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A gml:UnitDefinition is a general definition of a unit of measure. This generic element is used + only for units for which no relationship with other units or units systems is known. + The content model of gml:UnitDefinition adds three additional properties to gml:Definition, gml:quantityType, + gml:quantityTypeReference and gml:catalogSymbol. + The gml:catalogSymbol property optionally gives the short symbol used for this unit. This element is usually + used when the relationship of this unit to other units or units systems is unknown. + </documentation> + </annotation> + </element> + <complexType name="UnitDefinitionType"> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element ref="gml:quantityType" minOccurs="0"/> + <element ref="gml:quantityTypeReference" minOccurs="0"/> + <element ref="gml:catalogSymbol" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="quantityType" type="gml:StringOrRefType"> + <annotation> + <documentation>The gml:quantityType property indicates the phenomenon to which the units apply. This element + contains an informal description of the phenomenon or type of physical quantity that is measured or observed. + When the physical quantity is the result of an observation or measurement, this term is known as observable type + or measurand. + The use of gml:quantityType for references to remote values is deprecated. + </documentation> + </annotation> + </element> + <element name="quantityTypeReference" type="gml:ReferenceType"> + <annotation> + <documentation>The gml:quantityTypeReference property indicates the phenomenon to which the units apply. The + content is a reference to a remote value. + </documentation> + </annotation> + </element> + <element name="catalogSymbol" type="gml:CodeType"> + <annotation> + <documentation>The catalogSymbol is the preferred lexical symbol used for this unit of measure. + The codeSpace attribute in gml:CodeType identifies a namespace for the catalog symbol value, and might reference + the external catalog. The string value in gml:CodeType contains the value of a symbol that should be unique + within this catalog namespace. This symbol often appears explicitly in the catalog, but it could be a + combination of symbols using a specified algebra of units. + </documentation> + </annotation> + </element> + <element name="BaseUnit" type="gml:BaseUnitType" substitutionGroup="gml:UnitDefinition"> + <annotation> + <documentation>A base unit is a unit of measure that cannot be derived by combination of other base units within a + particular system of units. For example, in the SI system of units, the base units are metre, kilogram, second, + Ampere, Kelvin, mole, and candela, for the physical quantity types length, mass, time interval, electric + current, thermodynamic temperature, amount of substance and luminous intensity, respectively. + gml:BaseUnit extends generic gml:UnitDefinition with the property gml:unitsSystem, which carries a reference to + the units system to which this base unit is asserted to belong. + </documentation> + </annotation> + </element> + <complexType name="BaseUnitType"> + <complexContent> + <extension base="gml:UnitDefinitionType"> + <sequence> + <element name="unitsSystem" type="gml:ReferenceType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="DerivedUnit" type="gml:DerivedUnitType" substitutionGroup="gml:UnitDefinition"> + <annotation> + <documentation>Derived units are defined by combination of other units. Derived units are used for quantities + other than those corresponding to the base units, such as hertz (s-1) for frequency, Newton (kg.m/s2) for force. + Derived units based directly on base units are usually preferred for quantities other than the fundamental + quantities within a system. If a derived unit is not the preferred unit, the gml:ConventionalUnit element should + be used instead. + The gml:DerivedUnit extends gml:UnitDefinition with the property gml:derivationUnitTerms. + </documentation> + </annotation> + </element> + <complexType name="DerivedUnitType"> + <complexContent> + <extension base="gml:UnitDefinitionType"> + <sequence> + <element ref="gml:derivationUnitTerm" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="derivationUnitTerm" type="gml:DerivationUnitTermType"> + <annotation> + <documentation>A set of gml:derivationUnitTerm elements describes a derived unit of measure. Each element carries + an integer exponent. The terms are combined by raising each referenced unit to the power of its exponent and + forming the product. + This unit term references another unit of measure (uom) and provides an integer exponent applied to that unit in + defining the compound unit. The exponent may be positive or negative, but not zero. + </documentation> + </annotation> + </element> + <complexType name="DerivationUnitTermType"> + <complexContent> + <extension base="gml:UnitOfMeasureType"> + <attribute name="exponent" type="integer"/> + </extension> + </complexContent> + </complexType> + <element name="ConventionalUnit" type="gml:ConventionalUnitType" substitutionGroup="gml:UnitDefinition"> + <annotation> + <documentation>Conventional units that are neither base units nor defined by direct combination of base units are + used in many application domains. For example electronVolt for energy, feet and nautical miles for length. In + most cases there is a known, usually linear, conversion to a preferred unit which is either a base unit or + derived by direct combination of base units. + The gml:ConventionalUnit extends gml:UnitDefinition with a property that describes a conversion to a preferred + unit for this physical quantity. When the conversion is exact, the element gml:conversionToPreferredUnit should + be used, or when the conversion is not exact the element gml:roughConversionToPreferredUnit is available. Both + of these elements have the same content model. The gml:derivationUnitTerm property defined above is included to + allow a user to optionally record how this unit may be derived from other (“more primitive”) units. + </documentation> + </annotation> + </element> + <complexType name="ConventionalUnitType"> + <complexContent> + <extension base="gml:UnitDefinitionType"> + <sequence> + <choice> + <element ref="gml:conversionToPreferredUnit"/> + <element ref="gml:roughConversionToPreferredUnit"/> + </choice> + <element ref="gml:derivationUnitTerm" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="conversionToPreferredUnit" type="gml:ConversionToPreferredUnitType"> + <annotation> + <documentation>The elements gml:conversionToPreferredUnit and gml:roughConversionToPreferredUnit represent + parameters used to convert conventional units to preferred units for this physical quantity type. A preferred + unit is either a Base Unit or a Derived Unit that is selected for all values of one physical quantity type. + </documentation> + </annotation> + </element> + <element name="roughConversionToPreferredUnit" type="gml:ConversionToPreferredUnitType"> + <annotation> + <documentation>The elements gml:conversionToPreferredUnit and gml:roughConversionToPreferredUnit represent + parameters used to convert conventional units to preferred units for this physical quantity type. A preferred + unit is either a Base Unit or a Derived Unit that is selected for all values of one physical quantity type. + </documentation> + </annotation> + </element> + <complexType name="ConversionToPreferredUnitType"> + <annotation> + <documentation>The inherited attribute uom references the preferred unit that this conversion applies to. The + conversion of a unit to the preferred unit for this physical quantity type is specified by an arithmetic + conversion (scaling and/or offset). The content model extends gml:UnitOfMeasureType, which has a mandatory + attribute uom which identifies the preferred unit for the physical quantity type that this conversion applies + to. The conversion is specified by a choice of + - gml:factor, which defines the scale factor, or + - gml:formula, which defines a formula + by which a value using the conventional unit of measure can be converted to obtain the corresponding value using + the preferred unit of measure. + The formula defines the parameters of a simple formula by which a value using the conventional unit of measure + can be converted to the corresponding value using the preferred unit of measure. The formula element contains + elements a, b, c and d, whose values use the XML Schema type double. These values are used in the formula y = (a + + bx) / (c + dx), where x is a value using this unit, and y is the corresponding value using the base unit. The + elements a and d are optional, and if values are not provided, those parameters are considered to be zero. If + values are not provided for both a and d, the formula is equivalent to a fraction with numerator and denominator + parameters. + </documentation> + </annotation> + <complexContent> + <extension base="gml:UnitOfMeasureType"> + <choice> + <element name="factor" type="double"/> + <element name="formula" type="gml:FormulaType"/> + </choice> + </extension> + </complexContent> + </complexType> + <complexType name="FormulaType"> + <sequence> + <element name="a" type="double" minOccurs="0"/> + <element name="b" type="double"/> + <element name="c" type="double"/> + <element name="d" type="double" minOccurs="0"/> + </sequence> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gml/valueObjects.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/valueObjects.xsd new file mode 100644 index 00000000000..067145f632e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gml/valueObjects.xsd @@ -0,0 +1,263 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:gml="http://www.opengis.net/gml" xmlns:sch="http://www.ascc.net/xml/schematron" + targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" version="3.2.0"> + <annotation> + <appinfo source="urn:ogc:specification:gml:schema-xsd:valueObjects:3.2.0">valueObjects.xsd</appinfo> + <documentation>See ISO/DIS 19136 17.5. + The elements declared in this Clause build on other GML schema components, in particular gml:AbstractTimeObject, + gml:AbstractGeometry, and the following types: gml:MeasureType, gml:MeasureListType, gml:CodeType, + gml:CodeOrNilReasonListType, gml:BooleanOrNilReasonListType, gml:IntegerOrNilReasonList. + Of particular interest are elements that are the heads of substitution groups, and one named choice group. These + are the primary reasons for the value objects schema, since they may act as variables in the definition of content + models, such as Observations, when it is desired to permit alternative value types to occur some of which may have + complex content such as arrays, geometry and time objects, and where it is useful not to prescribe the actual + value type in advance. The members of the groups include quantities, category classifications, boolean, count, + temporal and spatial values, and aggregates of these. + The value objects are defined in a hierarchy. The following relationships are defined: + - Concrete elements gml:Quantity, gml:Category, gml:Count and gml:Boolean are substitutable for the abstract + element gml:AbstractScalarValue. + - Concrete elements gml:QuantityList, gml:CategoryList, gml:CountList and gml:BooleanList are substitutable for + the abstract element gml:AbstractScalarValueList. + - Concrete element gml:ValueArray is substitutable for the concrete element gml:CompositeValue. + - Abstract elements gml:AbstractScalarValue and gml:AbstractScalarValueList, and concrete elements + gml:CompositeValue, gml:ValueExtent, gml:CategoryExtent, gml:CountExtent and gml:QuantityExtent are substitutable + for abstract element gml:AbstractValue. + - Abstract elements gml:AbstractValue, gml:AbstractTimeObject and gml:AbstractGeometry are all in a choice group + named gml:Value, which is used for compositing in gml:CompositeValue and gml:ValueExtent. + - Schemas which need values may use the abstract element gml:AbstractValue in a content model in order to permit + any of the gml:AbstractScalarValues, gml:AbstractScalarValueLists, gml:CompositeValue or gml:ValueExtent to occur + in an instance, or the named group gml:Value to also permit gml:AbstractTimeObjects, gml:AbstractGeometrys. + </documentation> + </annotation> + <include schemaLocation="geometryBasic0d1d.xsd"/> + <include schemaLocation="temporal.xsd"/> + <element name="Boolean" substitutionGroup="gml:AbstractScalarValue" nillable="true"> + <complexType> + <simpleContent> + <extension base="boolean"> + <attribute name="nilReason" type="gml:NilReasonType"/> + </extension> + </simpleContent> + </complexType> + </element> + <element name="BooleanList" type="gml:booleanOrNilReasonList" substitutionGroup="gml:AbstractScalarValueList"/> + <element name="Category" substitutionGroup="gml:AbstractScalarValue" nillable="true"> + <annotation> + <documentation>A gml:Category has an optional XML attribute codeSpace, whose value is a URI which identifies a + dictionary, codelist or authority for the term. + </documentation> + </annotation> + <complexType> + <simpleContent> + <extension base="gml:CodeType"> + <attribute name="nilReason" type="gml:NilReasonType"/> + </extension> + </simpleContent> + </complexType> + </element> + <element name="CategoryList" type="gml:CodeOrNilReasonListType" substitutionGroup="gml:AbstractScalarValueList"/> + <element name="Count" substitutionGroup="gml:AbstractScalarValue" nillable="true"> + <complexType> + <simpleContent> + <extension base="integer"> + <attribute name="nilReason" type="gml:NilReasonType"/> + </extension> + </simpleContent> + </complexType> + </element> + <element name="CountList" type="gml:integerOrNilReasonList" substitutionGroup="gml:AbstractScalarValueList"/> + <element name="Quantity" substitutionGroup="gml:AbstractScalarValue" nillable="true"> + <annotation> + <documentation>An XML attribute uom (“unit of measure”) is required, whose value is a URI which identifies the + definition of a ratio scale or units by which the numeric value shall be multiplied, or an interval or position + scale on which the value occurs. + </documentation> + </annotation> + <complexType> + <simpleContent> + <extension base="gml:MeasureType"> + <attribute name="nilReason" type="gml:NilReasonType"/> + </extension> + </simpleContent> + </complexType> + </element> + <element name="QuantityList" type="gml:MeasureOrNilReasonListType" substitutionGroup="gml:AbstractScalarValueList"/> + <element name="AbstractValue" type="anyType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:AbstractValue is an abstract element which acts as the head of a substitution group which + contains gml:AbstractScalarValue, gml:AbstractScalarValueList, gml:CompositeValue and gml:ValueExtent, and + (transitively) the elements in their substitution groups. + These elements may be used in an application schema as variables, so that in an XML instance document any member + of its substitution group may occur. + </documentation> + </annotation> + </element> + <element name="AbstractScalarValue" type="anyType" abstract="true" substitutionGroup="gml:AbstractValue"> + <annotation> + <documentation>gml:AbstractScalarValue is an abstract element which acts as the head of a substitution group which + contains gml:Boolean, gml:Category, gml:Count and gml:Quantity, and (transitively) the elements in their + substitution groups. + </documentation> + </annotation> + </element> + <element name="AbstractScalarValueList" type="anyType" abstract="true" substitutionGroup="gml:AbstractValue"> + <annotation> + <documentation>gml:AbstractScalarValueList is an abstract element which acts as the head of a substitution group + which contains gml:BooleanList, gml:CategoryList, gml:CountList and gml:QuantityList, and (transitively) the + elements in their substitution groups. + </documentation> + </annotation> + </element> + <group name="Value"> + <annotation> + <documentation>This is a convenience choice group which unifies generic values defined in this Clause with spatial + and temporal objects and the measures described above, so that any of these may be used within aggregate values. + </documentation> + </annotation> + <choice> + <element ref="gml:AbstractValue"/> + <element ref="gml:AbstractGeometry"/> + <element ref="gml:AbstractTimeObject"/> + <element ref="gml:Null"/> + </choice> + </group> + <element name="valueProperty" type="gml:ValuePropertyType"> + <annotation> + <documentation>Property that refers to, or contains, a Value. Convenience element for general use.</documentation> + </annotation> + </element> + <element name="valueComponent" type="gml:ValuePropertyType"> + <annotation> + <documentation>Property that refers to, or contains, a Value.</documentation> + </annotation> + </element> + <complexType name="ValuePropertyType"> + <sequence minOccurs="0"> + <group ref="gml:Value"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="valueComponents" type="gml:ValueArrayPropertyType"> + <annotation> + <documentation>Property that contains Values.</documentation> + </annotation> + </element> + <complexType name="ValueArrayPropertyType"> + <sequence maxOccurs="unbounded"> + <group ref="gml:Value"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="CompositeValue" type="gml:CompositeValueType" substitutionGroup="gml:AbstractValue"> + <annotation> + <documentation>gml:CompositeValue is an aggregate value built from other values . It contains zero or an arbitrary + number of gml:valueComponent elements, and zero or one gml:valueComponents property elements. It may be used for + strongly coupled aggregates (vectors, tensors) or for arbitrary collections of values. + </documentation> + </annotation> + </element> + <complexType name="CompositeValueType"> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:valueComponent" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:valueComponents" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="ValueArray" type="gml:ValueArrayType" substitutionGroup="gml:CompositeValue"> + <annotation> + <documentation>A Value Array is used for homogeneous arrays of primitive and aggregate values. + The member values may be scalars, composites, arrays or lists. + ValueArray has the same content model as CompositeValue, but the member values shall be homogeneous. The element + declaration contains a Schematron constraint which expresses this restriction precisely. Since the members are + homogeneous, the gml:referenceSystem (uom, codeSpace) may be specified on the gml:ValueArray itself and + inherited by all the members if desired. + </documentation> + <appinfo> + <sch:pattern name="Check either codeSpace or uom not both"> + <sch:rule context="gml:ValueArray"> + <sch:report test="@codeSpace and @uom">ValueArray may not carry both a reference to a codeSpace and a uom + </sch:report> + </sch:rule> + </sch:pattern> + <sch:pattern name="Check components are homogeneous"> + <sch:rule context="gml:ValueArray"> + <sch:assert + test="count(gml:valueComponent/*) = count(gml:valueComponent/*[name() = name(../../gml:valueComponent[1]/*[1])])"> + All components of + <sch:name/> + shall be of the same type + </sch:assert> + <sch:assert test="count(gml:valueComponents/*) = count(gml:valueComponents/*[name() = name(../*[1])])">All + components of + <sch:name/> + shall be of the same type + </sch:assert> + </sch:rule> + </sch:pattern> + </appinfo> + </annotation> + </element> + <complexType name="ValueArrayType"> + <complexContent> + <extension base="gml:CompositeValueType"> + <attributeGroup ref="gml:referenceSystem"/> + </extension> + </complexContent> + </complexType> + <attributeGroup name="referenceSystem"> + <attribute name="codeSpace" type="anyURI"/> + <attribute name="uom" type="gml:UomIdentifier"/> + </attributeGroup> + <element name="CategoryExtent" type="gml:CategoryExtentType" substitutionGroup="gml:AbstractValue"/> + <complexType name="CategoryExtentType"> + <simpleContent> + <restriction base="gml:CodeOrNilReasonListType"> + <length value="2"/> + </restriction> + </simpleContent> + </complexType> + <element name="CountExtent" type="gml:CountExtentType" substitutionGroup="gml:AbstractValue"/> + <simpleType name="CountExtentType"> + <restriction base="gml:integerOrNilReasonList"> + <length value="2"/> + </restriction> + </simpleType> + <element name="QuantityExtent" type="gml:QuantityExtentType" substitutionGroup="gml:AbstractValue"/> + <complexType name="QuantityExtentType"> + <simpleContent> + <restriction base="gml:MeasureOrNilReasonListType"> + <length value="2"/> + </restriction> + </simpleContent> + </complexType> + <complexType name="BooleanPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Boolean"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="CategoryPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Category"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="QuantityPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Quantity"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="CountPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Count"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/catalogues.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/catalogues.xsd new file mode 100644 index 00000000000..bf7c7a6127c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/catalogues.xsd @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" + version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 04-27-2005 17:16:11 ====== + Handcrafted + </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="../gmx/uomItem.xsd"/> + <xs:include schemaLocation="../gmx/codelistItem.xsd"/> + <xs:include schemaLocation="../gmx/crsItem.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="AbstractCT_Catalogue_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="scope" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="fieldOfApplication" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="versionNumber" type="gco:CharacterString_PropertyType"/> + <xs:element name="versionDate" type="gco:Date_PropertyType"/> + <xs:element name="language" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="characterSet" type="gmd:MD_CharacterSetCode_PropertyType" minOccurs="0"/> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="subCatalogue" type="gmx:CT_Catalogue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractCT_Catalogue" type="gmx:AbstractCT_Catalogue_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="CT_Catalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:AbstractCT_Catalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CT_CodelistCatalogue_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractCT_Catalogue_Type"> + <xs:sequence> + <xs:element name="codelistItem" type="gmx:CT_Codelist_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CT_CodelistCatalogue" type="gmx:CT_CodelistCatalogue_Type" + substitutionGroup="gmx:AbstractCT_Catalogue"/> + <!-- ........................................................................ --> + <xs:complexType name="CT_CodelistCatalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CT_CodelistCatalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CT_CrsCatalogue_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractCT_Catalogue_Type"> + <xs:sequence> + <xs:element name="crs" type="gmx:CT_CRS_PropertyType" maxOccurs="unbounded"/> + <xs:element name="coordinateSystem" type="gmx:CT_CoordinateSystem_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="axis" type="gmx:CT_CoordinateSystemAxis_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="datum" type="gmx:CT_Datum_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="ellipsoid" type="gmx:CT_Ellipsoid_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="primeMeridian" type="gmx:CT_PrimeMeridian_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="operation" type="gmx:CT_Operation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="operationMethod" type="gmx:CT_OperationMethod_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="parameters" type="gmx:CT_OperationParameters_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CT_CrsCatalogue" type="gmx:CT_CrsCatalogue_Type" substitutionGroup="gmx:AbstractCT_Catalogue"/> + <!-- ........................................................................ --> + <xs:complexType name="CT_CrsCatalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CT_CrsCatalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CT_UomCatalogue_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractCT_Catalogue_Type"> + <xs:sequence> + <xs:element name="uomItem" type="gmx:UnitDefinition_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CT_UomCatalogue" type="gmx:CT_UomCatalogue_Type" substitutionGroup="gmx:AbstractCT_Catalogue"/> + <!-- ........................................................................ --> + <xs:complexType name="CT_UomCatalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CT_UomCatalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/codelistItem.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/codelistItem.xsd new file mode 100644 index 00000000000..1d5c5682d71 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/codelistItem.xsd @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 03-15-2005 09:14:50 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_CodelistValue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_Codelist_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeListDictionary"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CodeDefinition_Type"> + <xs:complexContent> + <xs:extension base="gml:DefinitionType"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CodeDefinition" type="gmx:CodeDefinition_Type" substitutionGroup="gml:Definition"/> + <!-- ........................................................................ --> + <xs:complexType name="CodeDefinition_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CodeListDictionary_Type"> + <xs:annotation> + <xs:documentation>Constraints: - 1) metadataProperty.card = 0 - 2) dictionaryEntry.card = 0</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:DictionaryType"> + <xs:sequence> + <xs:element name="codeEntry" type="gmx:CodeDefinition_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CodeListDictionary" type="gmx:CodeListDictionary_Type" substitutionGroup="gml:Dictionary"/> + <!-- ........................................................................ --> + <xs:complexType name="CodeListDictionary_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeListDictionary"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_CodeDefinition_Type"> + <xs:complexContent> + <xs:extension base="gmx:CodeDefinition_Type"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CodeAlternativeExpression_PropertyType" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CodeDefinition" type="gmx:ML_CodeDefinition_Type" substitutionGroup="gmx:CodeDefinition"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CodeDefinition_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CodeDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_CodeListDictionary_Type"> + <xs:annotation> + <xs:documentation>Constraint: codeEntry.type = ML_CodeListDefinition</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmx:CodeListDictionary_Type"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:ClAlternativeExpression_PropertyType" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CodeListDictionary" type="gmx:ML_CodeListDictionary_Type" + substitutionGroup="gmx:CodeListDictionary"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CodeListDictionary_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CodeListDictionary"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!--===================== Alternative Expresssion type ===============================--> + <xs:complexType name="ClAlternativeExpression_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:DefinitionType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ClAlternativeExpression" type="gmx:ClAlternativeExpression_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="ClAlternativeExpression_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ClAlternativeExpression"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <xs:complexType name="CodeAlternativeExpression_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:DefinitionType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CodeAlternativeExpression" type="gmx:CodeAlternativeExpression_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CodeAlternativeExpression_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeAlternativeExpression"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--===End Of File===--> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/crsItem.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/crsItem.xsd new file mode 100644 index 00000000000..42d07540e4b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/crsItem.xsd @@ -0,0 +1,1049 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml" + xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 03-15-2005 09:15:11 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_CRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_CoordinateSystem_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractCoordinateSystem"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_CoordinateSystemAxis_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:CoordinateSystemAxis"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_Datum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_Ellipsoid_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:Ellipsoid"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_PrimeMeridian_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:PrimeMeridian"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_Operation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractCoordinateOperation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_OperationMethod_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:OperationMethod"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_OperationParameters_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractGeneralOperationParameter"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--============================= Multilingual types ===============================--> + <!--============================== GML extensions ===============================--> + <!--================ GML XSchema: coordinateReferenceSystems.xsd ==================--> + <xs:complexType name="ML_CompoundCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:CompoundCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CompoundCRS" type="gmx:ML_CompoundCRS_Type" substitutionGroup="gml:CompoundCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CompoundCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CompoundCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--### gml:GeocentricCRS and gml:GeographicCRS were deprecated in 19136 DIS and replaced with gml:GeodeticCRS ###--> + <!--<xs:complexType name="ML_GeocentricCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:GeocentricCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType>--> + <!-- ........................................................................ --> + <!--<xs:element name="ML_GeocentricCRS" type="gmx:ML_GeocentricCRS_Type" substitutionGroup="gml:GeocentricCRS"/>--> + <!-- ........................................................................ --> + <!--<xs:complexType name="ML_GeocentricCRS_PropertyType"> + <xs:sequence> + <xs:element ref="gmx:ML_GeocentricCRS" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType>--> + <!-- =========================================================================== --> + <!--### gml:GeocentricCRS and gml:GeographicCRS were deprecated in 19136 DIS and replaced with gml:GeodeticCRS ###--> + <!--<xs:complexType name="ML_GeographicCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:GeographicCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType>--> + <!-- ........................................................................ --> + <!--<xs:element name="ML_GeographicCRS" type="gmx:ML_GeographicCRS_Type" substitutionGroup="gml:GeographicCRS"/>--> + <!-- ........................................................................ --> + <!--<xs:complexType name="ML_GeographicCRS_PropertyType"> + <xs:sequence> + <xs:element ref="gmx:ML_GeographicCRS" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType>--> + <!-- =========================================================================== --> + <xs:complexType name="ML_GeodeticCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:GeodeticCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_GeodeticCRS" type="gmx:ML_GeodeticCRS_Type" substitutionGroup="gml:GeodeticCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_GeodeticCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_GeodeticCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_EngineeringCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:EngineeringCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_EngineeringCRS" type="gmx:ML_EngineeringCRS_Type" substitutionGroup="gml:EngineeringCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_EngineeringCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_EngineeringCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_VerticalCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:VerticalCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_VerticalCRS" type="gmx:ML_VerticalCRS_Type" substitutionGroup="gml:VerticalCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_VerticalCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_VerticalCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_TemporalCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:TemporalCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_TemporalCRS" type="gmx:ML_TemporalCRS_Type" substitutionGroup="gml:TemporalCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_TemporalCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_TemporalCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_ImageCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:ImageCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ImageCRS" type="gmx:ML_ImageCRS_Type" substitutionGroup="gml:ImageCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ImageCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ImageCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_ProjectedCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:ProjectedCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ProjectedCRS" type="gmx:ML_ProjectedCRS_Type" substitutionGroup="gml:ProjectedCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ProjectedCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ProjectedCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_DerivedCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:DerivedCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_DerivedCRS" type="gmx:ML_DerivedCRS_Type" substitutionGroup="gml:DerivedCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_DerivedCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_DerivedCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--====================== GML XSchema: coordinateSystems.xsd =====================--> + <xs:complexType name="ML_CoordinateSystemAxis_Type"> + <xs:complexContent> + <xs:extension base="gml:CoordinateSystemAxisType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAxisAlt_PropertyType" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CoordinateSystemAxis" type="gmx:ML_CoordinateSystemAxis_Type" + substitutionGroup="gml:CoordinateSystemAxis"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CoordinateSystemAxis_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CoordinateSystemAxis"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_EllipsoidalCS_Type"> + <xs:complexContent> + <xs:extension base="gml:EllipsoidalCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_EllipsoidalCS" type="gmx:ML_EllipsoidalCS_Type" substitutionGroup="gml:EllipsoidalCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_EllipsoidalCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_EllipsoidalCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_CartesianCS_Type"> + <xs:complexContent> + <xs:extension base="gml:CartesianCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CartesianCS" type="gmx:ML_CartesianCS_Type" substitutionGroup="gml:CartesianCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CartesianCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CartesianCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_AffineCS_Type"> + <xs:complexContent> + <xs:extension base="gml:AffineCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_AffineCS" type="gmx:ML_AffineCS_Type" substitutionGroup="gml:AffineCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_AffineCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_AffineCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_UserDefinedCS_Type"> + <xs:complexContent> + <xs:extension base="gml:UserDefinedCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_UserDefinedCS" type="gmx:ML_UserDefinedCS_Type" substitutionGroup="gml:UserDefinedCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_UserDefinedCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_UserDefinedCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_VerticalCS_Type"> + <xs:complexContent> + <xs:extension base="gml:VerticalCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_VerticalCS" type="gmx:ML_VerticalCS_Type" substitutionGroup="gml:VerticalCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_VerticalCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_VerticalCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_TimeCS_Type"> + <xs:complexContent> + <xs:extension base="gml:TimeCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_TimeCS" type="gmx:ML_TimeCS_Type" substitutionGroup="gml:TimeCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_TimeCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_TimeCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_CylindricalCS_Type"> + <xs:complexContent> + <xs:extension base="gml:CylindricalCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CylindricalCS" type="gmx:ML_CylindricalCS_Type" substitutionGroup="gml:CylindricalCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CylindricalCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CylindricalCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_SphericalCS_Type"> + <xs:complexContent> + <xs:extension base="gml:SphericalCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_SphericalCS" type="gmx:ML_SphericalCS_Type" substitutionGroup="gml:SphericalCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_SphericalCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_SphericalCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_PolarCS_Type"> + <xs:complexContent> + <xs:extension base="gml:PolarCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_PolarCS" type="gmx:ML_PolarCS_Type" substitutionGroup="gml:PolarCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_PolarCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_PolarCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_LinearCS_Type"> + <xs:complexContent> + <xs:extension base="gml:LinearCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_LinearCS" type="gmx:ML_LinearCS_Type" substitutionGroup="gml:LinearCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_LinearCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_LinearCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--========================== GML XSchema: datums.xsd ===========================--> + <xs:complexType name="ML_Ellipsoid_Type"> + <xs:complexContent> + <xs:extension base="gml:EllipsoidType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:EllipsoidAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_Ellipsoid" type="gmx:ML_Ellipsoid_Type" substitutionGroup="gml:Ellipsoid"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_Ellipsoid_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_Ellipsoid"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_PrimeMeridian_Type"> + <xs:complexContent> + <xs:extension base="gml:PrimeMeridianType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:PrimeMeridianAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_PrimeMeridian" type="gmx:ML_PrimeMeridian_Type" substitutionGroup="gml:PrimeMeridian"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_PrimeMeridian_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_PrimeMeridian"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_TemporalDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:TemporalDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_TemporalDatum" type="gmx:ML_TemporalDatum_Type" substitutionGroup="gml:TemporalDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_TemporalDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_TemporalDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_VerticalDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:VerticalDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_VerticalDatum" type="gmx:ML_VerticalDatum_Type" substitutionGroup="gml:VerticalDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_VerticalDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_VerticalDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_ImageDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:ImageDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ImageDatum" type="gmx:ML_ImageDatum_Type" substitutionGroup="gml:ImageDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ImageDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ImageDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_EngineeringDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:EngineeringDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_EngineeringDatum" type="gmx:ML_EngineeringDatum_Type" substitutionGroup="gml:EngineeringDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_EngineeringDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_EngineeringDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_GeodeticDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:GeodeticDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_GeodeticDatum" type="gmx:ML_GeodeticDatum_Type" substitutionGroup="gml:GeodeticDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_GeodeticDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_GeodeticDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--==================== GML XSchema: coordinateOperations.xsd ======================--> + <xs:complexType name="ML_ConcatenatedOperation_Type"> + <xs:complexContent> + <xs:extension base="gml:ConcatenatedOperationType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ConcatenatedOperation" type="gmx:ML_ConcatenatedOperation_Type" + substitutionGroup="gml:ConcatenatedOperation"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ConcatenatedOperation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ConcatenatedOperation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_PassThroughOperation_Type"> + <xs:complexContent> + <xs:extension base="gml:PassThroughOperationType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_PassThroughOperation" type="gmx:ML_PassThroughOperation_Type" + substitutionGroup="gml:PassThroughOperation"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_PassThroughOperation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_PassThroughOperation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_Transformation_Type"> + <xs:complexContent> + <xs:extension base="gml:TransformationType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_Transformation" type="gmx:ML_Transformation_Type" substitutionGroup="gml:Transformation"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_Transformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_Transformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_Conversion_Type"> + <xs:complexContent> + <xs:extension base="gml:ConversionType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_Conversion" type="gmx:ML_Conversion_Type" substitutionGroup="gml:Conversion"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_Conversion_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_Conversion"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_OperationMethod_Type"> + <xs:complexContent> + <xs:extension base="gml:OperationMethodType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationMethodAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_OperationMethod" type="gmx:ML_OperationMethod_Type" substitutionGroup="gml:OperationMethod"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_OperationMethod_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_OperationMethod"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_OperationParameterGroup_Type"> + <xs:complexContent> + <xs:extension base="gml:OperationParameterGroupType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationParameterAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_OperationParameterGroup" type="gmx:ML_OperationParameterGroup_Type" + substitutionGroup="gml:OperationParameterGroup"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_OperationParameterGroup_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_OperationParameterGroup"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_OperationParameter_Type"> + <xs:complexContent> + <xs:extension base="gml:OperationParameterType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationParameterAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_OperationParameter" type="gmx:ML_OperationParameter_Type" + substitutionGroup="gml:OperationParameter"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_OperationParameter_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_OperationParameter"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--===================== Alternative Expresssion types ==============================--> + <xs:complexType name="CrsAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:AbstractCRSType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CrsAlt" type="gmx:CrsAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CrsAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CrsAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CoordinateSystemAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:IdentifiedObjectType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attributeGroup ref="gml:AggregationAttributeGroup"/> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CoordinateSystemAlt" type="gmx:CoordinateSystemAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CoordinateSystemAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CoordinateSystemAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CoordinateSystemAxisAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:CoordinateSystemAxisType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CoordinateSystemAxisAlt" type="gmx:CoordinateSystemAxisAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CoordinateSystemAxisAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CoordinateSystemAxisAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DatumAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:AbstractDatumType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DatumAlt" type="gmx:DatumAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DatumAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:DatumAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EllipsoidAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:IdentifiedObjectType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EllipsoidAlt" type="gmx:EllipsoidAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="EllipsoidAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:EllipsoidAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="PrimeMeridianAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:IdentifiedObjectType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PrimeMeridianAlt" type="gmx:PrimeMeridianAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PrimeMeridianAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:PrimeMeridianAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="OperationAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:AbstractCoordinateOperationType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="OperationAlt" type="gmx:OperationAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="OperationAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:OperationAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="OperationMethodAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:IdentifiedObjectType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="OperationMethodAlt" type="gmx:OperationMethodAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="OperationMethodAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:OperationMethodAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="OperationParameterAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:OperationParameterType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="OperationParameterAlt" type="gmx:OperationParameterAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="OperationParameterAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:OperationParameterAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- === End of file === --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/extendedTypes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/extendedTypes.xsd new file mode 100644 index 00000000000..24ca2db2374 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/extendedTypes.xsd @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 03-14-2005 12:00:20 ====== + Handcrafted + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../xlink/xlinks.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ======================== Handcrafted types =================================== --> + <!-- ========================================================================== --> + <!-- ====================== The FileName prototype ================================ --> + <!--It is used to point to a source file and is substitutable for CharacterString--> + <!--================= Type ==================--> + <xs:complexType name="FileName_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="src" type="xs:anyURI"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FileName" type="gmx:FileName_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="FileName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:FileName"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- ====================== The MimeFileType prototype ============================= --> + <!--It is used to provide information on file types and is substitutable for CharacterString--> + <!--================= Type ==================--> + <xs:complexType name="MimeFileType_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MimeFileType" type="gmx:MimeFileType_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MimeFileType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MimeFileType"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- ======================= The Anchor prototype ================================ --> + <!--It is used to point to a registred definition--> + <!--================= Type ==================--> + <xs:complexType name="Anchor_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attributeGroup ref="xlink:simpleLink"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="Anchor" type="gmx:Anchor_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="Anchor_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:Anchor"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--======= End of Schema ======--> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/gmx.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/gmx.xsd new file mode 100644 index 00000000000..83dd28e0212 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/gmx.xsd @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.isotc211.org/2005/gmx" + version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 03-18-2005 11:12:17 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="../gmx/gmxUsage.xsd"></xs:include> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/gmxUsage.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/gmxUsage.xsd new file mode 100644 index 00000000000..df8958b696b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/gmxUsage.xsd @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" + version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 04-27-2005 17:15:30 ====== + </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="../gmx/catalogues.xsd"/> + <xs:include schemaLocation="../gmx/extendedTypes.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MX_Aggregate_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDS_Aggregate_Type"> + <xs:sequence> + <xs:element name="aggregateCatalogue" type="gmx:CT_Catalogue_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="aggregateFile" type="gmx:MX_SupportFile_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_Aggregate" type="gmx:MX_Aggregate_Type" substitutionGroup="gmd:AbstractDS_Aggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_Aggregate_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_Aggregate"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MX_DataSet_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_DataSet_Type"> + <xs:sequence> + <xs:element name="dataFile" type="gmx:MX_DataFile_PropertyType" maxOccurs="unbounded"/> + <xs:element name="datasetCatalogue" type="gmx:CT_Catalogue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="supportFile" type="gmx:MX_SupportFile_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_DataSet" type="gmx:MX_DataSet_Type" substitutionGroup="gmd:DS_DataSet"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_DataSet_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_DataSet"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MX_DataFile_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractMX_File_Type"> + <xs:sequence> + <xs:element name="featureTypes" type="gco:GenericName_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="fileFormat" type="gmd:MD_Format_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_DataFile" type="gmx:MX_DataFile_Type" substitutionGroup="gmx:AbstractMX_File"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_DataFile_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_DataFile"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MX_SupportFile_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractMX_File_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_SupportFile" type="gmx:MX_SupportFile_Type" substitutionGroup="gmx:AbstractMX_File"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_SupportFile_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_SupportFile"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractMX_File_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fileName" type="gmx:FileName_PropertyType"/> + <xs:element name="fileDescription" type="gco:CharacterString_PropertyType"/> + <xs:element name="fileType" type="gmx:MimeFileType_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractMX_File" type="gmx:AbstractMX_File_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_File_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:AbstractMX_File"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MX_ScopeCode" type="gco:CodeListValue_Type" substitutionGroup="gmd:MD_ScopeCode"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_ScopeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_ScopeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/uomItem.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/uomItem.xsd new file mode 100644 index 00000000000..5f540221492 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gmx/uomItem.xsd @@ -0,0 +1,171 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 03-15-2005 09:15:02 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UnitDefinition_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="BaseUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:BaseUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="DerivedUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:DerivedUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="ConventionalUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:ConventionalUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_BaseUnit_Type"> + <xs:complexContent> + <xs:extension base="gml:BaseUnitType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_BaseUnit" type="gmx:ML_BaseUnit_Type" substitutionGroup="gml:BaseUnit"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_BaseUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_BaseUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_DerivedUnit_Type"> + <xs:complexContent> + <xs:extension base="gml:DerivedUnitType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_DerivedUnit" type="gmx:ML_DerivedUnit_Type" substitutionGroup="gml:DerivedUnit"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_DerivedUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_DerivedUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_ConventionalUnit_Type"> + <xs:complexContent> + <xs:extension base="gml:ConventionalUnitType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ConventionalUnit" type="gmx:ML_ConventionalUnit_Type" substitutionGroup="gml:ConventionalUnit"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ConventionalUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ConventionalUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_UnitDefinition_Type"> + <xs:complexContent> + <xs:extension base="gml:UnitDefinitionType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_UnitDefinition" type="gmx:ML_UnitDefinition_Type" substitutionGroup="gml:UnitDefinition"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_UnitDefinition_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!--===================== Alternative Expresssion type ===============================--> + <xs:complexType name="UomAlternativeExpression_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:UnitDefinitionType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="UomAlternativeExpression" type="gmx:UomAlternativeExpression_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="UomAlternativeExpression_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:UomAlternativeExpression"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!-- === End of file === --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gsr/gsr.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gsr/gsr.xsd new file mode 100644 index 00000000000..3ff3179ff0d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gsr/gsr.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.isotc211.org/2005/gsr" elementFormDefault="qualified" + version="0.1" +> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:24:48 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="../gsr/spatialReferencing.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gsr/spatialReferencing.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gsr/spatialReferencing.xsd new file mode 100644 index 00000000000..44865809f54 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gsr/spatialReferencing.xsd @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:gco="http://www.isotc211.org/2005/gco" + targetNamespace="http://www.isotc211.org/2005/gsr" + elementFormDefault="qualified" version="0.1" +> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:24:48 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/gml.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!--==XCGE: gml:AbstractCRS==--> + <!-- ........................................................................ --> + <xs:complexType name="SC_CRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gss/geometry.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gss/geometry.xsd new file mode 100644 index 00000000000..d22bfb6843d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gss/geometry.xsd @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" + targetNamespace="http://www.isotc211.org/2005/gss" + elementFormDefault="qualified" version="0.1" +> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:14:37 ====== The + geometry packages (Figure 4) contain the various classes for coordinate geometry. All of these classes through the + root class GM_Object inherit an optional association to a coordinate reference system. All direct positions + exposed through the interfaces defined in this standard shall be in the coordinate reference system of the + geometric object accessed. All elements of a geometric complex, composite, or aggregate shall be associated to the + same coordinate reference system. When instances of GM_Object are aggregated in another GM_Object (such as a + GM_Aggregate, or GM_Complex) which already has a coordinate reference system specified, then these elements are + assumed to be in that same coordinate reference system unless otherwise specified. - The geometry package has + several internal packages that separate primitive geometric objects, aggregates and complexes, which have a more + elaborate internal structure than simple aggregates. Figure 4 shows the dependencies between the geometry packages + as well as a list of classes for each package - Figure 5 shows the basic classes defined in the geometry packages. + Any object that inherits the semantics of the GM_Object acts as a set of direct positions. Its behavior will be + determined by which direct positions it contains. Objects under GM_Primitive will be open, that is, they will not + contain their boundary points; curves will not contain their end points, surfaces will not contain their boundary + curves, and solids will not contain their bounding surfaces. Objects under GM_Complex will be closed, that is, + they will contain their boundary points. This leads to some apparent ambiguity. A representation of a line as a + primitive must reference its end points, but will not contain these points as a set of direct positions. A + representation of a line as a complex will also reference its end points, and will contain these points as a set + of direct positions. This means that identical digital representations will have slightly different semantics + depending on whether they are accessed as primitives or complexes. - This difference of semantics is most striking + in the GM_CompositeCurve. Composite curves are used to represent features whose geometry could also be represented + as curve primitives. From a cartographic point of view, these two representations are not different. From a + topological point of view, they are different. This distinction appears in the inheritance diagram (Figure 5) as + an inheritance relationship between GM_CompositeCurve and GM_OrientableCurve. The primary semantics of a + GM_CompositeCurve (see 6.6.5) is as a closed GM_Object, but it may also act as an open GM_Object under + GM_Primitive operations (see 6.3.10). Interface protocols depending upon the topological details of this object + will have to be distinguished as to whether they have been inherited from GM_Primitive or GM_Complex, where the + distinction first occurs. Even though these protocols have been inherited from the same operations defined at + GM_Object, they will act differently depending upon the branch of the inheritance tree from which they have + inherited semantics. Creators of implementation profiles may take this into account and use a proxy mechanism for + realization relationships that cause semantic dissonance. Such a procedure will be necessary in object-oriented + programming and databases in systems that disallow multiple inheritance or make limiting assumptions about method + binding. + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!--==XCGE: gml:Point==--> + <!-- ........................................................................ --> + <xs:complexType name="GM_Point_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:Point"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!--==XCGE: gml:AbstractGeometry==--> + <!-- ........................................................................ --> + <xs:complexType name="GM_Object_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractGeometry"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gss/gss.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gss/gss.xsd new file mode 100644 index 00000000000..4268a1379d7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gss/gss.xsd @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.isotc211.org/2005/gss" elementFormDefault="qualified" + version="0.1" +> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:14:37 ====== This + package contains the normative (Geometry and Topology) parts of the model for ISO 19107. This document should be + referred to as the official description of the Model. If there are any differences, then ISO 19107 takes + precedence. - - This packages also contains example (informative) of applications of 19107. + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="../gss/geometry.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gts/gts.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gts/gts.xsd new file mode 100644 index 00000000000..da53c04c69d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gts/gts.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.isotc211.org/2005/gts" elementFormDefault="qualified" + version="0.1" +> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:18:09 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="../gts/temporalObjects.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/gts/temporalObjects.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/gts/temporalObjects.xsd new file mode 100644 index 00000000000..dfdb9a42f3f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/gts/temporalObjects.xsd @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" + xmlns:gts="http://www.isotc211.org/2005/gts" + targetNamespace="http://www.isotc211.org/2005/gts" elementFormDefault="qualified" + version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:18:09 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!--==XCGE: gml:AbstractTimePrimitive==--> + <!-- ........................................................................ --> + <xs:complexType name="TM_Primitive_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractTimePrimitive"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="TM_PeriodDuration" type="xs:duration"/> + <!-- ........................................................................ --> + <xs:complexType name="TM_PeriodDuration_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gts:TM_PeriodDuration"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/profilSuisse.doc b/iso19139.che/src/main/plugin/iso19139.che/schema/profilSuisse.doc new file mode 100644 index 00000000000..3558d9bf757 Binary files /dev/null and b/iso19139.che/src/main/plugin/iso19139.che/schema/profilSuisse.doc differ diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/profil_suisse.spp b/iso19139.che/src/main/plugin/iso19139.che/schema/profil_suisse.spp new file mode 100644 index 00000000000..7bb099189cd --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/profil_suisse.spp @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Project> + <Folder FolderName="che"> + <File FilePath="che\che.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gmd"> + <File FilePath="gmd\applicationSchema.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\citation.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\constraints.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\content.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\dataQuality.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\distribution.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\extent.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\freeText.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\gmd.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\identification.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\maintenance.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\metadataApplication.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\metadataEntity.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\metadataExtension.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\portrayalCatalogue.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\referenceSystem.xsd" HomeFolder="Yes"/> + <File FilePath="gmd\spatialRepresentation.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gco"> + <File FilePath="gco\basicTypes.xsd" HomeFolder="Yes"/> + <File FilePath="gco\gco.xsd" HomeFolder="Yes"/> + <File FilePath="gco\gcoBase.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gmi"> + <File FilePath="gmi\gmi.xsd" HomeFolder="Yes"/> + <File FilePath="gmi\imageryDataQuality.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gfc"> + <File FilePath="gfc\gfc.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gml"> + <File FilePath="gml\basicTypes.xsd" HomeFolder="Yes"/> + <File FilePath="gml\coordinateOperations.xsd" HomeFolder="Yes"/> + <File FilePath="gml\coordinateReferenceSystems.xsd" HomeFolder="Yes"/> + <File FilePath="gml\coordinateSystems.xsd" HomeFolder="Yes"/> + <File FilePath="gml\coverage.xsd" HomeFolder="Yes"/> + <File FilePath="gml\datums.xsd" HomeFolder="Yes"/> + <File FilePath="gml\dictionary.xsd" HomeFolder="Yes"/> + <File FilePath="gml\direction.xsd" HomeFolder="Yes"/> + <File FilePath="gml\dynamicFeature.xsd" HomeFolder="Yes"/> + <File FilePath="gml\feature.xsd" HomeFolder="Yes"/> + <File FilePath="gml\geometryAggregates.xsd" HomeFolder="Yes"/> + <File FilePath="gml\geometryBasic0d1d.xsd" HomeFolder="Yes"/> + <File FilePath="gml\geometryBasic2d.xsd" HomeFolder="Yes"/> + <File FilePath="gml\geometryComplexes.xsd" HomeFolder="Yes"/> + <File FilePath="gml\geometryPrimitives.xsd" HomeFolder="Yes"/> + <File FilePath="gml\gml.xsd" HomeFolder="Yes"/> + <File FilePath="gml\gmlBase.xsd" HomeFolder="Yes"/> + <File FilePath="gml\grids.xsd" HomeFolder="Yes"/> + <File FilePath="gml\measures.xsd" HomeFolder="Yes"/> + <File FilePath="gml\observation.xsd" HomeFolder="Yes"/> + <File FilePath="gml\readme.txt" HomeFolder="Yes"/> + <File FilePath="gml\referenceSystems.xsd" HomeFolder="Yes"/> + <File FilePath="gml\temporal.xsd" HomeFolder="Yes"/> + <File FilePath="gml\temporalReferenceSystems.xsd" HomeFolder="Yes"/> + <File FilePath="gml\temporalTopology.xsd" HomeFolder="Yes"/> + <File FilePath="gml\topology.xsd" HomeFolder="Yes"/> + <File FilePath="gml\units.xsd" HomeFolder="Yes"/> + <File FilePath="gml\valueObjects.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gmx"> + <File FilePath="gmx\catalogues.xsd" HomeFolder="Yes"/> + <File FilePath="gmx\codelistItem.xsd" HomeFolder="Yes"/> + <File FilePath="gmx\crsItem.xsd" HomeFolder="Yes"/> + <File FilePath="gmx\extendedTypes.xsd" HomeFolder="Yes"/> + <File FilePath="gmx\gmx.xsd" HomeFolder="Yes"/> + <File FilePath="gmx\gmxUsage.xsd" HomeFolder="Yes"/> + <File FilePath="gmx\uomItem.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gsr"> + <File FilePath="gsr\gsr.xsd" HomeFolder="Yes"/> + <File FilePath="gsr\spatialReferencing.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gss"> + <File FilePath="gss\geometry.xsd" HomeFolder="Yes"/> + <File FilePath="gss\gss.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="gts"> + <File FilePath="gts\gts.xsd" HomeFolder="Yes"/> + <File FilePath="gts\temporalObjects.xsd" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="ressources"> + <Folder FolderName="uom"> + <File FilePath="resources\uom\gmxUom.xml" HomeFolder="Yes"/> + <File FilePath="resources\uom\ML_gmxUom.xml" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="Codelist"> + <File FilePath="resources\Codelist\gmxCodelists.xml" HomeFolder="Yes"/> + <File FilePath="resources\Codelist\ML_gmxCodelists.xml" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="crs"> + <File FilePath="resources\crs\gmxCrs.xml" HomeFolder="Yes"/> + <File FilePath="resources\crs\ML_gmxCrs.xml" HomeFolder="Yes"/> + </Folder> + </Folder> + <Folder FolderName="xlink"> + <File FilePath="xlink\version.txt" HomeFolder="Yes"/> + <File FilePath="xlink\xlinks.xsd" HomeFolder="Yes"/> + </Folder> + <ExtMountFolder FolderName="srv"/> +</Project> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/resources/Codelist/ML_gmxCodelists.xml b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/Codelist/ML_gmxCodelists.xml new file mode 100644 index 00000000000..9782ced0736 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/Codelist/ML_gmxCodelists.xml @@ -0,0 +1,872 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CT_CodelistCatalogue xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.isotc211.org/2005/gmx" + xsi:schemaLocation="http://www.isotc211.org/2005/gmx ../../gmx/gmx.xsd http://www.isotc211.org/2005/gmd ../../gmd/gmd.xsd http://www.isotc211.org/2005/gco ../../gco/gco.xsd http://www.w3.org/1999/xlink ../../xlink/xlinks.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>ML_gmxCodelists</gco:CharacterString> + </name> + <scope xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Codelists for description of metadata datasets compliant with ISO/TC 211 19115:2003 and 19139 + </gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#xpointer(//*[@id='fra'])">Listes de codes pour la description de lots de + métadonnées conforme ISO TC/211 19115:2003 et 19139 + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-18</gco:Date> + </versionDate> + <!--=== for Cultural and Linguistic Adaptability ===--> + <!--Default language--> + <language> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng">English</gmd:LanguageCode> + </language> + <characterSet> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF 8</gmd:MD_CharacterSetCode> + </characterSet> + <!-- List of the 'locales' into which free text values can be translated--> + <locale> + <gmd:PT_Locale id="fra"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fra">French</gmd:LanguageCode> + </gmd:languageCode> + <gmd:country> + <gmd:Country codeList="#Country" codeListValue="FR">France</gmd:Country> + </gmd:country> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF 8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </locale> + <!--============================================================================--> + <!--============================================================================--> + <!--============================= Codelists =======================================--> + <!--=== CI_DateTypeCode ===--> + <codelistItem> + <ML_CodeListDictionary gml:id="CI_DateTypeCode"> + <gml:description>identification of when a given event occurred</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_DateTypeCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="CI_DateTypeCode_creation"> + <gml:description>date identifies when the resource was brought into existence</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">creation</gml:identifier> + <gml:name>creation</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_DateTypeCode_creation_fr" codeSpace="fra"> + <gml:description>date identifiant la création de la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">creation</gml:identifier> + <gml:name>création</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_DateTypeCode_publication"> + <gml:description>date identifies when the resource was issued</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">publication</gml:identifier> + <gml:name>publication</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_DateTypeCode_publication_fr" codeSpace="fra"> + <gml:description>date identifiant la publication de la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">publication</gml:identifier> + <gml:name>publication</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_DateTypeCode_revision"> + <gml:description>date identifies when the resource was examined or re-examined and improved or amended + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">revision</gml:identifier> + <gml:name>revision</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_DateTypeCode_revision_fr" codeSpace="fra"> + <gml:description>amélioration ou amendement de la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">revision</gml:identifier> + <gml:name>révision</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="CI_DateTypeCode_fr" codeSpace="fra"> + <gml:description>identification de quand un événement s'est produit</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_DateTypeCode</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--=== CI_OnLineFunctionCode ===--> + <codelistItem> + <ML_CodeListDictionary gml:id="CI_OnLineFunctionCode"> + <gml:description>function performed by the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_OnLineFunctionCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_download"> + <gml:description>online instructions for transferring data from one storage device or system to another + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">download</gml:identifier> + <gml:name>Download</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_download_fr" codeSpace="fra"> + <gml:description>transfert de la ressource d'un système à un autre</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">download</gml:identifier> + <gml:name>Téléchargement</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_information"> + <gml:description>online information about the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">information</gml:identifier> + <gml:name>Information</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_information_fr" codeSpace="fra"> + <gml:description>description de la ressource en ligne</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">information</gml:identifier> + <gml:name>Information</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_offlineAccess"> + <gml:description>online instructions for requesting the resource from the provider</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">offlineAccess</gml:identifier> + <gml:name>Off line access</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_offlineAccess_fr" codeSpace="fra"> + <gml:description>information pour requérir la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">offlineAccess</gml:identifier> + <gml:name>Accès hors ligne</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_order"> + <gml:description>online order process for obtening the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">order</gml:identifier> + <gml:name>Order</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_order_fr" codeSpace="fra"> + <gml:description>formulaire pour obtenir la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">order</gml:identifier> + <gml:name>commande en ligne</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_search"> + <gml:description>online search interface for seeking out information about the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">search</gml:identifier> + <gml:name>Search</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_search_fr" codeSpace="fra"> + <gml:description>interface de recherche d'information sur la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">search</gml:identifier> + <gml:name>Moteur de recherche</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="CI_OnLineFunctionCode_fr" codeSpace="fra"> + <gml:description>Fonctionnalité offerte par la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_OnLineFunctionCode</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--=== MD_CharacterSetCode ===--> + <codelistItem> + <ML_CodeListDictionary gml:id="MD_CharacterSetCode"> + <gml:description>name of the character coding standard used in the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CharacterSetCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_ucs2"> + <gml:description>16-bit fixed size Universal Character Set, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs2</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_ucs2_fr" codeSpace="fra"> + <gml:description>16 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs2</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_ucs4"> + <gml:description>32-bit fixed size Universal Character Set, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs4</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_ucs4_fr" codeSpace="fra"> + <gml:description>32 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs4</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_utf7"> + <gml:description>7-bit variable size UCS Transfer Format, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf7</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_utf7_fr" codeSpace="fra"> + <gml:description>7 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf7</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_utf8"> + <gml:description>8-bit variable size UCS Transfer Format, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf8</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_utf8_fr" codeSpace="fra"> + <gml:description>8 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf8</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_utf16"> + <gml:description>16-bit variable size UCS Transfer Format, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf16</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_utf16_fr" codeSpace="fra"> + <gml:description>16 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf16</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part1"> + <gml:description>ISO/IEC 8859-1, Information technology - 8-bit single byte coded graphic character sets - + Part 1 : Latin alphabet No.1 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part1</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part1_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-1, alphabet latin 1</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part1</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part2"> + <gml:description>ISO/IEC 8859-2, Information technology - 8-bit single byte coded graphic character sets - + Part 2 : Latin alphabet No.2 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part2</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part2_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-2, alphabet latin 2</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part2</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part3"> + <gml:description>ISO/IEC 8859-3, Information technology - 8-bit single byte coded graphic character sets - + Part 3 : Latin alphabet No.3 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part3</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part3_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-3, alphabet latin 3</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part3</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part4"> + <gml:description>ISO/IEC 8859-4, Information technology - 8-bit single byte coded graphic character sets - + Part 4 : Latin alphabet No.4 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part4</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part4_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-4, alphabet latin 4</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part4</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part5"> + <gml:description>ISO/IEC 8859-5, Information technology - 8-bit single byte coded graphic character sets - + Part 5 : Latin/Cyrillic alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part5</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part5_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-5, alphabet latin/cyrillique</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part5</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part6"> + <gml:description>ISO/IEC 8859-6, Information technology - 8-bit single byte coded graphic character sets - + Part 6 : Latin/Arabic alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part6</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part6_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-6, alphabet latin/arabe</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part6</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part7"> + <gml:description>ISO/IEC 8859-7, Information technology - 8-bit single byte coded graphic character sets - + Part 7 : Latin/Greek alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part7</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part7_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-7, alphabet latin/grec</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part7</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part8"> + <gml:description>ISO/IEC 8859-8, Information technology - 8-bit single byte coded graphic character sets - + Part 8 : Latin/Hebrew alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part8</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part8_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-8, alphabet latin/hébreu</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part8</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part9"> + <gml:description>ISO/IEC 8859-9, Information technology - 8-bit single byte coded graphic character sets - + Part 9 : Latin alphabet No.5 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part9</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part9_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-9, alphabet latin 5</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part9</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part10"> + <gml:description>ISO/IEC 8859-10, Information technology - 8-bit single byte coded graphic character sets - + Part 10 : Latin alphabet No.6 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part10</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part10_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-10, alphabet latin 6</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part10</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part11"> + <gml:description>ISO/IEC 8859-11, Information technology - 8-bit single byte coded graphic character sets - + Part 11 : Latin/Thai alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part11</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part11_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-11, alphabet latin/Thaï</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part11</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <!-- <codeEntry> +<ML_CodeDefinition gml:id="(reserved)"> +<gml:description>a future ISO/IEC 8-bit single byte coded graphic character set (e.g. possibly 8859 part 12</gml:description><gml:identifier codeSpace="ISOTC211/19115">(reserved)</gml:identifier> +<alternativeExpression><AlternativeExpression gml:id="(reserved)_fr" codeSpace="fra"> +<gml:description>ISO/IEC 8859-12 (éventuellement)</gml:description><gml:identifier codeSpace="ISOTC211/19115">(reserved)</gml:identifier><locale xlink:href="#xpointer(//*[@id='fra'])"/> +</AlternativeExpression></alternativeExpression> +</ML_CodeDefinition> +</codeEntry> --> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part13"> + <gml:description>ISO/IEC 8859-13, Information technology - 8-bit single byte coded graphic character sets - + Part 13 : Latin alphabet No.7 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part13</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part13_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-13, alphabet latin 7</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part13</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part14"> + <gml:description>ISO/IEC 8859-14, Information technology - 8-bit single byte coded graphic character sets - + Part 14 : Latin alphabet No.8 (Celtic) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part14</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part14_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-14, alphabet latin 8 (celtique)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part14</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part15"> + <gml:description>ISO/IEC 8859-15, Information technology - 8-bit single byte coded graphic character sets - + Part 15 : Latin alphabet No.9 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part15</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part15_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-15, alphabet latin 9</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part15</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part16"> + <gml:description>ISO/IEC 8859-16, Information technology - 8-bit single byte coded graphic character sets - + Part 16 : Latin alphabet No.10 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part16</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part16_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-16, alphabet latin 10</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part16</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_jis"> + <gml:description>japanese code set used for electronic transmission</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">jis</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_jis_fr" codeSpace="fra"> + <gml:description>Japonais</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">jis</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_shiftJIS"> + <gml:description>japanese code set used on MS-DOS machines</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">shiftJIS</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_shiftJIS_fr" codeSpace="fra"> + <gml:description>Japonais pour MS-DOS</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">shiftJIS</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_eucJP"> + <gml:description>japanese code set used on UNIX based machines</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucJP</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_eucJP_fr" codeSpace="fra"> + <gml:description>Japonais pour UNIX</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucJP</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_usAscii"> + <gml:description>United States ASCII code set (ISO 646 US)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">usAscii</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_usAscii_fr" codeSpace="fra"> + <gml:description>ISO 646 US</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">usAscii</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_ebcdic"> + <gml:description>IBM mainframe code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ebcdic</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_ebcdic_fr" codeSpace="fra"> + <gml:description>IBM</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ebcdic</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_eucKR"> + <gml:description>Korean code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucKR</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_eucKR_fr" codeSpace="fra"> + <gml:description>Koréen</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucKR</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_big5"> + <gml:description>traditional Chinese code set used in Taiwan, Hong Kong of China and other areas + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">big5</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_big5_fr" codeSpace="fra"> + <gml:description>Chinois traditionel (Taiwan, Hong Kong, Chine)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">big5</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_GB2312"> + <gml:description>simplified Chinese code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">GB2312</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_GB2312_fr" codeSpace="fra"> + <gml:description>Chinois simplifié</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">GB2312</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="MD_CharacterSetCode_fr" codeSpace="fra"> + <gml:description>Jeu de caractères</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CharacterSetCode</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--===MD_ScopeCode===--> + <codelistItem> + <ML_CodeListDictionary gml:id="MD_ScopeCode"> + <gml:description>class of information to which the referencing entity applies</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ScopeCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_attribute"> + <gml:description>Information applies to the attribute class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attribute</gml:identifier> + <gml:name>Attribute</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_attribute_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à une classe d’attributs</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attribute</gml:identifier> + <gml:name>Attribut</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_attributeType"> + <gml:description>Information applies to the characteristic of a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attributeType</gml:identifier> + <gml:name>Attribute type</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_attributeType_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à la caractéristique d’une entité géographique + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attributeType</gml:identifier> + <gml:name>Type d’attribut</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_dataset"> + <gml:description>Information applies to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + <gml:name>Dataset</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_dataset_fr" codeSpace="fra"> + <gml:description>Information qui s’applique au jeu de données</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + <gml:name>Jeu de données</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_dataset_dc" codeSpace="domainCode"> + <gml:description>Information applies to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + <gml:name>005</gml:name> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_series"> + <gml:description>Information applies to the series</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">series</gml:identifier> + <gml:name>Series</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_series_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à une série</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">series</gml:identifier> + <gml:name>Série</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_nonGeographicDataset"> + <gml:description>Information applies to non-geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">nonGeographicDataset</gml:identifier> + <gml:name>Non geographic dataset</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_nonGeographicDataset_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à des données non-géographiques</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">nonGeographicDataset</gml:identifier> + <gml:name>Jeu de données non géographiques</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_feature"> + <gml:description>Information applies to a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">feature</gml:identifier> + <gml:name>Feature</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_feature_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à un élément (entité géographique)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">feature</gml:identifier> + <gml:name>Elément</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_featureType"> + <gml:description>Information applies to a feature type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">featureType</gml:identifier> + <gml:name>Feature type</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_featureType_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à un type d’élément</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">featureType</gml:identifier> + <gml:name>Type d’élément</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_propertyType"> + <gml:description>Information applies to a property type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">propertyType</gml:identifier> + <gml:name>Property type</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_propertyType_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à un type de propriété</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">propertyType</gml:identifier> + <gml:name>Type de propriété</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_tile"> + <gml:description>Information applies to a tile, a spatial subset of geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tile</gml:identifier> + <gml:name>Tile</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_tile_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à une tuile, un sous-ensemble spatial de données + géographiques + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tile</gml:identifier> + <gml:name>Tuile</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="MD_ScopeCode_fr" codeSpace="fra"> + <gml:description>information sur l'entité sur laquelle les métadonnées s'appliquent</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ScopeCode</gml:identifier> + <locale xlink:href="#fra"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--================================================--> + <!--============= Language and Country ================--> + <codelistItem> + <ML_CodeListDictionary gml:id="LanguageCode"> + <gml:description>Language : ISO 639-2 (3 characters)</gml:description> + <gml:identifier codeSpace="ISO 639-2">LanguageCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="LanguageCode_eng"> + <gml:description>English</gml:description> + <gml:identifier codeSpace="ISO 639-2">eng</gml:identifier> + <gml:name>English</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="LanguageCode_eng_fr" codeSpace="fra"> + <gml:description>Anglais</gml:description> + <gml:identifier codeSpace="ISO 639-2">eng</gml:identifier> + <gml:name>Anglais</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="LanguageCode_fra"> + <gml:description>French</gml:description> + <gml:identifier codeSpace="ISO 639-2">fra</gml:identifier> + <gml:name>French</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="LanguageCode_fra_fr" codeSpace="fra"> + <gml:description>Français</gml:description> + <gml:identifier codeSpace="ISO 639-2">fra</gml:identifier> + <gml:name>Français</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="LanguageCode_fr" codeSpace="fra"> + <gml:description>Langue : ISO 639-2 (3 caractères)</gml:description> + <gml:identifier codeSpace="ISO 639-2">LanguageCode</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--...................................................................................................--> + <codelistItem> + <ML_CodeListDictionary gml:id="Country"> + <gml:description>Country : ISO 3166-2 (2 characters)</gml:description> + <gml:identifier codeSpace="ISO 3166-2">Country</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="Country_UK"> + <gml:description>United Kingdom</gml:description> + <gml:identifier codeSpace="ISO 3166-2">UK</gml:identifier> + <gml:name>United Kingdom</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="Country_UK_fr" codeSpace="fra"> + <gml:description>Royaume-Uni</gml:description> + <gml:identifier codeSpace="ISO 3166-2">UK</gml:identifier> + <gml:name>Royaume-Uni</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="Country_FR"> + <gml:description>France</gml:description> + <gml:identifier codeSpace="ISO 3166-2">FR</gml:identifier> + <gml:name>France</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="Country_FR_fr" codeSpace="fra"> + <gml:description>France</gml:description> + <gml:identifier codeSpace="ISO 3166-2">FR</gml:identifier> + <gml:name>France</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="Country_fr" codeSpace="fra"> + <gml:description>Pays : ISO 3166-2 (2 caractères)</gml:description> + <gml:identifier codeSpace="ISO 3166-2">Country</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--=========== EOF ===========--> +</CT_CodelistCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/resources/Codelist/gmxCodelists.xml b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/Codelist/gmxCodelists.xml new file mode 100644 index 00000000000..3579b9c8153 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/Codelist/gmxCodelists.xml @@ -0,0 +1,2044 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CT_CodelistCatalogue xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://www.isotc211.org/2005/gmx" + xsi:schemaLocation="http://www.isotc211.org/2005/gmx ../../gmx/gmx.xsd http://www.isotc211.org/2005/gco ../../gco/gco.xsd http://www.opengis.net/gml ../../gml/gml.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>gmxCodelists</gco:CharacterString> + </name> + <scope> + <gco:CharacterString>Codelists for description of metadata datasets compliant with ISO/TC 211 19115:2003 and 19139 + </gco:CharacterString> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-18</gco:Date> + </versionDate> + <!--============================================================================--> + <!--============================================================================--> + <!--============================= Codelists =======================================--> + <!--=== CI_DateTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="CI_DateTypeCode"> + <gml:description>identification of when a given event occurred</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_DateTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="CI_DateTypeCode_creation"> + <gml:description>date identifies when the resource was brought into existence</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">creation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_DateTypeCode_publication"> + <gml:description>date identifies when the resource was issued</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">publication</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_DateTypeCode_revision"> + <gml:description>date identifies when the resource was examined or re-examined and improved or amended + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">revision</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== CI_OnLineFunctionCode ===--> + <codelistItem> + <CodeListDictionary gml:id="CI_OnLineFunctionCode"> + <gml:description>function performed by the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_OnLineFunctionCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_download"> + <gml:description>online instructions for transferring data from one storage device or system to another + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">download</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_information"> + <gml:description>online information about the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">information</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_offlineAccess"> + <gml:description>online instructions for requesting the resource from the provider</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">offlineAccess</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_order"> + <gml:description>online order process for obtening the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">order</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_search"> + <gml:description>online search interface for seeking out information about the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">search</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== CI_PresentationFormCode ===--> + <codelistItem> + <CodeListDictionary gml:id="CI_PresentationFormCode"> + <gml:description>mode in which the data is represented</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_PresentationFormCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_documentDigital"> + <gml:description>digital representation of a primarily textual item (can contain illustrations also) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">documentDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_documentHardcopy"> + <gml:description>representation of a primarily textual item (can contain illustrations also) on paper, + photograhic material, or other media + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">imageDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_imageDigital"> + <gml:description>likeness of natural or man-made features, objects, and activities acquired through the + sensing of visual or any other segment of the electromagnetic spectrum by sensors, such as thermal infrared, + and high resolution radar and stored in digital format + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">documentHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_imageHardcopy"> + <gml:description>likeness of natural or man-made features, objects, and activities acquired through the + sensing of visual or any other segment of the electromagnetic spectrum by sensors, such as thermal infrared, + and high resolution radar and reproduced on paper, photographic material, or other media for use directly by + the human user + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">imageHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_mapDigital"> + <gml:description>map represented in raster or vector form</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">mapDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_mapHardcopy"> + <gml:description>map printed on paper, photographic material, or other media for use directly by the human + user + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">mapHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_modelDigital"> + <gml:description>multi-dimensional digital representation of a feature, process, etc.</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">modelDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_modelHardcopy"> + <gml:description>3-dimensional, physical model</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">modelHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_profileDigital"> + <gml:description>vertical cross-section in digital form</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">profileDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_profileHardcopy"> + <gml:description>vertical cross-section printed on paper, etc.</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">profileHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_tableDigital"> + <gml:description>digital representation of facts or figures systematically displayed, especially in columns + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tableDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_tableHardcopy"> + <gml:description>representation of facts or figures systematically displayed, especially in columns, printed + onpapers, photographic material, or other media + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tableHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_videoDigital"> + <gml:description>digital video recording</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">videoDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_videoHardcopy"> + <gml:description>video recording on film</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">videoHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== CI_RoleCode ===--> + <codelistItem> + <CodeListDictionary gml:id="CI_RoleCode"> + <gml:description>function performed by the responsible party</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_RoleCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_resourceProvider"> + <gml:description>party that supplies the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">resourceProvider</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_custodian"> + <gml:description>party that accepts accountability and responsability for the data and ensures appropriate + care and maintenance of the resource + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">custodian</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_owner"> + <gml:description>party that owns the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">owner</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_user"> + <gml:description>party who uses the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">user</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_distributor"> + <gml:description>party who distributes the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">distributor</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_originator"> + <gml:description>party who created the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">originator</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_pointOfContact"> + <gml:description>party who can be contacted for acquiring knowledge about or acquisition of the resource + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">pointOfContact</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_principalInvestigator"> + <gml:description>key party responsible for gathering information and conducting research</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">principalInvestigator</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_processor"> + <gml:description>party wha has processed the data in a manner such that the resource has been modified + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">processor</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_publisher"> + <gml:description>party who published the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">publisher</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_author"> + <gml:description>party who authored the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">author</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== DQ_EvaluationMethodTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="DQ_EvaluationMethodTypeCode"> + <gml:description>type or method for evaluating an identified data quality measure</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">DQ_EvaluationMethodTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="DQ_EvaluationMethodTypeCode_directInternal"> + <gml:description>method of evaluating the quality of a dataset based on inspection of items within the + dataset, where all data required is internal to the dataset being evaluated + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">directInternal</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DQ_EvaluationMethodTypeCode_directExternal"> + <gml:description>method of evaluating the quality of a dataset based on inspection of items within the + dataset, where reference data external to the dataset being evaluated is required + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">directExternal</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DQ_EvaluationMethodTypeCode_indirect"> + <gml:description>method of evaluating the quality of a dataset based on external knowledge</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">indirect</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== DS_AssociationTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="DS_AssociationTypeCode"> + <gml:description>justification for the correlation of two datasets</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">DS_AssociationTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_crossReference"> + <gml:description>reference from one dataset to another</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">crossReference</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_largerWorkCitation"> + <gml:description>reference to a master dataset of which this one is a part</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">largerWorkCitation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_partOfSeamlessDatabase"> + <gml:description>part of the same structured set of data held in a computer</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">partOfSeamlessDatabase</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_source"> + <gml:description>mapping and charting information from which the dataset content originates</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">source</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_stereoMate"> + <gml:description>part of a set of imagery that when used together, provides three-dimensional images + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">stereoMate</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== DS_InitiativeTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="DS_InitiativeTypeCode"> + <gml:description>type of aggregation activity in which datasets are related</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">DS_InitiativeTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_campaign"> + <gml:description>series of organized planned actions</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">campaign</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_collection"> + <gml:description>accumulation of datasets assembled for a specific purpose</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collection</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_exercise"> + <gml:description>specific performance of a function or group of functions</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">exercise</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_experiment"> + <gml:description>process designed to find if something is effective or valid</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">experiment</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_investigation"> + <gml:description>search or systematic inquiry</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">investigation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_mission"> + <gml:description>specific operation of a data collection system</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">mission</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_sensor"> + <gml:description>device or piece of equipment which detects or records</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">sensor</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_operation"> + <gml:description>action that is part of a series of actions</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">operation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_platform"> + <gml:description>vehicle or other support base that holds a sensor</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">platform</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_process"> + <gml:description>method of doing something involving a number of steps</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">process</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_program"> + <gml:description>specific planned activity</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">program</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_project"> + <gml:description>organized undertaking, research, or development</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">project</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_study"> + <gml:description>examination or investigation</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">study</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_task"> + <gml:description>piece of work</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">task</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_trial"> + <gml:description>process of testing to discover or demonstrate something</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">trial</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_CellGeometryCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_CellGeometryCode"> + <gml:description>code indicating whether grid data is point or area</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CellGeometryCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_CellGeometryCode_point"> + <gml:description>each cell represents a point</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">point</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CellGeometryCode_area"> + <gml:description>each cell represents an area</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">area</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_CharacterSetCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_CharacterSetCode"> + <gml:description>name of the character coding standard used in the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CharacterSetCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_ucs2"> + <gml:description>16-bit fixed size Universal Character Set, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs2</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_ucs4"> + <gml:description>32-bit fixed size Universal Character Set, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs4</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_utf7"> + <gml:description>7-bit variable size UCS Transfer Format, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf7</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_utf8"> + <gml:description>8-bit variable size UCS Transfer Format, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf8</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_utf16"> + <gml:description>16-bit variable size UCS Transfer Format, based on ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf16</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part1"> + <gml:description>ISO/IEC 8859-1, Information technology - 8-bit single byte coded graphic character sets - + Part 1 : Latin alphabet No.1 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part1</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part2"> + <gml:description>ISO/IEC 8859-2, Information technology - 8-bit single byte coded graphic character sets - + Part 2 : Latin alphabet No.2 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part2</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part3"> + <gml:description>ISO/IEC 8859-3, Information technology - 8-bit single byte coded graphic character sets - + Part 3 : Latin alphabet No.3 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part3</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part4"> + <gml:description>ISO/IEC 8859-4, Information technology - 8-bit single byte coded graphic character sets - + Part 4 : Latin alphabet No.4 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part4</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part5"> + <gml:description>ISO/IEC 8859-5, Information technology - 8-bit single byte coded graphic character sets - + Part 5 : Latin/Cyrillic alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part5</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part6"> + <gml:description>ISO/IEC 8859-6, Information technology - 8-bit single byte coded graphic character sets - + Part 6 : Latin/Arabic alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part6</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part7"> + <gml:description>ISO/IEC 8859-7, Information technology - 8-bit single byte coded graphic character sets - + Part 7 : Latin/Greek alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part7</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part8"> + <gml:description>ISO/IEC 8859-8, Information technology - 8-bit single byte coded graphic character sets - + Part 8 : Latin/Hebrew alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part8</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part9"> + <gml:description>ISO/IEC 8859-9, Information technology - 8-bit single byte coded graphic character sets - + Part 9 : Latin alphabet No.5 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part9</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part10"> + <gml:description>ISO/IEC 8859-10, Information technology - 8-bit single byte coded graphic character sets - + Part 10 : Latin alphabet No.6 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part10</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part11"> + <gml:description>ISO/IEC 8859-11, Information technology - 8-bit single byte coded graphic character sets - + Part 11 : Latin/Thai alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part11</gml:identifier> + </CodeDefinition> + </codeEntry> + <!-- <codeEntry> +<CodeDefinition gml:id="(reserved)"> +<gml:description>a future ISO/IEC 8-bit single byte coded graphic character set (e.g. possibly 8859 part 12</gml:description><gml:identifier codeSpace="ISOTC211/19115">(reserved)</gml:identifier> +</CodeDefinition> +</codeEntry> --> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part13"> + <gml:description>ISO/IEC 8859-13, Information technology - 8-bit single byte coded graphic character sets - + Part 13 : Latin alphabet No.7 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part13</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part14"> + <gml:description>ISO/IEC 8859-14, Information technology - 8-bit single byte coded graphic character sets - + Part 14 : Latin alphabet No.8 (Celtic) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part14</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part15"> + <gml:description>ISO/IEC 8859-15, Information technology - 8-bit single byte coded graphic character sets - + Part 15 : Latin alphabet No.9 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part15</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part16"> + <gml:description>ISO/IEC 8859-16, Information technology - 8-bit single byte coded graphic character sets - + Part 16 : Latin alphabet No.10 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part16</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_jis"> + <gml:description>japanese code set used for electronic transmission</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">jis</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_shiftJIS"> + <gml:description>japanese code set used on MS-DOS machines</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">shiftJIS</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_eucJP"> + <gml:description>japanese code set used on UNIX based machines</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucJP</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_usAscii"> + <gml:description>United States ASCII code set (ISO 646 US)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">usAscii</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_ebcdic"> + <gml:description>IBM mainframe code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ebcdic</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_eucKR"> + <gml:description>Korean code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucKR</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_big5"> + <gml:description>traditional Chinese code set used in Taiwan, Hong Kong of China and other areas + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">big5</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_GB2312"> + <gml:description>simplified Chinese code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">GB2312</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ClassificationCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ClassificationCode"> + <gml:description>name of the handling restrictions on the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ClassificationCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_unclassified"> + <gml:description>available for general disclosure</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">unclassified</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_restricted"> + <gml:description>not for general disclosure</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">restricted</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_confidential"> + <gml:description>available for someone who can be entrusted with information</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">confidential</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_secret"> + <gml:description>kept or meant to be kept private, unknown, or hidden from all but a select group of people + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">secret</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_topSecret"> + <gml:description>of the highest secrecy</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">topSecret</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_CoverageContentTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_CoverageContentTypeCode"> + <gml:description>specific type of information represented in the cell</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CoverageContentTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_CoverageContentTypeCode_image"> + <gml:description>meaningful numerical representation of a physical parameter that is not the actual value of + the physical parameter + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">image</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CoverageContentTypeCode_thematicClassification"> + <gml:description>code value with no quantitative meaning, used to represent a physical quantity + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">thematicClassification</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CoverageContentTypeCode_physicalMeasurement"> + <gml:description>value in physical units of the quantity being measured</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">physicalMeasurement</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_DatatypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_DatatypeCode"> + <gml:description>datatype of element or entity</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_DatatypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_class"> + <gml:description>descriptor of a set of objects that share the same attributes, operations, methods, + relationships, and behavior + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">class</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_codelist"> + <gml:description>descriptor of a set of objects that share the same attributes, operations, methods, + relationships, and behavior + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">codelist</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_enumeration"> + <gml:description>data type whose instances form a list of named literal values, not extendable + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">enumeration</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_codelistElement"> + <gml:description>permissible value for a codelist or enumeration</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">codelistElement</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_abstractClass"> + <gml:description>class that cannot be directly instantiated</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">abstractClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_aggregateClass"> + <gml:description>class that is composed of classes it is connected to by an aggregate relationship + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">aggregateClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_specifiedClass"> + <gml:description>subclass that may be substituted for its superclass</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">specifiedClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_datatypeClass"> + <gml:description>class with few or no operations whose primary purpose is to hold the abstract state of + another class for transmittal, storage, encoding or persistent storage + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">datatypeClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_interfaceClass"> + <gml:description>named set of operations that characterize the behavior of an element</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">interfaceClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_unionClass"> + <gml:description>class describing a selection of one of the specified types</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">unionClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_metaClass"> + <gml:description>class whose instances are classes</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">metaClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_typeClass"> + <gml:description>class used for specification of a domain of instances (objects), together with the operations + applicable to the objects. A type may have attributes and associations + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">typeClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_characterString"> + <gml:description>free text field</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">characterString</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_integer"> + <gml:description>numerical field</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">integer</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_association"> + <gml:description>semantic relationship between two classes that involves connections among their instances + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">association</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_DimensionNameTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_DimensionNameTypeCode"> + <gml:description>name of the dimension</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_DimensionNameTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_row"> + <gml:description>ordinate (y) axis</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">row</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_column"> + <gml:description>abscissa (x) axis</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">column</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_vertical"> + <gml:description>vertical (z) axis</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">vertical</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_track"> + <gml:description>along the direction of motion of the scan point</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">track</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_crossTrack"> + <gml:description>perpendicular to the direction of motion of the scan point</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">crossTrack</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_line"> + <gml:description>scan line of a sensor</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">line</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_sample"> + <gml:description>element along a scan line</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">sample</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_time"> + <gml:description>duration</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">time</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_GeometricObjectTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_GeometricObjectTypeCode"> + <gml:description>name of point or vector objects used to locate zero-, one-, two-, or three-dimensional spatial + locations in the dataset + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_GeometricObjectTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_complex"> + <gml:description>set of geometric primitives such that their boundaries can be represented as a union of other + primitives + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">complex</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_composite"> + <gml:description>connected set of curves, solids or surfaces</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">composite</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_curve"> + <gml:description>bounded, 1-dimensional geometric primitive, representing the continuous image of a line + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">curve</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_point"> + <gml:description>zero-dimensional geometric primitive, representing a position but not having an extent + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">point</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_solid"> + <gml:description>bounded, connected 3-dimensional geometric primitive, representing the continuous image of a + region of space + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">solid</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_surface"> + <gml:description>bounded, connected 2-dimensional geometric primitive, representing the continuous image of a + region of a plane + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">surface</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ImagingConditionCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ImagingConditionCode"> + <gml:description>code which indicates conditions which may affect the image</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ImagingConditionCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_blurredImage"> + <gml:description>portion of the image is blurred</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">blurredImage</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_cloud"> + <gml:description>portion of the image is partially obscured by cloud cover</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">cloud</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_degradingObliquity"> + <gml:description>acute angle between the plane of the ecliptic (the plane of the Earth s orbit) and the plane + of the celestial equator + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">degradingObliquity</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_fog"> + <gml:description>portion of the image is partially obscured by fog</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fog</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_heavySmokeOrDust"> + <gml:description>portion of the image is partially obscured by heavy smoke or dust</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">heavySmokeOrDust</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_night"> + <gml:description>image was taken at night</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">night</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_rain"> + <gml:description>image was taken during rainfall</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">rain</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_semiDarkness"> + <gml:description>image was taken during semi-dark conditions -- twilight conditions</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">semiDarkness</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_shadow"> + <gml:description>portion of the image is obscured by shadow</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">shadow</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_snow"> + <gml:description>portion of the image is obscured by snow</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">snow</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_terrainMasking"> + <gml:description>the absence of collection data of a given point or area caused by the relative location of + topographic features which obstruct the collection path between the collector(s) and the subject(s) of + interest + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">terrainMasking</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_KeywordTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_KeywordTypeCode"> + <gml:description>methods used to group similar keywords</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_KeywordTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_discipline"> + <gml:description>keyword identifies a branch of instruction or specialized learning</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">discipline</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_place"> + <gml:description>keyword identifies a location</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">place</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_stratum"> + <gml:description>keyword identifies the layer(s) of any deposited substance</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">stratum</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_temporal"> + <gml:description>keyword identifies a time period related to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">temporal</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_theme"> + <gml:description>keyword identifies a particular subject or topic</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">theme</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_MaintenanceFrequencyCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_MaintenanceFrequencyCode"> + <gml:description>frequency with which modifications and deletions are made to the data after it is first + produced + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_MaintenanceFrequencyCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_continual"> + <gml:description>data is repeatedly and frequently updated</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">continual</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_daily"> + <gml:description>data is updated each day</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">daily</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_weekly"> + <gml:description>data is updated on a weekly basis</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">weekly</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_fortnightly"> + <gml:description>data is updated every two weeks</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fortnightly</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_monthly"> + <gml:description>data is updated each month</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">monthly</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_quartely"> + <gml:description>data is updated every three months</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">quartely</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_biannually"> + <gml:description>data is updated twice each year</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">biannually</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_annually"> + <gml:description>data is updated every year</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">annually</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_asNeeded"> + <gml:description>data is updated as deemed necessary</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">asNeeded</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_irregular"> + <gml:description>data is updated in intervals that are uneven in duration</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">irregular</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_notPlanned"> + <gml:description>there are no plans to update the data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">notPlanned</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_unknown"> + <gml:description>frequency of maintenance for the data is not known</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">unknown</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_MediumFormatCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_MediumFormatCode"> + <gml:description>method used to write to the medium</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_MediumFormatCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_cpio"> + <gml:description>CoPy In / Out (UNIX file format and command)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">cpio</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_tar"> + <gml:description>Tape ARchive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tar</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_highSierra"> + <gml:description>high sierra file system</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">highSierra</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_iso9660"> + <gml:description>information processing volume and file structure of CD-ROM</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">iso9660</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_iso9660RockRidge"> + <gml:description>rock ridge interchange protocol (UNIX)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">iso9660RockRidge</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_iso9660AppleHFS"> + <gml:description>hierarchical file system (Macintosh)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">iso9660AppleHFS</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_MediumNameCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_MediumNameCode"> + <gml:description>name of the medium</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_MediumNameCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_cdRom"> + <gml:description>read-only optical disk</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">cdRom</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_dvd"> + <gml:description>digital versatile disk</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dvd</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_dvdRom"> + <gml:description>digital versatile disk, read only</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dvdRom</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_3halfInchFloppy"> + <gml:description>3,5 inch magnetic disk</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">3halfInchFloppy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_5quarterInchFloppy"> + <gml:description>5,25 inch magnetic disk</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">5quarterInchFloppy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_7trackTape"> + <gml:description>7 track magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">7trackTape</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_9trackType"> + <gml:description>9 track magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">9trackType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_3480Cartridge"> + <gml:description>3480 cartridge tape drive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">3480Cartridge</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_3490Cartridge"> + <gml:description>3490 cartridge tape drive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">3490Cartridge</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_3580Cartridge"> + <gml:description>3580 cartridge tape drive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">3580Cartridge</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_4mmCartridgeTape"> + <gml:description>4 millimetre magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">4mmCartridgeTape</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_8mmCartridgeTape"> + <gml:description>8 millimetre magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8mmCartridgeTape</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_1quarterInchCartridgeTape"> + <gml:description>0,25 inch magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">1quarterInchCartridgeTape</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_digitalLinearTap"> + <gml:description>half inch cartridge streaming tape drive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">digitalLinearTap</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_onLine"> + <gml:description>direct computer linkage</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">onLine</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_satellite"> + <gml:description>linkage through a satellite communication system</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">satellite</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_telephoneLink"> + <gml:description>communication through a telephone network</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">telephoneLink</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_hardcopy"> + <gml:description>pamphlet or leaflet giving descriptive information</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">hardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ObligationCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ObligationCode"> + <gml:description>obligation of the element or entity</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ObligationCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ObligationCode_mandatory"> + <gml:description>element is always required</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">mandatory</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ObligationCode_optional"> + <gml:description>element is not required</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">optional</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ObligationCode_conditional"> + <gml:description>element is required when a specific condition is met</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">conditional</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_PixelOrientationCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_PixelOrientationCode"> + <gml:description>point in a pixel corresponding to the Earth location of the pixel</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_PixelOrientationCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_center"> + <gml:description>point halfway between the lower left and the upper right of the pixel</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">center</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_lowerLeft"> + <gml:description>the corner in the pixel closest to the origin of the SRS; if two are at the same distance + from the origin, the one with the smallest x-value + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">lowerLeft</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_lowerRight"> + <gml:description>next corner counterclockwise from the lower left</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">lowerRight</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_upperRight"> + <gml:description>next corner counterclockwise from the lower right</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">upperRight</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_upperLeft"> + <gml:description>next corner counterclockwise from the upper right</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">upperLeft</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ProgressCode===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ProgressCode"> + <gml:description>status of the dataset or progress of a review</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ProgressCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_completed"> + <gml:description>production of the data has been completed</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">completed</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_historicalArchive"> + <gml:description>data has been stored in an offline storage facility</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">historicalArchive</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_obsolete"> + <gml:description>data is no longer relevant</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">obsolete</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_onGoing"> + <gml:description>data is continually being updated</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">onGoing</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_planned"> + <gml:description>fixed date has been established upon or by which the data will be created or updated + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">planned</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_required"> + <gml:description>data needs to be generated or updated</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">required</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_underDevelopment"> + <gml:description>data is currently in the process of being created</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">underDevelopment</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_RestrictionCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_RestrictionCode"> + <gml:description>limitation(s) placed upon the access or use of the data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_RestrictionCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_copyright"> + <gml:description>exclusive right to the publication, production, or sale of the rights to a literary, + dramatic, musical, or artistic work, or to the use of a commercial print or label, granted by law for a + specified period of time to an author, composer, artist, distributor + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">copyright</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_patent"> + <gml:description>government has granted exclusive right to make, sell, use or license an invention or + discovery + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">patent</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_patentPending"> + <gml:description>produced or sold information awaiting a patent</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">patentPending</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_trademark"> + <gml:description>a name, symbol, or other device identifying a product, officially registered and legally + restricted to the use of the owner or manufacturer + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">trademark</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_license"> + <gml:description>formal permission to do something</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">license</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_intellectualPropertyRights"> + <gml:description>rights to financial benefit from and control of distribution of non-tangible property that is + a result of creativity + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">intellectualPropertyRights</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_restricted"> + <gml:description>withheld from general circulation or disclosure</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">restricted</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_otherRestrictions"> + <gml:description>limitation not listed</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">otherRestrictions</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ScopeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ScopeCode"> + <gml:description>class of information to which the referencing entity applies</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ScopeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_attribute"> + <gml:description>information applies to the attribute class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attribute</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_attributeType"> + <gml:description>information applies to the characteristic of a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attributeType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_collectionHardware"> + <gml:description>information applies to the collection hardware class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collectionHardware</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_collectionSession"> + <gml:description>information applies to the collection session</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collectionSession</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_dataset"> + <gml:description>information applies to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_series"> + <gml:description>information applies to the series</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">series</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_nonGeographicDataset"> + <gml:description>information applies to non-geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">nonGeographicDataset</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_dimensionGroup"> + <gml:description>information applies to a dimension group</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dimensionGroup</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_feature"> + <gml:description>information applies to a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">feature</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_featureType"> + <gml:description>information applies to a feature type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">featureType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_propertyType"> + <gml:description>information applies to a property type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">propertyType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_fieldSession"> + <gml:description>information applies to a field session</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fieldSession</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_software"> + <gml:description>information applies to a computer program or routine</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">software</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_service"> + <gml:description>information applies to a capability which a service provider entity makes available to a + service user entity through a set of interfaces that define a behaviour, such as a use case + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">service</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_model"> + <gml:description>information applies to a copy or imitation of an existing or hypothetical object + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">model</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_tile"> + <gml:description>information applies to a tile, a spatial subset of geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tile</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_SpatialRepresentationTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_SpatialRepresentationTypeCode"> + <gml:description>method used to represent geographic information in the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_SpatialRepresentationTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_vector"> + <gml:description>vector data is used to represent geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">vector</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_grid"> + <gml:description>grid data is used to represent geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">grid</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_textTable"> + <gml:description>textual or tabular data is used to represent geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">textTable</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_tin"> + <gml:description>triangulated irregular network</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tin</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_stereoModel"> + <gml:description>three-dimensional view formed by the intersecting homologous rays of an overlapping pair of + images + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">stereoModel</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_video"> + <gml:description>scene from a video recording</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">video</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_TopicCategoryCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_TopicCategoryCode"> + <gml:description>high-level geographic data thematic classification to assist in the grouping and search of + available geographic data sets. Can be used to group keywords as well. Listed examples are not exhaustive. + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_TopicCategoryCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_farming"> + <gml:description>rearing of animals and/or cultivation of plants. Examples: agriculture, irrigation, + aquaculture, plantations, herding, pests and diseases affecting crops and livestock + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">farming</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_biota"> + <gml:description>flora and/or fauna in natural environment. Examples: wildlife, vegetation, biological + sciences, ecology, wilderness, sealife, wetlands, habitat + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">biota</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_boundaries"> + <gml:description>legal land descriptions. Examples: political and administrative boundaries</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">boundaries</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_climatologyMeteorologyAtmosphere"> + <gml:description>processes and phenomena of the atmosphere. Examples: cloud cover, weather, climate, + atmospheric conditions, climate change, precipitation + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">climatologyMeteorologyAtmosphere</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_economy"> + <gml:description>economic activities, conditions and employment. Examples: production, labour, revenue, + commerce, industry, tourism and ecotourism, forestry, fisheries, commercial or subsistence hunting, + exploration and exploitation of resources such as minerals, oil and gas + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">economy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_elevation"> + <gml:description>height above or below sea level. Examples: altitude, bathymetry, digital elevation models, + slope, derived products + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">elevation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_environment"> + <gml:description>environmental resources, protection and conservation. Examples: environmental pollution, + waste storage and treatment, environmental impact assessment, monitoring environmental risk, nature + reserves, landscape + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">environment</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_geoscientificInformation"> + <gml:description>information pertaining to earth sciences. Examples: geophysical features and processes, + geology, minerals, sciences dealing with the composition, structure and origin of the earth s rocks, risks + of earthquakes, volcanic activity, landslides, gravity information, soils, permafrost, hydrogeology, erosion + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">geoscientificInformation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_health"> + <gml:description>health, health services, human ecology, and safety. Examples: disease and illness, factors + affecting health, hygiene, substance abuse, mental and physical health, health services + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">health</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_imageryBaseMapsEarthCover"> + <gml:description>base maps. Examples: land cover, topographic maps, imagery, unclassified images, + annotations + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">imageryBaseMapsEarthCover</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_intelligenceMilitary"> + <gml:description>military bases, structures, activities. Examples: barracks, training grounds, military + transportation, information collection + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">intelligenceMilitary</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_inlandWaters"> + <gml:description>inland water features, drainage systems and their characteristics. Examples: rivers and + glaciers, salt lakes, water utilization plans, dams, currents, floods, water quality, hydrographic charts + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">inlandWaters</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_location"> + <gml:description>positional information and services. Examples: addresses, geodetic networks, control points, + postal zones and services, place names + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">location</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_oceans"> + <gml:description>features and characteristics of salt water bodies (excluding inland waters). Examples: tides, + tidal waves, coastal information, reefs + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">oceans</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_planningCadastre"> + <gml:description>information used for appropriate actions for future use of the land. Examples: land use maps, + zoning maps, cadastral surveys, land ownership + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">planningCadastre</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_society"> + <gml:description>characteristics of society and cultures. Examples: settlements, anthropology, archaeology, + education, traditional beliefs, manners and customs, demographic data, recreational areas and activities, + social impact assessments, crime and justice, census information + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">society</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_structure"> + <gml:description>man-made construction. Examples: buildings, museums, churches, factories, housing, monuments, + shops, towers + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">structure</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_transportation"> + <gml:description>means and aids for conveying persons and/or goods. Examples: roads, airports/airstrips, + shipping routes, tunnels, nautical charts, vehicle or vessel location, aeronautical charts, railways + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">transportation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_utilitiesCommunication"> + <gml:description>energy, water and waste systems and communications infrastructure and services. Examples: + hydroelectricity, geothermal, solar and nuclear sources of energy, water purification and distribution, + sewage collection and disposal, electricity and gas distribution, data communication, telecommunication, + radio, communication networks + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utilitiesCommunication</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_TopologyLevelCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_TopologyLevelCode"> + <gml:description>degree of complexity of the spatial relationships</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_TopologyLevelCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_geometryOnly"> + <gml:description>geometry objects without any additional structure which describes topology</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">geometryOnly</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_topology1D"> + <gml:description>1-dimensional topological complex -- commonly called chain-node topology</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">topology1D</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_planarGraph"> + <gml:description>1-dimensional topological complex that is planar. (A planar graph is a graph that can be + drawn in a plane in such a way that no two edges intersect except at a vertex.) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">planarGraph</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_fullPlanarGraph"> + <gml:description>2-dimensional topological complex that is planar. (A 2-dimensional topological complex is + commonly called full topology in a cartographic 2D environment.) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fullPlanarGraph</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_surfaceGraph"> + <gml:description>1-dimensional topological complex that is isomorphic to a subset of a surface. (A geometric + complex is isomorphic to a topological complex if their elements are in a one-to-one, dimensional-and + boundry-preserving correspondence to one another.) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">surfaceGraph</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_fullSurfaceGraph"> + <gml:description>2-dimensional topological complex that is isomorphic to a subset of a surface + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fullSurfaceGraph</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_topology3D"> + <gml:description>3-dimensional topological complex. (A topological complex is a collection of topological + primitives that are closed under the boundary operations.) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">topology3D</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_fullTopology3D"> + <gml:description>complete coverage of a 3D Euclidean coordinate space</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fullTopology3D</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_abstract"> + <gml:description>topological complex without any specified geometric realisation</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">abstract</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!---===MX_ScopeCode===--> + <codelistItem> + <CodeListDictionary gml:id="MX_ScopeCode"> + <gml:description>Extension of MD_ScopeCode for the needs of GMX application schemas and in the context of a + transfer + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MX_ScopeCode</gml:identifier> + <!--MD_ScopeCode values--> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_attribute"> + <gml:description>information applies to the attribute class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attribute</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_attributeType"> + <gml:description>information applies to the characteristic of a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attributeType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_collectionHardware"> + <gml:description>information applies to the collection hardware class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collectionHardware</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_collectionSession"> + <gml:description>information applies to the collection session</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collectionSession</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_dataset"> + <gml:description>information applies to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_series"> + <gml:description>information applies to the series</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">series</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_nonGeographicDataset"> + <gml:description>information applies to non-geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">nonGeographicDataset</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_dimensionGroup"> + <gml:description>information applies to a dimension group</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dimensionGroup</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_feature"> + <gml:description>information applies to a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">feature</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_featureType"> + <gml:description>information applies to a feature type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">featureType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_propertyType"> + <gml:description>information applies to a property type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">propertyType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_fieldSession"> + <gml:description>information applies to a field session</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fieldSession</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_software"> + <gml:description>information applies to a computer program or routine</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">software</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_service"> + <gml:description>information applies to a capability which a service provider entity makes available to a + service user entity through a set of interfaces that define a behaviour, such as a use case + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">service</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_model"> + <gml:description>information applies to a copy or imitation of an existing or hypothetical object + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">model</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_tile"> + <gml:description>information applies to a tile, a spatial subset of geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tile</gml:identifier> + </CodeDefinition> + </codeEntry> + <!--MX_ScopeCode extensions--> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_initiative"> + <gml:description>The referencing entity applies to a transfer aggregate which was originally identified as an + initiative (DS_Initiative) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">initiative</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_stereomate"> + <gml:description>The referencing entity applies to a transfer aggregate which was originally identified as a + stereo mate (DS_StereoMate) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">stereomate</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_sensor"> + <gml:description>The referencing entity applies to a transfer aggregate which was originally identified as a + sensor (DS_Sensor) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">sensor</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_platformSeries"> + <gml:description>The referencing entity applies to a transfer aggregate which was originally identified as a + platform series (DS_PlatformSeries) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">platformSeries</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_sensorSeries"> + <gml:description>The referencing entity applies to a transfer aggregate which was originally identified as a + sensor series (DS_SensorSeries) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">sensorSeries</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_productionSeries"> + <gml:description>The referencing entity applies to a transfer aggregate which was originally identified as a + production series (DS_ProductionSeries) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">productionSeries</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_transferAggregate"> + <gml:description>The referencing entity applies to a transfer aggregate which has no existence outside of the + transfer context + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">transferAggregate</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_otherAggregate"> + <gml:description>The referencing entity applies to a transfer aggregate which has an existence outside of the + transfer context, but which does not pertains to a specific aggregate type. + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">otherAggregate</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== EOF ===--> +</CT_CodelistCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/resources/crs/ML_gmxCrs.xml b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/crs/ML_gmxCrs.xml new file mode 100644 index 00000000000..f3cd03bc32d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/crs/ML_gmxCrs.xml @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CT_CrsCatalogue xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.isotc211.org/2005/gmx" + xsi:schemaLocation="http://www.isotc211.org/2005/gmx ../../gmx/gmx.xsd http://www.isotc211.org/2005/gmd ../../gmd/gmd.xsd http://www.isotc211.org/2005/gco ../../gco/gco.xsd http://www.w3.org/1999/xlink ../../xlink/xlinks.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>ML_gmxCrs</gco:CharacterString> + </name> + <scope xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CRS catalogue for description of gmx metadata dataset</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#xpointer(//*[@id='fra'])">Catalogue des paramètres géodésiques pour la + description de jeux de métadonnées conformes aux schémas gmx + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-29</gco:Date> + </versionDate> + <!--=== for Cultural and Linguistic Adaptability ===--> + <!--Default language--> + <language> + <gmd:LanguageCode codeList="../codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="eng">English + </gmd:LanguageCode> + </language> + <characterSet> + <gmd:MD_CharacterSetCode codeList="../codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8">UTF 8 + </gmd:MD_CharacterSetCode> + </characterSet> + <!--List of the 'locales' into which free text values can be translated--> + <locale> + <gmd:PT_Locale id="fra"> + <gmd:languageCode> + <gmd:LanguageCode codeList="../codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="french">French + </gmd:LanguageCode> + </gmd:languageCode> + <gmd:country> + <gmd:Country codeList="../Codelist/ML_gmxCodelists.xm#Country" codeListValue="FR">France</gmd:Country> + </gmd:country> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="../Codelist/ML_gmxCodelists.xm#MD_CharacterSetCode" codeListValue="utf8">UTF + 8 + </gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </locale> + <!--============================================================================--> + <!--============================================================================--> + <!--======================= Coordinate reference systems ============================--> + <!--*** WGS 84 - CRS ***--> + <crs> + <ML_GeodeticCRS gml:id="ml_EPSG4326"> + <gml:identifier codeSpace="EPSG_v65">4326</gml:identifier> + <gml:name codeSpace="IGN-F">WGS84G</gml:name> + <gml:name>World Geodetic System 1984</gml:name> + <gml:domainOfValidity> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>World</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </gmd:EX_Extent> + </gml:domainOfValidity> + <gml:scope>not known</gml:scope> + <gml:usesEllipsoidalCS xlink:href="#xpointer(//*[@gml:id='EPSG6422'])"/> + <gml:usesGeodeticDatum xlink:href="#xpointer(//*[@gml:id='EPSG6422')]"/> + <!--==alternative definition(s)==--> + <alternativeExpression> + <CrsAlt gml:id="ml_EPSG4326_fr" codeSpace="fra"> + <gml:identifier codeSpace="EPSG_v65">4326</gml:identifier> + <gml:name codeSpace="IGN-F">WGS84G</gml:name> + <gml:name>WGS 1984</gml:name> + <gml:domainOfValidity> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>Monde</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </gmd:EX_Extent> + </gml:domainOfValidity> + <gml:scope>inconnu</gml:scope> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CrsAlt> + </alternativeExpression> + </ML_GeodeticCRS> + </crs> + <!--============================ Coordinate systems ===============================--> + <!--*** Ellipsoidal - 2D - degree ***--> + <coordinateSystem> + <gml:EllipsoidalCS gml:id="EPSG6422"> + <gml:identifier codeSpace="EPSG_v65">6422</gml:identifier> + <gml:name>ellipsoidal2Ddeg</gml:name> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9901'])"/> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9902'])"/> + </gml:EllipsoidalCS> + </coordinateSystem> + <!--========================== Coordinate system axis ==============================--> + <!--*** Latitude ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9901" gml:uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='deg'])"> + <gml:identifier codeSpace="EPSG_v65">9901</gml:identifier> + <gml:name>Geodetic latitude</gml:name> + <gml:axisAbbrev>Lat</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">North</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--*** Longitude ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9902" gml:uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='deg'])"> + <gml:identifier codeSpace="EPSG_v65">9902</gml:identifier> + <gml:name>Geodetic longitude</gml:name> + <gml:axisAbbrev>Lon</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">East</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--================================ Datums =====================================--> + <!--*** WGS 84 - Datum ***--> + <datum> + <gml:GeodeticDatum gml:id="EPSG6326"> + <gml:identifier codeSpace="EPSG_v65">6326</gml:identifier> + <gml:name>World Geodetic System 1984</gml:name> + <gml:scope>not known</gml:scope> + <gml:primeMeridian xlink:href="#xpointer(//*[@gml:id='EPSG8901'])"/> + <gml:ellipsoid xlink:href="#xpointer(//*[@gml:id='EPSG7030'])"/> + </gml:GeodeticDatum> + </datum> + <!--================================ Ellipsoids ====================================--> + <!--*** WGS 84 - Ellipsoid ***--> + <ellipsoid> + <gml:Ellipsoid gml:id="EPSG7030"> + <gml:identifier codeSpace="EPSG_v65">7030</gml:identifier> + <gml:name>WGS 84</gml:name> + <gml:semiMajorAxis uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='m'])">6378137</gml:semiMajorAxis> + <gml:secondDefiningParameter> + <gml:SecondDefiningParameter> + <gml:inverseFlattening uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='m'])">298.2572</gml:inverseFlattening> + </gml:SecondDefiningParameter> + </gml:secondDefiningParameter> + </gml:Ellipsoid> + </ellipsoid> + <!--============================== Prime meridians =================================--> + <!--*** Greenwich ***--> + <primeMeridian> + <gml:PrimeMeridian gml:id="EPSG8901"> + <gml:identifier codeSpace="EPSG_v65">8901</gml:identifier> + <gml:name>Greenwich</gml:name> + <gml:greenwichLongitude uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='deg'])">0</gml:greenwichLongitude> + </gml:PrimeMeridian> + </primeMeridian> + <!--================================ Operations ===================================--> + <!--============================= Operation methods ================================--> + <!--=========================== Operation parameters ================================--> +</CT_CrsCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/resources/crs/gmxCrs.xml b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/crs/gmxCrs.xml new file mode 100644 index 00000000000..eca9aa52483 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/crs/gmxCrs.xml @@ -0,0 +1,305 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CT_CrsCatalogue xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.isotc211.org/2005/gmx" + xsi:schemaLocation="http://www.isotc211.org/2005/gmx ../../gmx/gmx.xsd http://www.isotc211.org/2005/gmd ../../gmd/gmd.xsd http://www.isotc211.org/2005/gco ../../gco/gco.xsd http://www.w3.org/1999/xlink ../../xlink/xlinks.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>gmxCrs</gco:CharacterString> + </name> + <scope> + <gco:CharacterString>CRS parameters dictionary</gco:CharacterString> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-18</gco:Date> + </versionDate> + <!--============================================================================--> + <!--============================================================================--> + <!--======================= Coordinate reference systems ============================--> + <!--*** WGS 84 - CRS ***--> + <crs> + <gml:GeodeticCRS gml:id="EPSG4326"> + <gml:identifier codeSpace="EPSG_v65">4326</gml:identifier> + <gml:name codeSpace="IGN-F">WGS84G</gml:name> + <gml:name>World Geodetic System 1984</gml:name> + <gml:domainOfValidity> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>World: Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, + Anguilla, Antarctica, Antigua and Barbuda, Argentina, Armenia, Aruba, Australia, + Austria, Azerbaijan, Bahamas, Bahrain, Bangladesh, Barbados, Belgium, Belgium, Belize, Benin, + Bermuda, Bhutan, Bolivia, Bosnia and Herzegowina, + Botswana, Bouvet Island, Brazil, British Indian Ocean Territory, British Virgin Islands, Brunei + Darussalam, Bulgaria, Burkina Faso, Burundi, Cambodia, + Cameroon, Canada, Cape Verde, Cayman Islands, Central African Republic, Chad, Chile, China, + Christmas Island, Cocos (Keeling) Islands, Comoros, + Congo, Cook Islands, Costa Rica, Côte d'Ivoire (Ivory Coast), Croatia, Cuba, Cyprus, Czech + Republic, Denmark, Djibouti, Dominica, Dominican Republic, + East Timor, Ecuador, Egypt, El Salvador, Equatorial Guinea, Eritrea, Estonia, Ethiopia, Falkland + Islands (Malvinas), Faroe Islands, Fiji, Finland, France, + French Guiana, French Polynesia, French Southern Territories, Gabon, Gambia, Georgia, Germany, + Ghana, Gibraltar, Greece, Greenland, Grenada, + Guadeloupe, Guam, Guatemala, Guinea, Guinea-Bissau, Guyana, Haiti, Heard Island and McDonald + Islands, Holy See (Vatican City State), Honduras, China + - Hong Kong, Hungary, Iceland, India, Indonesia, Islamic Republic of Iran, Iraq, Ireland, Israel, + Italy, Jamaica, Japan, Jordan, Kazakstan, Kenya, Kiribati, + Democratic People's Republic of Korea (North Korea), Republic of Korea (South Korea), Kuwait, + Kyrgyzstan, Lao People's Democratic Republic (Laos), + Latvia, Lebanon, Lesotho, Liberia, Libyan Arab Jamahiriya, Liechtenstein, Lithuania, Luxembourg, + China - Macau, The Former Yugoslav Republic of + Macedonia, Madagascar, Malawi, Malaysia, Maldives, Mali, Malta, Marshall Islands, Martinique, + Mauritania, Mauritius, Mayotte, Mexico, Federated States + of Micronesia, Monaco, Mongolia, Montserrat, Morocco, Mozambique, Myanmar (Burma), Namibia, Nauru, + Nepal, Netherlands, Netherlands Antilles, New + Caledonia, New Zealand, Nicaragua, Niger, Nigeria, Niue, Norfolk Island, Northern Mariana Islands, + Norway, Oman, Pakistan, Palau, Panama, Papua New + Guinea (PNG), Paraguay, Peru, Philippines, Pitcairn, Poland, Portugal, Puerto Rico, Qatar, + Reunion, Romania, Russian Federation, Rwanda, Saint Kitts and + Nevis, Saint Lucia, Saint Vincent and the Grenadines, Samoa, San Marino, Sao Tome and Principe, + Saudi Arabia, Senegal, Seychelles, Sierra Leone, + Singapore, Slovakia (Slovak Republic), Slovenia, Solomon Islands, Somalia, South Africa, South + Georgia and the South Sandwich Islands, Spain, Sri Lanka, + Saint Helena, Saint Pierre and Miquelon, Sudan, Suriname, Svalbard and Jan Mayen, Swaziland, + Sweden, Switzerland, Syrian Arab Republic, Taiwan, + Tajikistan, United Republic of Tanzania, Thailand, The Democratic Republic of the Congo (Zaire), + Togo, Tokelau, Tonga, Trinidad and Tobago, Tunisia, + Turkey, Turkmenistan, Turks and Caicos Islands, Tuvalu, Uganda, Ukraine, United Arab Emirates + (UAE), United Kingdom (UK), United States (USA), + United States Minor Outlying Islands, Uruguay, Uzbekistan, Vanuatu, Venezuela, Vietnam, US Virgin + Islands, Wallis and Futuna, Western Sahara, Yemen, + Yugoslavia - Union of Serbia and Montenegro, Zambia, Zimbabwe. + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </gmd:EX_Extent> + </gml:domainOfValidity> + <gml:scope>not known</gml:scope> + <gml:ellipsoidalCS xlink:href="#xpointer(//*[@gml:id='EPSG6422'])"/> + <gml:geodeticDatum xlink:href="#xpointer(//*[@gml:id='EPSG6326')]"/> + </gml:GeodeticCRS> + </crs> + <!--*** UTM 38 Nord ***--> + <crs> + <gml:ProjectedCRS gml:id="EPSG32638"> + <gml:identifier codeSpace="EPSG_v65">32638</gml:identifier> + <gml:name codeSpace="IGN-F">UTM38W84</gml:name> + <gml:name>WGS 84 / UTM zone 38N</gml:name> + <gml:domainOfValidity> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>Between 42 and 48 deg East; northern hemisphere. Armenia. Azerbaijan. Djibouti. + Eritrea. Ethiopia. Georgia. Islamic Republic of Iran. Iraq. Kazakstan. Kuwait. Russian Federation. + Saudi Arabia. Somalia. Tukey. Yemen. + </gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </gmd:EX_Extent> + </gml:domainOfValidity> + <gml:scope>not known</gml:scope> + <gml:conversion xlink:href="#xpointer(//*[@gml:id='EPSG16038'])"/> + <gml:baseGeodeticCRS xlink:href="#xpointer(//*[@gml:id='EPSG4326'])"/><!--WGS84 - CRS--> + <gml:cartesianCS xlink:href="#EPSG4400"/> + </gml:ProjectedCRS> + </crs> + <!--============================ Coordinate systems ===============================--> + <!--*** Ellipsoidal - 2D - degree ***--> + <coordinateSystem> + <gml:EllipsoidalCS gml:id="EPSG6422"> + <gml:description>Ellipsoidal 2D CS. Axes: latitude, longitude. Orientations: north, east. UoM: deg + </gml:description> + <gml:identifier codeSpace="EPSG_v65">6422</gml:identifier> + <gml:name>CS ellipsoidal2D</gml:name> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9901'])"/> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9902'])"/> + </gml:EllipsoidalCS> + </coordinateSystem> + <!--*** Cartesian - 2D ***--> + <coordinateSystem> + <gml:CartesianCS gml:id="EPSG4400"> + <gml:description>Cartesian 2D CS. Axes: easting, northing (E,N). Orientations: east, north. UoM: m. + </gml:description> + <gml:identifier codeSpace="EPSG_v65">4400</gml:identifier> + <gml:name>Cs cartesian2D</gml:name> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9907'])"/> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9906'])"/> + </gml:CartesianCS> + </coordinateSystem> + <!--========================== Coordinate system axis ==============================--> + <!--*** Latitude ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9901" gml:uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='deg'])"> + <gml:identifier codeSpace="EPSG_v65">9901</gml:identifier> + <gml:name>Geodetic latitude</gml:name> + <gml:axisAbbrev>Lat</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">North</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--*** Longitude ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9902" gml:uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='deg'])"> + <gml:identifier codeSpace="EPSG_v65">9902</gml:identifier> + <gml:name>Geodetic longitude</gml:name> + <gml:axisAbbrev>Lon</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">East</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--*** Northing ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9907" gml:uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='m'])"> + <gml:identifier codeSpace="EPSG_v65">9907</gml:identifier> + <gml:name>Northing</gml:name> + <gml:axisAbbrev>N</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">North</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--*** Easting ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9906" gml:uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='m'])"> + <gml:identifier codeSpace="EPSG_v65">9906</gml:identifier> + <gml:name>Easting</gml:name> + <gml:axisAbbrev>E</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">east</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--================================ Datums =====================================--> + <!--*** WGS 84 - Datum ***--> + <datum> + <gml:GeodeticDatum gml:id="EPSG6326"> + <gml:identifier codeSpace="EPSG_v65">6326</gml:identifier> + <gml:name>World Geodetic System 1984</gml:name> + <gml:scope>not known</gml:scope> + <gml:primeMeridian xlink:href="#xpointer(//*[@gml:id='EPSG8901'])"/> + <gml:ellipsoid xlink:href="#xpointer(//*[@gml:id='EPSG7030'])"/> + </gml:GeodeticDatum> + </datum> + <!--================================ Ellipsoids ====================================--> + <!--*** WGS 84 - Ellipsoid ***--> + <ellipsoid> + <gml:Ellipsoid gml:id="EPSG7030"> + <gml:identifier codeSpace="EPSG_v65">7030</gml:identifier> + <gml:name>WGS 84</gml:name> + <gml:semiMajorAxis uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='m'])">6378137</gml:semiMajorAxis> + <gml:secondDefiningParameter> + <gml:SecondDefiningParameter> + <gml:inverseFlattening uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='m'])">298.2572</gml:inverseFlattening> + </gml:SecondDefiningParameter> + </gml:secondDefiningParameter> + </gml:Ellipsoid> + </ellipsoid> + <!--============================== Prime meridians =================================--> + <!--*** Greenwich ***--> + <primeMeridian> + <gml:PrimeMeridian gml:id="EPSG8901"> + <gml:identifier codeSpace="EPSG_v65">8901</gml:identifier> + <gml:name>Greenwich</gml:name> + <gml:greenwichLongitude uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='deg'])">0</gml:greenwichLongitude> + </gml:PrimeMeridian> + </primeMeridian> + <!--================================ Operations ===================================--> + <operation> + <gml:Conversion gml:id="EPSG16038"> + <gml:identifier codeSpace="EPSG_v65">16038</gml:identifier> + <gml:name>UTM Zone 38 N</gml:name> + <gml:scope>not known</gml:scope> + <gml:method xlink:href="EPSG9807"/> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='deg'])">0</gml:value> + <gml:operationParameter xlink:href="EPSG8801"/> + </gml:ParameterValue> + </gml:parameterValue> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='deg'])">45</gml:value> + <gml:operationParameter xlink:href="EPSG8802"/> + </gml:ParameterValue> + </gml:parameterValue> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='unity'])">0.9996</gml:value> + <gml:operationParameter xlink:href="EPSG8805"/> + </gml:ParameterValue> + </gml:parameterValue> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='m'])">500000</gml:value> + <gml:operationParameter xlink:href="EPSG8806"/> + </gml:ParameterValue> + </gml:parameterValue> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='m'])">0</gml:value> + <gml:operationParameter xlink:href="EPSG8807"/> + </gml:ParameterValue> + </gml:parameterValue> + </gml:Conversion> + </operation> + <!--============================= Operation methods ================================--> + <operationMethod> + <gml:OperationMethod gml:id="EPSG9807"> + <gml:identifier codeSpace="EPSG_v65">9807</gml:identifier> + <gml:name codeSpace="IGN-F">PRCM040</gml:name> + <gml:name>Transverse Mercator</gml:name> + <gml:formula>Transverse Mercator</gml:formula> + <gml:sourceDimensions>2</gml:sourceDimensions> + <gml:targetDimensions>2</gml:targetDimensions> + <gml:generalOperationParameter xlink:href="EPSG8801"/> + <gml:generalOperationParameter xlink:href="EPSG8802"/> + <gml:generalOperationParameter xlink:href="EPSG8805"/> + <gml:generalOperationParameter xlink:href="EPSG8806"/> + <gml:generalOperationParameter xlink:href="EPSG8807"/> + </gml:OperationMethod> + </operationMethod> + <!--=========================== Operation parameters ================================--> + <parameters> + <gml:OperationParameter gml:id="EPSG8801"> + <gml:identifier codeSpace="EPSG_v65">8801</gml:identifier> + <gml:name>Latitude of natural origin</gml:name> + </gml:OperationParameter> + </parameters> + <parameters> + <gml:OperationParameter gml:id="EPSG8802"> + <gml:identifier codeSpace="EPSG_v65">8802</gml:identifier> + <gml:name>Longitude of natural origin</gml:name> + </gml:OperationParameter> + </parameters> + <parameters> + <gml:OperationParameter gml:id="EPSG8805"> + <gml:identifier codeSpace="EPSG_v65">8805</gml:identifier> + <gml:name>Scale factor at natural origin</gml:name> + </gml:OperationParameter> + </parameters> + <parameters> + <gml:OperationParameter gml:id="EPSG8806"> + <gml:identifier codeSpace="EPSG_v65">8806</gml:identifier> + <gml:name>False Easting</gml:name> + </gml:OperationParameter> + </parameters> + <parameters> + <gml:OperationParameter gml:id="EPSG8807"> + <gml:identifier codeSpace="EPSG_v65">8807</gml:identifier> + <gml:name>False Northing</gml:name> + </gml:OperationParameter> + </parameters> +</CT_CrsCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/resources/uom/ML_gmxUom.xml b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/uom/ML_gmxUom.xml new file mode 100644 index 00000000000..6a6952138ad --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/uom/ML_gmxUom.xml @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CT_UomCatalogue xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.isotc211.org/2005/gmx" + xsi:schemaLocation="http://www.isotc211.org/2005/gmx ../../gmx/gmx.xsd http://www.isotc211.org/2005/gmd ../../gmd/gmd.xsd http://www.isotc211.org/2005/gco ../../gco/gco.xsd http://www.opengis.net/gml ../../gml/gml.xsd http://www.w3.org/1999/xlink ../../xlink/xlinks.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>uom</gco:CharacterString> + </name> + <scope xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>units of measure dictionary compliant with SI definitions</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#xpointer(//*[@id='fra'])">dictionnaire d'unités de mesure conforme avec + les définitions du Système International (SI) + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-06-18</gco:Date> + </versionDate> + <!--=== for Cultural and Linguistic Adaptability ===--> + <!--Default language--> + <language> + <gmd:LanguageCode codeList="../Codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="eng">English + </gmd:LanguageCode> + </language> + <characterSet> + <gmd:MD_CharacterSetCode codeList="../Codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8">UTF 8 + </gmd:MD_CharacterSetCode> + </characterSet> + <!--List of the 'locales' into which free text values can be translated--> + <locale> + <gmd:PT_Locale id="fra"> + <gmd:languageCode> + <gmd:LanguageCode codeList="../Codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="fra">French + </gmd:LanguageCode> + </gmd:languageCode> + <gmd:country> + <gmd:Country codeList="../Codelist/ML_gmxCodelists.xm#Country" codeListValue="FR">France</gmd:Country> + </gmd:country> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="../Codelist/ML_gmxCodelists.xm#MD_CharacterSetCode" codeListValue="utf8">UTF + 8 + </gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </locale> + <!--============================================================================--> + <!--============================================================================--> + <!--============================= UOM items ======================================--> + <!--====== METER =====--> + <uomItem> + <ML_BaseUnit gml:id="m"> + <gml:description>The metre is the length of the path travelled by ligth in vaccum during a time interval of 1/299 + 792 458 of a second + </gml:description> + <gml:identifier codeSpace="http://www.bipm.fr/en/si/base_units">metre</gml:identifier> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www1.bipm.org/en/si/base_units">m</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/SI"/> + <!--==alternative definition(s)==--> + <alternativeExpression> + <UomAlternativeExpression gml:id="m_fr" codeSpace="fra"> + <gml:description>unité de longueur de référence dans le système international, correspond à la distance + parcourue par la lumière dans le vide pendant 1/299 792 458 seconde + </gml:description> + <gml:identifier codeSpace="http://www.bipm.fr/fr/si/base_units">metre</gml:identifier> + <gml:name>mètre</gml:name> + <gml:quantityType>longueur</gml:quantityType> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </UomAlternativeExpression> + </alternativeExpression> + <!--......................................--> + </ML_BaseUnit> + </uomItem> + <!--====== DEGREE =====--> + <uomItem> + <ML_ConventionalUnit gml:id="deg"> + <gml:description>Measure of angle equal to Pi/180 radians, widely used in geography</gml:description> + <gml:identifier codeSpace="ISO31-1">degree</gml:identifier> + <gml:quantityType>angle</gml:quantityType> + <gml:conversionToPreferredUnit uom="#xpointer(//*[@gml:id='rad'])"> + <gml:factor>1.74532925199433E-02</gml:factor> + </gml:conversionToPreferredUnit> + <!--==alternative definition(s)==--> + <alternativeExpression> + <UomAlternativeExpression gml:id="deg_fr" codeSpace="fra"> + <gml:description>Unité d'angle de référence en géographie égale à Pi/180 radians.</gml:description> + <gml:identifier codeSpace="ISO31-1">degree</gml:identifier> + <gml:name>degré</gml:name> + <gml:quantityType>angle</gml:quantityType> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </UomAlternativeExpression> + </alternativeExpression> + </ML_ConventionalUnit> + </uomItem> + <!--====== RADIAN =====--> + <uomItem> + <ML_DerivedUnit gml:id="rad"> + <gml:description>Radian is an unit of angle measure. It is defined as the ratio of arc length to the radius of the + circle. + </gml:description> + <gml:identifier codeSpace="http://www1.bipm.org/en/si/derived_units">radian</gml:identifier> + <gml:quantityType>plane angle</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www1.bipm.org/en/si/derived_units">rad</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#xpointer(//*[@gml:id='m'])" exponent="1"/> + <gml:derivationUnitTerm uom="#xpointer(//*[@gml:id='m'])" exponent="-1"/> + <!--==alternative definition(s)==--> + <alternativeExpression> + <UomAlternativeExpression gml:id="rad_fr" codeSpace="fra"> + <gml:description>Le radian est une unité de mesaure angulaire définie comme le ratio entre le rayon et la + longueur de l'arc. + </gml:description> + <gml:identifier codeSpace="http://www1.bipm.org/en/si/derived_units">radian</gml:identifier> + <gml:name>radian</gml:name> + <gml:quantityType>angle planaire</gml:quantityType> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </UomAlternativeExpression> + </alternativeExpression> + </ML_DerivedUnit> + </uomItem> + <!--=== EOF ===--> +</CT_UomCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/resources/uom/gmxUom.xml b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/uom/gmxUom.xml new file mode 100644 index 00000000000..8891bdf6fad --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/resources/uom/gmxUom.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CT_UomCatalogue xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://www.isotc211.org/2005/gmx" + xsi:schemaLocation="http://www.isotc211.org/2005/gmx ../../gmx/gmx.xsd http://www.isotc211.org/2005/gco ../../gco/gco.xsd http://www.opengis.net/gml ../../gml/gml.xsd http://www.w3.org/1999/xlink ../../xlink/xlinks.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>gmxUom</gco:CharacterString> + </name> + <scope> + <gco:CharacterString>units of measure dictionary compliant with SI definitions</gco:CharacterString> + </scope> + <fieldOfApplication> + <gco:CharacterString>ISO/TC 211 GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-18</gco:Date> + </versionDate> + <!--============================================================================--> + <!--============================================================================--> + <!--============================= UOM items ======================================--> + <!--====== METRE =====--> + <uomItem> + <gml:BaseUnit gml:id="m"> + <gml:description>The metre is the length of the path travelled by ligth in vaccum during a time interval of 1/299 + 792 458 of a second + </gml:description> + <gml:identifier codeSpace="http://www.bipm.fr/en/si/base_units">metre</gml:identifier> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.org/en/si/base_units">m</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si"/> + </gml:BaseUnit> + </uomItem> + <!--====== DEGREE =====--> + <uomItem> + <gml:ConventionalUnit gml:id="deg"> + <gml:description>Measure of angle equal to Pi/180 radians, widely used in geography</gml:description> + <gml:identifier codeSpace="ISO31-1">degree</gml:identifier> + <gml:quantityType>angle</gml:quantityType> + <gml:conversionToPreferredUnit uom="#xpointer(//*[@gml:id='rad'])"> + <gml:factor>1.74532925199433E-02</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </uomItem> + <!--====== RADIAN =====--> + <uomItem> + <gml:DerivedUnit gml:id="rad"> + <gml:description>Radian is an unit of angle measure. It is defined as the ratio of arc length to the radius of the + circle. + </gml:description> + <gml:identifier codeSpace="http://www.bipm.fr/en/s/derived_unitsi">radian</gml:identifier> + <gml:quantityType>plane angle</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www1.bipm.org/en/si/derived_units">rad</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#xpointer(//*[@gml:id='m'])" exponent="1"/> + <gml:derivationUnitTerm uom="#xpointer(//*[@gml:id='m'])" exponent="-1"/> + </gml:DerivedUnit> + </uomItem> + <!--=== EOF ===--> +</CT_UomCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/sld/1.0.0/StyledLayerDescriptor.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/sld/1.0.0/StyledLayerDescriptor.xsd new file mode 100644 index 00000000000..59fb6b434f8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/sld/1.0.0/StyledLayerDescriptor.xsd @@ -0,0 +1,803 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ogc="http://www.opengis.net/ogc" xmlns:sld="http://www.opengis.net/sld" + targetNamespace="http://www.opengis.net/sld" elementFormDefault="qualified"> + <xsd:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> + <xsd:import namespace="http://www.opengis.net/ogc" schemaLocation="../../filter/1.0.0/filter.xsd"/> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + STYLED LAYER DESCRIPTOR version 1.0.0 (2002-09-21) + </xsd:documentation> + </xsd:annotation> + <xsd:element name="StyledLayerDescriptor"> + <xsd:annotation> + <xsd:documentation> + A StyledLayerDescriptor is a sequence of styled layers, represented + at the first level by NamedLayer and UserLayer elements. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Name" minOccurs="0"/> + <xsd:element ref="sld:Title" minOccurs="0"/> + <xsd:element ref="sld:Abstract" minOccurs="0"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="sld:NamedLayer"/> + <xsd:element ref="sld:UserLayer"/> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="version" type="xsd:string" use="required" fixed="1.0.0"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="Name" type="xsd:string"/> + <xsd:element name="Title" type="xsd:string"/> + <xsd:element name="Abstract" type="xsd:string"/> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + LAYERS AND STYLES + </xsd:documentation> + </xsd:annotation> + <xsd:element name="NamedLayer"> + <xsd:annotation> + <xsd:documentation> + A NamedLayer is a layer of data that has a name advertised by a WMS. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Name"/> + <xsd:element ref="sld:LayerFeatureConstraints" minOccurs="0"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="sld:NamedStyle"/> + <xsd:element ref="sld:UserStyle"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="NamedStyle"> + <xsd:annotation> + <xsd:documentation> + A NamedStyle is used to refer to a style that has a name in a WMS. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Name"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="UserLayer"> + <xsd:annotation> + <xsd:documentation> + A UserLayer allows a user-defined layer to be built from WFS and + WCS data. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Name" minOccurs="0"/> + <xsd:element ref="sld:RemoteOWS" minOccurs="0"/> + <xsd:element ref="sld:LayerFeatureConstraints"/> + <xsd:element ref="sld:UserStyle" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="RemoteOWS"> + <xsd:annotation> + <xsd:documentation> + A RemoteOWS gives a reference to a remote WFS/WCS/other-OWS server. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Service"/> + <xsd:element ref="sld:OnlineResource"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Service"> + <xsd:annotation> + <xsd:documentation> + A Service refers to the type of a remote OWS server. + </xsd:documentation> + </xsd:annotation> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="WFS"/> + <xsd:enumeration value="WCS"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element name="OnlineResource"> + <xsd:annotation> + <xsd:documentation> + An OnlineResource is typically used to refer to an HTTP URL. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:attributeGroup ref="xlink:simpleLink"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="LayerFeatureConstraints"> + <xsd:annotation> + <xsd:documentation> + LayerFeatureConstraints define what features &amp; feature types are + referenced in a layer. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:FeatureTypeConstraint" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="FeatureTypeConstraint"> + <xsd:annotation> + <xsd:documentation> + A FeatureTypeConstraint identifies a specific feature type and + supplies fitlering. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:FeatureTypeName" minOccurs="0"/> + <xsd:element ref="ogc:Filter" minOccurs="0"/> + <xsd:element ref="sld:Extent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="FeatureTypeName" type="xsd:string"/> + <xsd:element name="Extent"> + <xsd:annotation> + <xsd:documentation> + An Extent gives feature/coverage/raster/matrix dimension extent. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Name"/> + <xsd:element ref="sld:Value"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Value" type="xsd:string"/> + <xsd:element name="UserStyle"> + <xsd:annotation> + <xsd:documentation> + A UserStyle allows user-defined styling and is semantically + equivalent to a WMS named style. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Name" minOccurs="0"/> + <xsd:element ref="sld:Title" minOccurs="0"/> + <xsd:element ref="sld:Abstract" minOccurs="0"/> + <xsd:element ref="sld:IsDefault" minOccurs="0"/> + <xsd:element ref="sld:FeatureTypeStyle" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="IsDefault" type="xsd:boolean"/> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + FEATURE-TYPE STYLING + </xsd:documentation> + </xsd:annotation> + <xsd:element name="FeatureTypeStyle"> + <xsd:annotation> + <xsd:documentation> + A FeatureTypeStyle contains styling information specific to one + feature type. This is the SLD level that separates the 'layer' + handling from the 'feature' handling. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Name" minOccurs="0"/> + <xsd:element ref="sld:Title" minOccurs="0"/> + <xsd:element ref="sld:Abstract" minOccurs="0"/> + <xsd:element ref="sld:FeatureTypeName" minOccurs="0"/> + <xsd:element ref="sld:SemanticTypeIdentifier" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="sld:Rule" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="SemanticTypeIdentifier" type="xsd:string"/> + <xsd:element name="Rule"> + <xsd:annotation> + <xsd:documentation> + A Rule is used to attach property/scale conditions to and group + the individual symbolizers used for rendering. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Name" minOccurs="0"/> + <xsd:element ref="sld:Title" minOccurs="0"/> + <xsd:element ref="sld:Abstract" minOccurs="0"/> + <xsd:element ref="sld:LegendGraphic" minOccurs="0"/> + <xsd:choice minOccurs="0"> + <xsd:element ref="ogc:Filter"/> + <xsd:element ref="sld:ElseFilter"/> + </xsd:choice> + <xsd:element ref="sld:MinScaleDenominator" minOccurs="0"/> + <xsd:element ref="sld:MaxScaleDenominator" minOccurs="0"/> + <xsd:element ref="sld:Symbolizer" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="LegendGraphic"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Graphic"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="ElseFilter"> + <xsd:complexType/> + </xsd:element> + <xsd:element name="MinScaleDenominator" type="xsd:double"/> + <xsd:element name="MaxScaleDenominator" type="xsd:double"/> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + SYMBOLIZERS + </xsd:documentation> + </xsd:annotation> + <xsd:element name="Symbolizer" type="sld:SymbolizerType" abstract="true"/> + <xsd:complexType name="SymbolizerType" abstract="true"> + <xsd:annotation> + <xsd:documentation> + A "SymbolizerType" is an abstract type for encoding the graphical + properties used to portray geographic information. Concrete symbol + types are derived from this base type. + </xsd:documentation> + </xsd:annotation> + </xsd:complexType> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + LINE SYMBOLIZER + </xsd:documentation> + </xsd:annotation> + <xsd:element name="LineSymbolizer" substitutionGroup="sld:Symbolizer"> + <xsd:annotation> + <xsd:documentation> + A LineSymbolizer is used to render a "stroke" along a linear geometry. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="sld:SymbolizerType"> + <xsd:sequence> + <xsd:element ref="sld:Geometry" minOccurs="0"/> + <xsd:element ref="sld:Stroke" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Geometry"> + <xsd:annotation> + <xsd:documentation> + A Geometry gives reference to a (the) geometry property of a + feature to be used for rendering. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="ogc:PropertyName"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Stroke"> + <xsd:annotation> + <xsd:documentation> + A "Stroke" specifies the appearance of a linear geometry. It is + defined in parallel with SVG strokes. The following CssParameters + may be used: "stroke" (color), "stroke-opacity", "stroke-width", + "stroke-linejoin", "stroke-linecap", "stroke-dasharray", and + "stroke-dashoffset". + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:choice minOccurs="0"> + <xsd:element ref="sld:GraphicFill"/> + <xsd:element ref="sld:GraphicStroke"/> + </xsd:choice> + <xsd:element ref="sld:CssParameter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="CssParameter"> + <xsd:annotation> + <xsd:documentation> + A "CssParameter" refers to an SVG/CSS graphical-formatting + parameter. The parameter is identified using the "name" attribute + and the content of the element gives the SVG/CSS-coded value. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType mixed="true"> + <xsd:complexContent mixed="true"> + <xsd:extension base="sld:ParameterValueType"> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="ParameterValueType" mixed="true"> + <xsd:annotation> + <xsd:documentation> + The "ParameterValueType" uses WFS-Filter expressions to give + values for SLD graphic parameters. A "mixed" element-content + model is used with textual substitution for values. + </xsd:documentation> + </xsd:annotation> + <xsd:sequence minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="ogc:expression"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="GraphicFill"> + <xsd:annotation> + <xsd:documentation> + A "GraphicFill" defines repeated-graphic filling (stippling) + pattern for an area geometry. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Graphic"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="GraphicStroke"> + <xsd:annotation> + <xsd:documentation> + A "GraphicStroke" defines a repated-linear graphic pattern to be used + for stroking a line. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Graphic"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + POLYGON SYMBOLIZER + </xsd:documentation> + </xsd:annotation> + <xsd:element name="PolygonSymbolizer" substitutionGroup="sld:Symbolizer"> + <xsd:annotation> + <xsd:documentation> + A "PolygonSymbolizer" specifies the rendering of a polygon or + area geometry, including its interior fill and border stroke. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="sld:SymbolizerType"> + <xsd:sequence> + <xsd:element ref="sld:Geometry" minOccurs="0"/> + <xsd:element ref="sld:Fill" minOccurs="0"/> + <xsd:element ref="sld:Stroke" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Fill"> + <xsd:annotation> + <xsd:documentation> + A "Fill" specifies the pattern for filling an area geometry. + The allowed CssParameters are: "fill" (color) and "fill-opacity". + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:GraphicFill" minOccurs="0"/> + <xsd:element ref="sld:CssParameter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + POINT SYMBOLIZER + </xsd:documentation> + </xsd:annotation> + <xsd:element name="PointSymbolizer" substitutionGroup="sld:Symbolizer"> + <xsd:annotation> + <xsd:documentation> + A "PointSymbolizer" specifies the rendering of a "graphic symbol" + at a point. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="sld:SymbolizerType"> + <xsd:sequence> + <xsd:element ref="sld:Geometry" minOccurs="0"/> + <xsd:element ref="sld:Graphic" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Graphic"> + <xsd:annotation> + <xsd:documentation> + A "Graphic" specifies or refers to a "graphic symbol" with inherent + shape, size, and coloring. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="sld:ExternalGraphic"/> + <xsd:element ref="sld:Mark"/> + </xsd:choice> + <xsd:sequence> + <xsd:element ref="sld:Opacity" minOccurs="0"/> + <xsd:element ref="sld:Size" minOccurs="0"/> + <xsd:element ref="sld:Rotation" minOccurs="0"/> + </xsd:sequence> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Opacity" type="sld:ParameterValueType"/> + <xsd:element name="Size" type="sld:ParameterValueType"/> + <xsd:element name="Rotation" type="sld:ParameterValueType"/> + <xsd:element name="ExternalGraphic"> + <xsd:annotation> + <xsd:documentation> + An "ExternalGraphic" gives a reference to an external raster or + vector graphical object. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:OnlineResource"/> + <xsd:element ref="sld:Format"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Format" type="xsd:string"/> + <xsd:element name="Mark"> + <xsd:annotation> + <xsd:documentation> + A "Mark" specifies a geometric shape and applies coloring to it. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:WellKnownName" minOccurs="0"/> + <xsd:element ref="sld:Fill" minOccurs="0"/> + <xsd:element ref="sld:Stroke" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="WellKnownName" type="xsd:string"/> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + TEXT SYMBOLIZER + </xsd:documentation> + </xsd:annotation> + <xsd:element name="TextSymbolizer" substitutionGroup="sld:Symbolizer"> + <xsd:annotation> + <xsd:documentation> + A "TextSymbolizer" is used to render text labels according to + various graphical parameters. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="sld:SymbolizerType"> + <xsd:sequence> + <xsd:element ref="sld:Geometry" minOccurs="0"/> + <xsd:element ref="sld:Label" minOccurs="0"/> + <xsd:element ref="sld:Font" minOccurs="0"/> + <xsd:element ref="sld:LabelPlacement" minOccurs="0"/> + <xsd:element ref="sld:Halo" minOccurs="0"/> + <xsd:element ref="sld:Fill" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Label" type="sld:ParameterValueType"> + <xsd:annotation> + <xsd:documentation> + A "Label" specifies the textual content to be rendered. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="Font"> + <xsd:annotation> + <xsd:documentation> + A "Font" element specifies the text font to use. The allowed + CssParameters are: "font-family", "font-style", "font-weight", + and "font-size". + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:CssParameter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="LabelPlacement"> + <xsd:annotation> + <xsd:documentation> + The "LabelPlacement" specifies where and how a text label should + be rendered relative to a geometry. The present mechanism is + poorly aligned with CSS/SVG. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:choice> + <xsd:element ref="sld:PointPlacement"/> + <xsd:element ref="sld:LinePlacement"/> + </xsd:choice> + </xsd:complexType> + </xsd:element> + <xsd:element name="PointPlacement"> + <xsd:annotation> + <xsd:documentation> + A "PointPlacement" specifies how a text label should be rendered + relative to a geometric point. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:AnchorPoint" minOccurs="0"/> + <xsd:element ref="sld:Displacement" minOccurs="0"/> + <xsd:element ref="sld:Rotation" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AnchorPoint"> + <xsd:annotation> + <xsd:documentation> + An "AnchorPoint" identifies the location inside of a text label to + use an an 'anchor' for positioning it relative to a point geometry. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:AnchorPointX"/> + <xsd:element ref="sld:AnchorPointY"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="AnchorPointX" type="sld:ParameterValueType"/> + <xsd:element name="AnchorPointY" type="sld:ParameterValueType"/> + <xsd:element name="Displacement"> + <xsd:annotation> + <xsd:documentation> + A "Displacement" gives X and Y offset displacements to use for + rendering a text label near a point. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:DisplacementX"/> + <xsd:element ref="sld:DisplacementY"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="DisplacementX" type="sld:ParameterValueType"/> + <xsd:element name="DisplacementY" type="sld:ParameterValueType"/> + <xsd:element name="LinePlacement"> + <xsd:annotation> + <xsd:documentation> + A "LinePlacement" specifies how a text label should be rendered + relative to a linear geometry. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:PerpendicularOffset" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="PerpendicularOffset" type="sld:ParameterValueType"> + <xsd:annotation> + <xsd:documentation> + A "PerpendicularOffset" gives the perpendicular distance away + from a line to draw a label. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="Halo"> + <xsd:annotation> + <xsd:documentation> + A "Halo" fills an extended area outside the glyphs of a rendered + text label to make the label easier to read over a background. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:Radius" minOccurs="0"/> + <xsd:element ref="sld:Fill" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Radius" type="sld:ParameterValueType"/> + <!-- *********************************************************************** --> + <xsd:annotation> + <xsd:documentation> + RASTER SYMBOLIZER + </xsd:documentation> + </xsd:annotation> + <xsd:element name="RasterSymbolizer" substitutionGroup="sld:Symbolizer"> + <xsd:annotation> + <xsd:documentation> + A "RasterSymbolizer" is used to specify the rendering of raster/ + matrix-coverage data (e.g., satellite images, DEMs). + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="sld:SymbolizerType"> + <xsd:sequence> + <xsd:element ref="sld:Geometry" minOccurs="0"/> + <xsd:element ref="sld:Opacity" minOccurs="0"/> + <xsd:element ref="sld:ChannelSelection" minOccurs="0"/> + <xsd:element ref="sld:OverlapBehavior" minOccurs="0"/> + <xsd:element ref="sld:ColorMap" minOccurs="0"/> + <xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/> + <xsd:element ref="sld:ShadedRelief" minOccurs="0"/> + <xsd:element ref="sld:ImageOutline" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="ChannelSelection"> + <xsd:annotation> + <xsd:documentation> + "ChannelSelection" specifies the false-color channel selection + for a multi-spectral raster source. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:choice> + <xsd:sequence> + <xsd:element ref="sld:RedChannel"/> + <xsd:element ref="sld:GreenChannel"/> + <xsd:element ref="sld:BlueChannel"/> + </xsd:sequence> + <xsd:element ref="sld:GrayChannel"/> + </xsd:choice> + </xsd:complexType> + </xsd:element> + <xsd:element name="RedChannel" type="sld:SelectedChannelType"/> + <xsd:element name="GreenChannel" type="sld:SelectedChannelType"/> + <xsd:element name="BlueChannel" type="sld:SelectedChannelType"/> + <xsd:element name="GrayChannel" type="sld:SelectedChannelType"/> + <xsd:complexType name="SelectedChannelType"> + <xsd:sequence> + <xsd:element ref="sld:SourceChannelName"/> + <xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="SourceChannelName" type="xsd:string"/> + <xsd:element name="OverlapBehavior"> + <xsd:annotation> + <xsd:documentation> + "OverlapBehavior" tells a system how to behave when multiple + raster images in a layer overlap each other, for example with + satellite-image scenes. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:choice> + <xsd:element ref="sld:LATEST_ON_TOP"/> + <xsd:element ref="sld:EARLIEST_ON_TOP"/> + <xsd:element ref="sld:AVERAGE"/> + <xsd:element ref="sld:RANDOM"/> + </xsd:choice> + </xsd:complexType> + </xsd:element> + <xsd:element name="LATEST_ON_TOP"> + <xsd:complexType/> + </xsd:element> + <xsd:element name="EARLIEST_ON_TOP"> + <xsd:complexType/> + </xsd:element> + <xsd:element name="AVERAGE"> + <xsd:complexType/> + </xsd:element> + <xsd:element name="RANDOM"> + <xsd:complexType/> + </xsd:element> + <xsd:element name="ColorMap"> + <xsd:annotation> + <xsd:documentation> + A "ColorMap" defines either the colors of a pallet-type raster + source or the mapping of numeric pixel values to colors. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="sld:ColorMapEntry"/> + </xsd:choice> + </xsd:complexType> + </xsd:element> + <xsd:element name="ColorMapEntry"> + <xsd:complexType> + <xsd:attribute name="color" type="xsd:string" use="required"/> + <xsd:attribute name="opacity" type="xsd:double"/> + <xsd:attribute name="quantity" type="xsd:double"/> + <xsd:attribute name="label" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="ContrastEnhancement"> + <xsd:annotation> + <xsd:documentation> + "ContrastEnhancement" defines the 'stretching' of contrast for a + channel of a false-color image or for a whole grey/color image. + Contrast enhancement is used to make ground features in images + more visible. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:choice minOccurs="0"> + <xsd:element ref="sld:Normalize"/> + <xsd:element ref="sld:Histogram"/> + </xsd:choice> + <xsd:element ref="sld:GammaValue" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Normalize"> + <xsd:complexType/> + </xsd:element> + <xsd:element name="Histogram"> + <xsd:complexType/> + </xsd:element> + <xsd:element name="GammaValue" type="xsd:double"/> + <xsd:element name="ShadedRelief"> + <xsd:annotation> + <xsd:documentation> + "ShadedRelief" specifies the application of relief shading + (or "hill shading") to a DEM raster to give it somewhat of a + three-dimensional effect and to make elevation changes more + visible. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="sld:BrightnessOnly" minOccurs="0"/> + <xsd:element ref="sld:ReliefFactor" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="BrightnessOnly" type="xsd:boolean"/> + <xsd:element name="ReliefFactor" type="xsd:double"/> + <xsd:element name="ImageOutline"> + <xsd:annotation> + <xsd:documentation> + "ImageOutline" specifies how individual source rasters in + a multi-raster set (such as a set of satellite-image scenes) + should be outlined to make the individual-image locations visible. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:choice> + <xsd:element ref="sld:LineSymbolizer"/> + <xsd:element ref="sld:PolygonSymbolizer"/> + </xsd:choice> + </xsd:complexType> + </xsd:element> +</xsd:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/srv/serviceMetadata.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/srv/serviceMetadata.xsd new file mode 100644 index 00000000000..796ee4178ef --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/srv/serviceMetadata.xsd @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" + 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 == 10-13-2006 11:14:04 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/identification.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="../srv/serviceModel.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="SV_Parameter_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:MemberName_Type"/> + <xs:element name="direction" type="srv:SV_ParameterDirection_PropertyType" minOccurs="0"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="optionality" type="gco:CharacterString_PropertyType"/> + <xs:element name="repeatability" type="gco:Boolean_PropertyType"/> + <xs:element name="valueType" type="gco:TypeName_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_Parameter" type="srv:SV_Parameter_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_Parameter_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_Parameter" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_OperationMetadata_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="operationName" type="gco:CharacterString_PropertyType"/> + <xs:element name="DCP" type="srv:DCPList_PropertyType" maxOccurs="unbounded"/> + <xs:element name="operationDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="invocationName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="parameters" type="srv:SV_Parameter_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="connectPoint" type="gmd:CI_OnlineResource_PropertyType" maxOccurs="unbounded"/> + <xs:element name="dependsOn" type="srv:SV_OperationMetadata_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_OperationMetadata" type="srv:SV_OperationMetadata_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_OperationMetadata_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_OperationMetadata" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_ServiceIdentification_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_Identification_Type"> + <xs:sequence> + <xs:element name="serviceType" type="gco:GenericName_PropertyType"/> + <xs:element name="serviceTypeVersion" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="accessProperties" type="gmd:MD_StandardOrderProcess_PropertyType" minOccurs="0"/> + <xs:element name="restrictions" type="gmd:MD_Constraints_PropertyType" minOccurs="0"/> + <xs:element name="keywords" type="gmd:MD_Keywords_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="extent" type="gmd:EX_Extent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="coupledResource" type="srv:SV_CoupledResource_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="couplingType" type="srv:SV_CouplingType_PropertyType"/> + <xs:element name="containsOperations" type="srv:SV_OperationMetadata_PropertyType" maxOccurs="unbounded"/> + <xs:element name="operatesOn" type="gmd:MD_DataIdentification_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_ServiceIdentification" type="srv:SV_ServiceIdentification_Type" + substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_ServiceIdentification_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_ServiceIdentification" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_OperationChain_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="operation" type="srv:SV_Operation_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_OperationChain" type="srv:SV_OperationChain_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_OperationChain_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_OperationChain" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_OperationChainMetadata_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="operation" type="srv:SV_OperationMetadata_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_OperationChainMetadata" type="srv:SV_OperationChainMetadata_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_OperationChainMetadata_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_OperationChainMetadata" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_CoupledResource_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="operationName" type="gco:CharacterString_PropertyType"/> + <xs:element name="identifier" type="gco:CharacterString_PropertyType"/> + <xs:element ref="gco:ScopedName" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_CoupledResource" type="srv:SV_CoupledResource_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_CoupledResource_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_CoupledResource" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="SV_ParameterDirection_Type"> + <xs:restriction base="xs:string"> + <xs:enumeration value="in"/> + <xs:enumeration value="out"/> + <xs:enumeration value="in/out"/> + </xs:restriction> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="SV_ParameterDirection" type="srv:SV_ParameterDirection_Type" + substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_ParameterDirection_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_ParameterDirection" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="DCPList" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="DCPList_PropertyType"> + <xs:sequence> + <xs:element ref="srv:DCPList" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="SV_CouplingType" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_CouplingType_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_CouplingType" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/srv/serviceModel.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/srv/serviceModel.xsd new file mode 100644 index 00000000000..027337bb306 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/srv/serviceModel.xsd @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by STEPHANE BIDAULT (I.G.N/SAF/RECEPTIONS) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:srv="http://www.isotc211.org/2005/srv" 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 == 10-13-2006 11:14:04 ====== + </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="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="typeSpec" type="srv:SV_PlatformNeutralServiceSpecification_PropertyType"/> + <xs:element name="theSV_Interface" type="srv:SV_Interface_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_ServiceSpecification" type="srv:SV_ServiceSpecification_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_ServiceSpecification_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_ServiceSpecification" minOccurs="0"/> + </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:SV_ServiceSpecification_Type"> + <xs:sequence> + <xs:element name="serviceType" type="srv:SV_ServiceType_PropertyType"/> + <xs:element name="implSpec" type="srv:SV_PlatformSpecificServiceSpecification_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_PlatformNeutralServiceSpecification" type="srv:SV_PlatformNeutralServiceSpecification_Type" + substitutionGroup="srv:SV_ServiceSpecification"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_PlatformNeutralServiceSpecification_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_PlatformNeutralServiceSpecification" minOccurs="0"/> + </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:SV_PlatformNeutralServiceSpecification_Type"> + <xs:sequence> + <xs:element name="DCP" type="srv:DCPList_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:SV_PlatformNeutralServiceSpecification"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_PlatformSpecificServiceSpecification_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_PlatformSpecificServiceSpecification" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_ServiceType_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_ServiceType" type="srv:SV_ServiceType_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_ServiceType_PropertyType"> + <xs:sequence> + <xs:element ref="srv:SV_ServiceType" minOccurs="0"/> + </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:element name="theSV_Interface" type="srv:SV_Interface_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </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> + <xs:element ref="srv:SV_Port" minOccurs="0"/> + </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> + <xs:element ref="srv:SV_Service" minOccurs="0"/> + </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="theSV_Port" type="srv:SV_Port_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="operation" type="srv:SV_Operation_PropertyType"/> + </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> + <xs:element ref="srv:SV_Interface" minOccurs="0"/> + </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: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> + <xs:element ref="srv:SV_PortSpecification" minOccurs="0"/> + </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> + <xs:element ref="srv:SV_Operation" minOccurs="0"/> + </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> + <xs:element ref="srv:SV_OperationModel" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/srv/srv.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/srv/srv.xsd new file mode 100644 index 00000000000..0da4d15f9d0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/srv/srv.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by STEPHANE BIDAULT (I.G.N/SAF/RECEPTIONS) --> +<xs:schema 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 == 10-13-2006 11:14:05 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="../srv/serviceMetadata.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/test.xml b/iso19139.che/src/main/plugin/iso19139.che/schema/test.xml new file mode 100644 index 00000000000..7fc43ebe0e6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/test.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + uuid="SCANREGr_2-0.xml:2003-10-01:CRG_0718.xml" + xsi:schemaLocation="http://www.geocat.ch/2008/che che/che.xsd"> + <gmd:contact> + <che:CHE_CI_ResponsibleParty gco:isoType="cheType"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>GOOGLE.FR</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="CH">GOOGLE.CH</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>http://www.google.fr</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="CH">www.google.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + + </gmd:linkage> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role></gmd:role> + </che:CHE_CI_ResponsibleParty> + + </gmd:contact> + <gmd:dateStamp/> + <gmd:identificationInfo/> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/1.0.0/xlinks.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/1.0.0/xlinks.xsd new file mode 100644 index 00000000000..c742fdc1502 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/1.0.0/xlinks.xsd @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.w3.org/1999/xlink" version="3.2.0"> + <annotation> + <appinfo source="urn:opengis:specification:gml:schema-xlinks:v3.2.0">xlinks.xsd</appinfo> + <documentation>see GML 7.2</documentation> + </annotation> + <!-- ============================================================== + global declarations + =============================================================== --> + <!-- locator attribute --> + <attribute name="href" type="anyURI"/> + <!-- semantic attributes --> + <attribute name="role" type="anyURI"/> + <attribute name="arcrole" type="anyURI"/> + <attribute name="title" type="string"/> + <!-- behavior attributes --> + <attribute name="show"> + <annotation> + <documentation> + The 'show' attribute is used to communicate the desired presentation + of the ending resource on traversal from the starting resource; it's + value should be treated as follows: + new - load ending resource in a new window, frame, pane, or other + presentation context + replace - load the resource in the same window, frame, pane, or + other presentation context + embed - load ending resource in place of the presentation of the + starting resource + other - behavior is unconstrained; examine other markup in the + link for hints + none - behavior is unconstrained + </documentation> + </annotation> + <simpleType> + <restriction base="string"> + <enumeration value="new"/> + <enumeration value="replace"/> + <enumeration value="embed"/> + <enumeration value="other"/> + <enumeration value="none"/> + </restriction> + </simpleType> + </attribute> + <attribute name="actuate"> + <annotation> + <documentation> + The 'actuate' attribute is used to communicate the desired timing + of traversal from the starting resource to the ending resource; + it's value should be treated as follows: + onLoad - traverse to the ending resource immediately on loading + the starting resource + onRequest - traverse from the starting resource to the ending + resource only on a post-loading event triggered for + this purpose + other - behavior is unconstrained; examine other markup in link + for hints + none - behavior is unconstrained + </documentation> + </annotation> + <simpleType> + <restriction base="string"> + <enumeration value="onLoad"/> + <enumeration value="onRequest"/> + <enumeration value="other"/> + <enumeration value="none"/> + </restriction> + </simpleType> + </attribute> + <!-- traversal attributes --> + <attribute name="label" type="string"/> + <attribute name="from" type="string"/> + <attribute name="to" type="string"/> + <!-- ============================================================== + Attributes grouped by XLink type, as specified in the W3C Recommendation + ============================================================== --> + <attributeGroup name="simpleLink"> + <attribute name="type" type="string" fixed="simple" form="qualified"/> + <attribute ref="xlink:href" use="optional"/> + <attribute ref="xlink:role" use="optional"/> + <attribute ref="xlink:arcrole" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + <attribute ref="xlink:show" use="optional"/> + <attribute ref="xlink:actuate" use="optional"/> + </attributeGroup> + <attributeGroup name="extendedLink"> + <attribute name="type" type="string" fixed="extended" form="qualified"/> + <attribute ref="xlink:role" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + </attributeGroup> + <attributeGroup name="locatorLink"> + <attribute name="type" type="string" fixed="locator" form="qualified"/> + <attribute ref="xlink:href" use="required"/> + <attribute ref="xlink:role" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + <attribute ref="xlink:label" use="optional"/> + </attributeGroup> + <attributeGroup name="arcLink"> + <attribute name="type" type="string" fixed="arc" form="qualified"/> + <attribute ref="xlink:arcrole" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + <attribute ref="xlink:show" use="optional"/> + <attribute ref="xlink:actuate" use="optional"/> + <attribute ref="xlink:from" use="optional"/> + <attribute ref="xlink:to" use="optional"/> + </attributeGroup> + <attributeGroup name="resourceLink"> + <attribute name="type" type="string" fixed="resource" form="qualified"/> + <attribute ref="xlink:role" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + <attribute ref="xlink:label" use="optional"/> + </attributeGroup> + <attributeGroup name="titleLink"> + <attribute name="type" type="string" fixed="title" form="qualified"/> + </attributeGroup> + <attributeGroup name="emptyLink"> + <attribute name="type" type="string" fixed="none" form="qualified"/> + </attributeGroup> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/version.txt b/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/version.txt new file mode 100644 index 00000000000..42ea1580d62 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/version.txt @@ -0,0 +1,3 @@ +XML Linking Language (XLink) Version 1.0 - W3C Recommendation 27 June 2001 - XML Schema document + +This file is a local copy (W3C does not provide a version of the schema document). diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/xlinks.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/xlinks.xsd new file mode 100644 index 00000000000..6c43ba97915 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema/xlink/xlinks.xsd @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns:xlink="http://www.w3.org/1999/xlink" targetNamespace="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2001/XMLSchema" version="3.2.0"> + <annotation> + <appinfo source="urn:opengis:specification:gml:schema-xlinks:v3.2.0">xlinks.xsd</appinfo> + <documentation>see GML 7.2</documentation> + </annotation> + <!-- ============================================================== + global declarations + =============================================================== --> + <!-- locator attribute --> + <attribute name="href" type="anyURI"/> + <!-- semantic attributes --> + <attribute name="role" type="anyURI"/> + <attribute name="arcrole" type="anyURI"/> + <attribute name="title" type="string"/> + <!-- behavior attributes --> + <attribute name="show"> + <annotation> + <documentation> + The 'show' attribute is used to communicate the desired presentation + of the ending resource on traversal from the starting resource; it's + value should be treated as follows: + new - load ending resource in a new window, frame, pane, or other + presentation context + replace - load the resource in the same window, frame, pane, or + other presentation context + embed - load ending resource in place of the presentation of the + starting resource + other - behavior is unconstrained; examine other markup in the + link for hints + none - behavior is unconstrained + </documentation> + </annotation> + <simpleType> + <restriction base="string"> + <enumeration value="new"/> + <enumeration value="replace"/> + <enumeration value="embed"/> + <enumeration value="other"/> + <enumeration value="none"/> + </restriction> + </simpleType> + </attribute> + <attribute name="actuate"> + <annotation> + <documentation> + The 'actuate' attribute is used to communicate the desired timing + of traversal from the starting resource to the ending resource; + it's value should be treated as follows: + onLoad - traverse to the ending resource immediately on loading + the starting resource + onRequest - traverse from the starting resource to the ending + resource only on a post-loading event triggered for + this purpose + other - behavior is unconstrained; examine other markup in link + for hints + none - behavior is unconstrained + </documentation> + </annotation> + <simpleType> + <restriction base="string"> + <enumeration value="onLoad"/> + <enumeration value="onRequest"/> + <enumeration value="other"/> + <enumeration value="none"/> + </restriction> + </simpleType> + </attribute> + <!-- traversal attributes --> + <attribute name="label" type="string"/> + <attribute name="from" type="string"/> + <attribute name="to" type="string"/> + <!-- ============================================================== + Attributes grouped by XLink type, as specified in the W3C Recommendation + ============================================================== --> + <attributeGroup name="simpleLink"> + <attribute name="type" type="string" fixed="simple" form="qualified"/> + <attribute ref="xlink:href" use="optional"/> + <attribute ref="xlink:role" use="optional"/> + <attribute ref="xlink:arcrole" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + <attribute ref="xlink:show" use="optional"/> + <attribute ref="xlink:actuate" use="optional"/> + </attributeGroup> + <attributeGroup name="extendedLink"> + <attribute name="type" type="string" fixed="extended" form="qualified"/> + <attribute ref="xlink:role" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + </attributeGroup> + <attributeGroup name="locatorLink"> + <attribute name="type" type="string" fixed="locator" form="qualified"/> + <attribute ref="xlink:href" use="required"/> + <attribute ref="xlink:role" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + <attribute ref="xlink:label" use="optional"/> + </attributeGroup> + <attributeGroup name="arcLink"> + <attribute name="type" type="string" fixed="arc" form="qualified"/> + <attribute ref="xlink:arcrole" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + <attribute ref="xlink:show" use="optional"/> + <attribute ref="xlink:actuate" use="optional"/> + <attribute ref="xlink:from" use="optional"/> + <attribute ref="xlink:to" use="optional"/> + </attributeGroup> + <attributeGroup name="resourceLink"> + <attribute name="type" type="string" fixed="resource" form="qualified"/> + <attribute ref="xlink:role" use="optional"/> + <attribute ref="xlink:title" use="optional"/> + <attribute ref="xlink:label" use="optional"/> + </attributeGroup> + <attributeGroup name="titleLink"> + <attribute name="type" type="string" fixed="title" form="qualified"/> + </attributeGroup> + <attributeGroup name="emptyLink"> + <attribute name="type" type="string" fixed="none" form="qualified"/> + </attributeGroup> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/ReadMe.txt new file mode 100644 index 00000000000..aa1523c44c3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/ReadMe.txt @@ -0,0 +1,28 @@ +ISO(c) ReadMe.txt +------------------------------------------------------------------------------ + +Geographic Information - Metadata - XML Schema Implementation + +This XML Schema implementation is composed of the following namespaces: +- Geographic Common (GCO) extensible markup language + (http://www.isotc211.org/2005/gco) +- Geographic MetaData (GMD) extensible markup language + (http://www.isotc211.org/2005/gmd) +- Geographic Metadata XML (GMX) Schema (http://www.isotc211.org/2005/gmx) +- Geographic Spatial Schema (GSS) extensible markup language + (http://www.isotc211.org/2005/gss) +- Geographic Spatial Referencing (GSR) extensible markup language + (http://www.isotc211.org/2005/gsr) +- Geographic Temporal Schema (GTS) extensible markup language + (http://www.isotc211.org/2005/gts) +- Geographic Geographic information -- Services (SRV) + (http://www.opengis.net/iso/19139/20070417/srv/1.0) + +The most current schemas are available at: +http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/ + +XML resources related to those namespaces are also provided at this location. + +------------------------------------------------------------------------------- + +See X\ReadMe.txt for details of lineage and modification of the package X diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/apiso/apiso.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/apiso/apiso.xsd new file mode 100644 index 00000000000..24f9cfb3b0d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/apiso/apiso.xsd @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="1.0.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gmd="http://www.isotc211.org/2005/gmd"> +<!-- + Copyright (c) 2007,2010 Open Geospatial Consortium. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + Updated: 2010-01-22 +--> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>ISO Wrapper to include service related type to GMD</xs:documentation> + </xs:annotation> + <!-- ================================== Imports & Includes ================================== --> + <xs:include schemaLocation="../gmd/gmd.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/srv" schemaLocation="../srv/srv.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmx" schemaLocation="../gmx/gmx.xsd"/> +</xs:schema> + \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/che/che.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/che/che.xsd new file mode 100644 index 00000000000..439becc4828 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/che/che.xsd @@ -0,0 +1,614 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSpy v2008 sp1 (http://www.altova.com) by BRGM SG/DL (BRGM SG/DL) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:che="http://www.geocat.ch/2008/che" + xmlns:srv="http://www.isotc211.org/2005/srv" targetNamespace="http://www.geocat.ch/2008/che" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Extension for GM03_V2 profile</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/gfc" schemaLocation="../gfc/gfc.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmi" schemaLocation="../gmi/gmi.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/basicTypes.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmx" schemaLocation="../gmx/gmx.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/srv" schemaLocation="../srv/srv.xsd"/> + <!-- ########################################################################### --> + <!--,--> + <!-- =========================== L'attribut cheType ============================== --> + <xs:attribute name="cheType" type="xs:string"/> + <!-- Extension ResponsibleParty class --> + <xs:complexType name="CHE_CI_ResponsibleParty_Type"> + <xs:complexContent> + <xs:extension base="gmd:CI_ResponsibleParty_Type"> + <xs:sequence> + <xs:element name="individualFirstName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="individualLastName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="organisationAcronym" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="parentResponsibleParty" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:CI_ResponsibleParty"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_CI_ResponsibleParty" type="che:CHE_CI_ResponsibleParty_Type" + substitutionGroup="gmd:CI_ResponsibleParty"/> + <!-- Extension Address class --> + <xs:complexType name="CHE_Cl_Address_Type"> + <xs:complexContent> + <xs:extension base="gmd:CI_Address_Type"> + <xs:sequence> + <xs:element name="streetName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="streetNumber" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="addressLine" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="postBox" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:CI_Address"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_CI_Address" type="che:CHE_Cl_Address_Type" substitutionGroup="gmd:CI_Address"/> + <!-- Extension Telephone class --> + <xs:complexType name="CHE_CI_Telephone_Type"> + <xs:complexContent> + <xs:extension base="gmd:CI_Telephone_Type"> + <xs:sequence> + <xs:element name="directNumber" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="mobile" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:CI_Telephone"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_CI_Telephone" type="che:CHE_CI_Telephone_Type" substitutionGroup="gmd:CI_Telephone"/> + <!-- MD_Legislation extension --> + <xs:complexType name="CHE_MD_Legislation_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="country" type="gmd:Country_PropertyType" maxOccurs="unbounded"/> + <xs:element name="language" type="gmd:LanguageCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="legislationType" type="che:CHE_CI_LegislationType_PropertyType" minOccurs="0"/> + <xs:element name="internalReference" type="gco:CharacterString_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="title" type="gmd:CI_Citation_PropertyType"/> + </xs:sequence> + <!-- FIXME : do we need a gco:isoType for an extension of AbstractObject in profil ? --> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_Legislation"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Legislation" type="che:CHE_MD_Legislation_Type" substitutionGroup="gco:AbstractObject"/> + <xs:complexType name="CHE_MD_Legislation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Legislation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- TODO : add codeList --> + <!-- MD_LegislationType --> + <xs:element name="CHE_CI_LegislationCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_CI_LegislationType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_CI_LegislationCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- MD LegalConstraints extension to legislationConstraints --> + <xs:complexType name="CHE_MD_LegalConstraints_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_LegalConstraints_Type"> + <xs:sequence> + <xs:element name="legislationConstraints" type="che:CHE_MD_Legislation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_LegalConstraints"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_LegalConstraints" type="che:CHE_MD_LegalConstraints_Type" + substitutionGroup="gmd:MD_LegalConstraints"/> + <!-- MD Metadata extension to legislationConstraints --> + <xs:complexType name="CHE_MD_Metadata_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_Metadata_Type"> + <xs:sequence> + <xs:element name="legislationInformation" type="che:CHE_MD_Legislation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_Metadata"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Metadata" type="che:CHE_MD_Metadata_Type" substitutionGroup="gmd:MD_Metadata"/> + <!-- MD_Revision class --> + <xs:complexType name="CHE_MD_Revision_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="revisionScope" type="gmd:MD_ScopeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="dateOfLastUpdate" type="gco:Date_PropertyType" minOccurs="0"/> + <xs:element name="revisionNote" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="revisionScopeDescription" type="gmd:MD_ScopeDescription_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="revisionExtent" type="gmd:EX_Extent_PropertyType" minOccurs="0"/> + <xs:element name="revisionContact" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + <!-- --> + <xs:attribute ref="gco:isoType" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Revision" type="che:CHE_MD_Revision_Type" substitutionGroup="gco:AbstractObject"/> + <xs:complexType name="CHE_MD_Revision_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Revision"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_CI_projectTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_CI_projectType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_CI_projectTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--Extension MD_DataIdentification --> + <xs:complexType name="CHE_MD_DataIdentification_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_DataIdentification_Type"> + <xs:sequence> + <xs:element name="projectType" type="che:CHE_CI_projectType_PropertyType" minOccurs="0"/> + <xs:element name="revision" type="che:CHE_MD_Revision_PropertyType" minOccurs="0"/> + <xs:element name="basicGeodataID" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="basicGeodataIDType" type="che:basicGeodataIDType_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="geodataType" type="che:geodataType_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <!-- CHEKME no or non --> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_DataIdentification"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_DataIdentification" type="che:CHE_MD_DataIdentification_Type" + substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ........................................................................ --> + <xs:element name="basicGeodataIDTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="basicGeodataIDType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:basicGeodataIDTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_geodataTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="geodataType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:MD_geodataTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ........................................................................ --> + <!--Extension MD_MD_MaintenanceInformation--> + <xs:complexType name="CHE_MD_MaintenanceInformation_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_MaintenanceInformation_Type"> + <xs:sequence> + <xs:element name="dateOfMonitoringState" type="gco:Date_PropertyType" minOccurs="0"/> + <xs:element name="historyConcept" type="che:CHE_MD_HistoryConcept_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="archiveConcept" type="che:CHE_MD_ArchiveConcept_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="appraisal" type="che:CHE_MD_Appraisal_AAP_PropertyType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_MaintenanceInformation"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_MaintenanceInformation" type="che:CHE_MD_MaintenanceInformation_Type" + substitutionGroup="gmd:MD_MaintenanceInformation"/> + <!-- che:CHE_MD_HistoryConcept --> + <xs:complexType name="CHE_MD_HistoryConcept_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="historyConceptCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="historyConceptURL" type="gmd:URL_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_HistoryConcept" type="che:CHE_MD_HistoryConcept_Type" + substitutionGroup="gco:AbstractObject"/> + <xs:complexType name="CHE_MD_HistoryConcept_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_HistoryConcept"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- CHE_MD_ArchiveConcept --> + <xs:complexType name="CHE_MD_ArchiveConcept_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="archiveConceptCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="archiveConceptURL" type="gmd:URL_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_ArchiveConcept" type="che:CHE_MD_ArchiveConcept_Type" + substitutionGroup="gco:AbstractObject"/> + <xs:complexType name="CHE_MD_ArchiveConcept_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_ArchiveConcept"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + + <!-- AAP --> + <xs:complexType name="CHE_MD_Appraisal_AAP_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Appraisal_AAP"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + + <xs:element name="CHE_MD_Appraisal_AAP" type="che:CHE_MD_Appraisal_AAP_Type" substitutionGroup="gco:AbstractObject"/> + + <xs:complexType name="CHE_MD_Appraisal_AAP_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:annotation> + <xs:documentation>AAP</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="durationOfConservation" type="gco:Integer_PropertyType" + minOccurs="1" maxOccurs="1"/> + <xs:element name="commentOnDurationOfConservation" type="gco:CharacterString_PropertyType" + minOccurs="0" maxOccurs="1"/> + <xs:element name="appraisalOfArchivalValue" type="che:CHE_AppraisalOfArchivalValue_Type" + minOccurs="1" maxOccurs="1"/> + <xs:element name="reasonForArchivingValue" type="che:CHE_ReasonForArchivingValue_Type" + minOccurs="0" maxOccurs="1"/> + <xs:element name="commentOnArchivalValue" type="gco:CharacterString_PropertyType" + minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:element name="CHE_AppraisalOfArchivalValueCode" type="gco:CodeListValue_Type" + substitutionGroup="gco:CharacterString"/> + <xs:element name="CHE_ReasonForArchivingValueCode" type="gco:CodeListValue_Type" + substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_AppraisalOfArchivalValue_Type"> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element ref="che:CHE_AppraisalOfArchivalValueCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CHE_ReasonForArchivingValue_Type"> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element ref="che:CHE_ReasonForArchivingValueCode"/> + </xs:sequence> + </xs:complexType> + + <!-- MD_AbstractClass --> + <xs:complexType name="CHE_MD_AbstractClass_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="attribute" type="che:CHE_MD_Attribute_Type" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="baseClass" type="che:CHE_MD_AbstractClass_PropertyType" minOccurs="0"/> + <xs:element name="subClass" type="che:CHE_MD_AbstractClass_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_AbstractClass_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_AbstractClass"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_AbstractClass" type="che:CHE_MD_AbstractClass_Type" substitutionGroup="gco:AbstractObject"/> + <!--CHE_MD_Association --> + <xs:complexType name="CHE_MD_Association_Type"> + <xs:complexContent> + <xs:extension base="che:CHE_MD_AbstractClass_Type"> + <xs:sequence> + <xs:element name="role" type="che:CHE_MD_Role_PropertyType" minOccurs="2" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Association" type="che:CHE_MD_Association_Type" + substitutionGroup="che:CHE_MD_AbstractClass"/> + <!--MD_Class --> + <xs:complexType name="CHE_MD_Class_Type"> + <xs:complexContent> + <xs:extension base="che:CHE_MD_AbstractClass_Type"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_MD_Class" type="che:CHE_MD_Class_Type" substitutionGroup="che:CHE_MD_AbstractClass"/> + <!-- MD_CodeDomain --> + <xs:complexType name="CHE_MD_CodeDomain_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="type" type="che:CHE_MD_Type_Type" minOccurs="0"/> + <xs:element name="subDomain" type="che:CHE_MD_CodeDomain_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="baseDomain" type="che:CHE_MD_CodeDomain_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_CodeDomain_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_CodeDomain"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_CodeDomain" type="che:CHE_MD_CodeDomain_Type" substitutionGroup="gco:AbstractObject"/> + <!-- MD_Type --> + <xs:complexType name="CHE_MD_Type_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="type" type="gco:CharacterString_PropertyType"/> + <xs:element name="value" type="che:CHE_MD_CodeValue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_Type_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Type"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_Type" type="che:CHE_MD_Type_Type" substitutionGroup="gco:AbstractObject"/> + <!-- MD_Attribute --> + <xs:complexType name="CHE_MD_Attribute_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="namedType" type="che:CHE_MD_CodeDomain_PropertyType" minOccurs="0"/> + <xs:element name="anonymousType" type="che:CHE_MD_Type_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_Attribute_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Attribute"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_Attribute" type="che:CHE_MD_Attribute_Type" substitutionGroup="gco:AbstractObject"/> + <!-- MD_Role --> + <xs:complexType name="CHE_MD_Role_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="toClass" type="che:CHE_MD_AbstractClass_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_Role_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_Role"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_Role" type="che:CHE_MD_Role_Type" substitutionGroup="gco:AbstractObject"/> + <!-- MD_CodeValue --> + <xs:complexType name="CHE_MD_CodeValue_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="code" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="subValue" type="che:CHE_MD_CodeValue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_CodeValue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_CodeValue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_CodeValue" type="che:CHE_MD_CodeValue_Type" substitutionGroup="gco:AbstractObject"/> + <!-- ================================== CHE_MD_FeatureCatalogueDescription_PropertyType ================================= --> + <xs:complexType name="CHE_MD_FeatureCatalogueDescription_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_FeatureCatalogueDescription_Type"> + <xs:sequence> + <xs:element name="dataModel" type="che:PT_FreeURL_PropertyType" minOccurs="0"/> + <xs:element name="class" type="che:CHE_MD_AbstractClass_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="domain" type="che:CHE_MD_CodeDomain_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="modelType" type="che:CHE_MD_modelTypeCode_PropertyType"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="gmd:MD_FeatureCatalogueDescription"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_FeatureCatalogueDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_FeatureCatalogueDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_FeatureCatalogueDescription" type="che:CHE_MD_FeatureCatalogueDescription_Type" + substitutionGroup="gmd:MD_FeatureCatalogueDescription"/> + <!-- ======================= che:che_modelType_PropertyType=================== --> + <!-- che:che_modelType_PropertyType --> + <xs:element name="CHE_MD_modelTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_MD_modelTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_modelTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ================================== CHE_MD_PortrayalCatalogueReference_PropertyType ================================= --> + <xs:complexType name="CHE_MD_PortrayalCatalogueReference_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_PortrayalCatalogueReference_Type"> + <xs:sequence> + <xs:element name="portrayalCatalogueURL" type="che:PT_FreeURL_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_PortrayalCatalogueReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_PortrayalCatalogueReference"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_PortrayalCatalogueReference" type="che:CHE_MD_PortrayalCatalogueReference_Type" + substitutionGroup="gmd:MD_PortrayalCatalogueReference"/> + <!-- ======================= CHE_MD_CoverageDescription_Type=================== --> + <xs:complexType name="CHE_MD_CoverageDescription_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_CoverageDescription_Type"> + <xs:sequence> + <xs:element name="filmType" type="che:CHE_MD_FilmTypeCode_PropertyType" minOccurs="0"/> + <xs:element name="focalDistance" type="gco:Integer_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_CoverageDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_CoverageDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_CoverageDescription" type="che:CHE_MD_CoverageDescription_Type" + substitutionGroup="gmd:MD_CoverageDescription"/> + <xs:complexType name="CHE_MD_ImageDescription_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_ImageDescription_Type"> + <xs:sequence> + <xs:element name="filmType" type="che:CHE_MD_FilmTypeCode_PropertyType" minOccurs="0"/> + <xs:element name="focalDistance" type="gco:Integer_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CHE_MD_ImageDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_ImageDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <xs:element name="CHE_MD_ImageDescription" type="che:CHE_MD_ImageDescription_Type" + substitutionGroup="gmd:MD_ImageDescription"/> + <xs:element name="CHE_MD_FilmTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_MD_FilmTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_MD_FilmTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========= Classes FreeURL ================================= --> + <xs:complexType name="PT_FreeURL_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="URLGroup" type="che:LocalisedURL_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PT_FreeURL" type="che:PT_FreeURL_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PT_FreeURL_PropertyType"> + <xs:complexContent> + <xs:extension base="gmd:URL_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:PT_FreeURL"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LocalisedURL_Type"> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:attribute name="id" type="xs:ID" use="optional"/> + <xs:attribute name="locale" type="xs:anyURI" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LocalisedURL" type="che:LocalisedURL_Type" substitutionGroup="gmd:URL"/> + <!-- ........................................................................ --> + <xs:complexType name="LocalisedURL_PropertyType"> + <xs:complexContent> + <xs:extension base="gco:ObjectReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:LocalisedURL"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ============================= Services ============================================== --> + <!--Extension MD_DataIdentification --> + <xs:complexType name="CHE_SV_ServiceIdentification_Type"> + <xs:complexContent> + <xs:extension base="srv:SV_ServiceIdentification_Type"> + <xs:sequence> + <xs:element name="inspireServiceType" type="che:CHE_SV_inspireServiceType_PropertyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute ref="gco:isoType" use="required" fixed="srv:SV_ServiceIdentification"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="CHE_SV_ServiceIdentification" type="che:CHE_SV_ServiceIdentification_Type" + substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ======================= cheCHE_SV_inspireServiceType_PropertyType=================== --> + <!-- che:che_modelType_PropertyType --> + <xs:element name="CHE_SV_inspireServiceTypeCode" type="gco:CodeListValue_Type" + substitutionGroup="gco:CharacterString"/> + <xs:complexType name="CHE_SV_inspireServiceType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="che:CHE_SV_inspireServiceTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/ReadMe.txt new file mode 100644 index 00000000000..db0b4ed98b7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/ReadMe.txt @@ -0,0 +1,47 @@ +ISO(c) GCO schema ReadMe.txt +------------------------------------------------------------------------------ + +Geographic COmmon (GCO) extensible markup language + +GCO is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. + +GCO includes all the definitions of http://www.isotc211.org/2005/gco +namespace. The root document of this namespace is the file gco.xsd. + +The most current schemas are available at: +http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/ + +------------------------------------------------------------------------------- + +2012-07-13 Nicolas Lesage on behalf of the ISO/TC 211 XML Maintenance Group + * Update of readme.txt file and schema annotations + * Use of absolute schema locations of imported namespaces + * Simplification of the schema location of included XML Schemas + * Adoption of W3C Implementation of XLink: + - schemaLocation changed to: http://www.w3.org/1999/xlink.xsd + - xlink:simpleLink renamed xlink:simpleAttrs + * Addition of the version attribute to the schema element. The value of + this attribute is expected to be the date of the last release of the + XML schemas (e.g. 2012-07-13 for this release) + * Include root XML Schema document in all schema documents + + Validation: Schemas have been validated with XML Spy 2010 Rel. 2 (MSXML 6.0) + +2009-03-16 Marcellin Prudham & Nicolas Lesage + * Change of GML namespace: http://www.opengis.net/gml (GML 3.2) => + http://www.opengis.net/gml/3.2 (GML 3.2.1=ISO 19136) + + Note: ISO/TS 19139:2007 (published 2007-04-17) normatively reference + ISO 19136 which was published 2007-08-23. The major change applied to + ISO 19136 is the change of the namespace URI. Previous release of GCO + are not compliant with ISO/TS 19139:2007 + + Validation: Schemas have been validated with XSV 2.10, Xerces J 2.7.1 and + XML Spy 2009 (2009-03-02, IGN / France - Nicolas Lesage / Marcellin Prudham) + +2006-05-04 Marie-Pierre Escher & Nicolas Lesage + * First official release of GCO + * GCO XML Schema files were generated from ISO/TC 211 UML class diagrams + in accordance with ISO/TS 19139:2007. The XML Schema generator is a + Rational Rose Plug-in developed by IGN France (nicolas.lesage@ign.fr). diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/basicTypes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/basicTypes.xsd new file mode 100644 index 00000000000..7d0dfa60c27 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/basicTypes.xsd @@ -0,0 +1,431 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gco="http://www.isotc211.org/2005/gco" targetNamespace="http://www.isotc211.org/2005/gco" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic COmmon (GCO) extensible markup language is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. GCO includes all the definitions of http://www.isotc211.org/2005/gco namespace. The root document of this namespace is the file gco.xsd. This basicTypes.xsd schema implements concepts from the "basic types" package of ISO/TS 19103.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../xlink/xlink.xsd"/> + <xs:include schemaLocation="gco.xsd"/> + <xs:include schemaLocation="gcoBase.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- =========================================================================== --> + <xs:complexType name="TypeName_Type"> + <xs:annotation> + <xs:documentation>A TypeName is a LocalName that references either a recordType or object type in some form of schema. The stored value "aName" is the returned value for the "aName()" operation. This is the types name. - For parsing from types (or objects) the parsible name normally uses a "." navigation separator, so that it is of the form [class].[member].[memberOfMember]. ...)</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="aName" type="gco:CharacterString_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="TypeName" type="gco:TypeName_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="TypeName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:TypeName"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MemberName_Type"> + <xs:annotation> + <xs:documentation>A MemberName is a LocalName that references either an attribute slot in a record or recordType or an attribute, operation, or association role in an object instance or type description in some form of schema. The stored value "aName" is the returned value for the "aName()" operation.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="aName" type="gco:CharacterString_PropertyType"/> + <xs:element name="attributeType" type="gco:TypeName_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MemberName" type="gco:MemberName_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MemberName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:MemberName"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="Multiplicity_Type"> + <xs:annotation> + <xs:documentation>Use to represent the possible cardinality of a relation. Represented by a set of simple multiplicity ranges.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="range" type="gco:MultiplicityRange_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="Multiplicity" type="gco:Multiplicity_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="Multiplicity_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Multiplicity"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MultiplicityRange_Type"> + <xs:annotation> + <xs:documentation>A component of a multiplicity, consisting of an non-negative lower bound, and a potentially infinite upper bound.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="lower" type="gco:Integer_PropertyType"/> + <xs:element name="upper" type="gco:UnlimitedInteger_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MultiplicityRange" type="gco:MultiplicityRange_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MultiplicityRange_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:MultiplicityRange"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--================================================--> + <!-- ================== Measure ===================== --> + <!-- ........................................................................ --> + <xs:element name="Measure" type="gml:MeasureType"/> + <!-- ........................................................................ --> + <xs:complexType name="Measure_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Measure"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Length" type="gml:LengthType" substitutionGroup="gco:Measure"/> + <!-- ........................................................................ --> + <xs:complexType name="Length_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Length"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Angle" type="gml:AngleType" substitutionGroup="gco:Measure"/> + <!-- ........................................................................ --> + <xs:complexType name="Angle_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Angle"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Scale" type="gml:ScaleType" substitutionGroup="gco:Measure"/> + <!-- ........................................................................ --> + <xs:complexType name="Scale_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Scale"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Distance" type="gml:LengthType" substitutionGroup="gco:Length"/> + <!-- ........................................................................ --> + <xs:complexType name="Distance_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Distance"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CharacterString" type="xs:string"/> + <!-- ........................................................................ --> + <xs:complexType name="CharacterString_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:CharacterString"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Boolean" type="xs:boolean"/> + <!-- ........................................................................ --> + <xs:complexType name="Boolean_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Boolean"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="AbstractGenericName" type="gml:CodeType" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="GenericName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:AbstractGenericName"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="LocalName" type="gml:CodeType" substitutionGroup="gco:AbstractGenericName"/> + <!-- ........................................................................ --> + <xs:complexType name="LocalName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:LocalName"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="ScopedName" type="gml:CodeType" substitutionGroup="gco:AbstractGenericName"/> + <!-- ........................................................................ --> + <xs:complexType name="ScopedName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:ScopedName"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ============================= UOM ========================================= --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomAngle_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomLength_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomScale_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UnitOfMeasure_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomArea_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomVelocity_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomTime_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UomVolume_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- =========================== Date & DateTime ================================= --> + <!--=============================================--> + <xs:element name="DateTime" type="xs:dateTime"/> + <!-- ........................................................................ --> + <xs:complexType name="DateTime_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:DateTime"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="Date_Type"> + <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="Date" type="gco:Date_Type" nillable="true"/> + <!-- ........................................................................ --> + <xs:complexType name="Date_PropertyType"> + <xs:choice minOccurs="0"> + <xs:element ref="gco:Date"/> + <xs:element ref="gco:DateTime"/> + </xs:choice> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- =========================== Number basic type =============================== --> + <!--=======================================================--> + <xs:complexType name="Number_PropertyType"> + <xs:choice minOccurs="0"> + <xs:element ref="gco:Real"/> + <xs:element ref="gco:Decimal"/> + <xs:element ref="gco:Integer"/> + </xs:choice> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Decimal" type="xs:decimal"/> + <!-- ........................................................................ --> + <xs:complexType name="Decimal_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Decimal"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Real" type="xs:double"/> + <!-- ........................................................................ --> + <xs:complexType name="Real_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Real"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Integer" type="xs:integer"/> + <!-- ........................................................................ --> + <xs:complexType name="Integer_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Integer"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- ============================= UnlimitedInteger ================================ --> + <!--NB: The encoding mechanism below is based on the use of XCPT (see the usage of xsi:nil in XML instance).--> + <!--================= Type ==================--> + <xs:complexType name="UnlimitedInteger_Type"> + <xs:simpleContent> + <xs:extension base="xs:nonNegativeInteger"> + <xs:attribute name="isInfinite" type="xs:boolean"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="UnlimitedInteger" type="gco:UnlimitedInteger_Type" nillable="true"/> + <!-- ........................................................................ --> + <xs:complexType name="UnlimitedInteger_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:UnlimitedInteger"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- ========================= Record & RecordType ============================== --> + <!--================= Record ==================--> + <xs:element name="Record"/> + <!-- ........................................................................ --> + <xs:complexType name="Record_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Record"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--================= RecordType ==================--> + <xs:complexType name="RecordType_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attributeGroup ref="xlink:simpleAttrs"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="RecordType" type="gco:RecordType_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="RecordType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:RecordType"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- =========================== Binary basic type ================================ --> + <!--NB: this type is not declared in 19103 but used in 19115. --> + <!--================= Type ==================--> + <xs:complexType name="Binary_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="src" type="xs:anyURI"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="Binary" type="gco:Binary_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="Binary_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gco:Binary"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--================================================--> + <!-- =============================================== --> + <!--================================================--> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/gco.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/gco.xsd new file mode 100644 index 00000000000..6090d49d5ff --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/gco.xsd @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" targetNamespace="http://www.isotc211.org/2005/gco" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic COmmon (GCO) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GCO includes all the definitions of http://www.isotc211.org/2005/gco namespace. The root document of this namespace is the file gco.xsd.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="basicTypes.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/gcoBase.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/gcoBase.xsd new file mode 100644 index 00000000000..aafbbf6a503 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gco/gcoBase.xsd @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema 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/3.2" targetNamespace="http://www.isotc211.org/2005/gco" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic COmmon (GCO) extensible markup language is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. GCO includes all the definitions of http://www.isotc211.org/2005/gco namespace. The root document of this namespace is the file gco.xsd. This gcoBase.xsd 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="../xlink/xlink.xsd"/> + <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../gml/gml.xsd"/> + <xs:include schemaLocation="gco.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:simpleAttrs"/> + <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> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gfc/gfc.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gfc/gfc.xsd new file mode 100644 index 00000000000..4b482f78741 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gfc/gfc.xsd @@ -0,0 +1,409 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by STEPHANE BIDAULT (I.G.N/SAF/RECEPTIONS) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gfc="http://www.isotc211.org/2005/gfc" targetNamespace="http://www.isotc211.org/2005/gfc" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 02-16-2006 12:32:19 ====== + </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:import namespace="http://www.isotc211.org/2005/gmx" schemaLocation="../gmx/gmx.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="FC_ListedValue_Type"> + <xs:annotation> + <xs:documentation>Value for an enumerated feature attribute domain, including its codes and interpretation. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="label" type="gco:CharacterString_PropertyType"/> + <!--<xs:element name="code" type="gco:CharacterString_PropertyType" minOccurs="0"/>--> + <xs:element name="definition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="definitionReference" type="gfc:FC_DefinitionReference_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_ListedValue" type="gfc:FC_ListedValue_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_ListedValue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_ListedValue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureAssociation_Type"> + <xs:annotation> + <xs:documentation>Relationship that links instances of this feature type with instances of the same or of a + different feature type. - The memberOf-linkBetween association in the General Feature Model is not directly + implemented here since it can be easily derived from combining the Role and MemberOf associations. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:FC_FeatureType_Type"> + <xs:sequence> + <xs:element name="roleName" type="gfc:FC_AssociationRole_PropertyType" minOccurs="2" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureAssociation" type="gfc:FC_FeatureAssociation_Type" + substitutionGroup="gfc:FC_FeatureType"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureAssociation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureAssociation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureCatalogue_Type"> + <xs:annotation> + <xs:documentation>A feature catalogue contains its identification and contact information, and definition of some + number of feature types with other information necessary for those definitions. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmx:AbstractCT_Catalogue_Type"> + <xs:sequence> + <xs:element name="producer" type="gmd:CI_ResponsibleParty_PropertyType"/> + <xs:element name="functionalLanguage" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="featureType" type="gfc:FC_FeatureType_PropertyType" maxOccurs="unbounded"/> + <xs:element name="definitionSource" type="gfc:FC_DefinitionSource_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="inheritanceRelation" type="gfc:FC_InheritanceRelation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureCatalogue" type="gfc:FC_FeatureCatalogue_Type" + substitutionGroup="gmx:AbstractCT_Catalogue"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureCatalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureCatalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureAttribute_Type"> + <xs:annotation> + <xs:documentation>Characteristic of a feature type.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:AbstractFC_PropertyType_Type"> + <xs:sequence> + <xs:element name="valueMeasurementUnit" type="gco:UnitOfMeasure_PropertyType" minOccurs="0"/> + <xs:element name="listedValue" type="gfc:FC_ListedValue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="valueType" type="gco:TypeName_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureAttribute" type="gfc:FC_FeatureAttribute_Type" + substitutionGroup="gfc:AbstractFC_PropertyType"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureAttribute_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureAttribute"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--<xs:complexType name="FC_AssociationRole_Type"> + <xs:annotation> + <xs:documentation>A role of the association FC_AssociationRole::relation. - [ocl] - roleName = FC_Member::memberName; - FC_PropertyType::cardinality realizes GF_AssociationRole::cardinality - [/ocl]</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:_FC_AssociationRole_RestrictionType"> + <xs:sequence> + <xs:element name="type" type="gfc:FC_RoleType_PropertyType"/> + <xs:element name="isOrdered" type="gco:Boolean_PropertyType"/> + <xs:element name="isNavigable" type="gco:Boolean_PropertyType"/> + <xs:element name="relation" type="gfc:FC_FeatureAssociation_PropertyType"/> + <xs:element name="roleType" type="gfc:FC_FeatureType_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType>--> + <!-- ........................................................................ --> + <!--<xs:complexType name="_FC_AssociationRole_RestrictionType" abstract="true"> + <xs:annotation> + <xs:documentation>Restriction type defined as extension of gfc:FC_AssociationRole_Type</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:restriction base="gfc:AbstractFC_PropertyType_Type"> + <xs:sequence> + <xs:element name="memberName" type="gco:LocalName_PropertyType"/> + <xs:element name="definition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="cardinality" type="gco:Multiplicity_PropertyType"/> + <xs:element name="featureType" type="gfc:FC_FeatureType_PropertyType"/> + <xs:element name="constrainedBy" type="gfc:FC_Constraint_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="definitionReference" type="gfc:FC_DefinitionReference_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:restriction> + </xs:complexContent> + </xs:complexType>--> + <!-- ........................................................................ --> + <xs:complexType name="FC_AssociationRole_Type"> + <xs:annotation> + <xs:documentation>A role of the association FC_AssociationRole::relation. - [ocl] - roleName = + FC_Member::memberName; - FC_PropertyType::cardinality realizes GF_AssociationRole::cardinality - [/ocl] + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:AbstractFC_PropertyType_Type"> + <xs:sequence> + <xs:element name="type" type="gfc:FC_RoleType_PropertyType"/> + <xs:element name="isOrdered" type="gco:Boolean_PropertyType"/> + <xs:element name="isNavigable" type="gco:Boolean_PropertyType"/> + <xs:element name="relation" type="gfc:FC_FeatureAssociation_PropertyType"/> + <xs:element name="roleType" type="gfc:FC_FeatureType_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_AssociationRole" type="gfc:FC_AssociationRole_Type" + substitutionGroup="gfc:AbstractFC_PropertyType"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_AssociationRole_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_AssociationRole"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureType_Type"> + <xs:annotation> + <xs:documentation>Class of real world phenomena with common properties - - [ocl] - name realizes + GF_FeatureType::typeName; - isAbstract realizes GF_FeatureType::isAbstract; - constrainedBy realizes + GF_FeatureType::constrainedBy - [/ocl] + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="typeName" type="gco:LocalName_PropertyType"/> + <xs:element name="definition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="isAbstract" type="gco:Boolean_PropertyType"/> + <xs:element name="aliases" type="gco:LocalName_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="inheritsFrom" type="gfc:FC_InheritanceRelation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="inheritsTo" type="gfc:FC_InheritanceRelation_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="featureCatalogue" type="gfc:FC_FeatureCatalogue_PropertyType"/> + <xs:element name="carrierOfCharacteristics" type="gfc:FC_PropertyType_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="constrainedBy" type="gfc:FC_Constraint_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="definitionReference" type="gfc:FC_DefinitionReference_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureType" type="gfc:FC_FeatureType_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureType"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_InheritanceRelation_Type"> + <xs:annotation> + <xs:documentation>FC_InheritanceRelation realizes GF_InheritanceRelation. - [ocl] - FC_InheritanceRelation always + assumes that its GF_InheritanceRelation::uniqueInstance is TRUE. - [/ocl] + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + <xs:element name="uniqueInstance" type="gco:Boolean_PropertyType"/> + <xs:element name="subtype" type="gfc:FC_FeatureType_PropertyType"/> + <xs:element name="supertype" type="gfc:FC_FeatureType_PropertyType"/> + <xs:element name="featureCatalogue" type="gfc:FC_FeatureCatalogue_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_InheritanceRelation" type="gfc:FC_InheritanceRelation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_InheritanceRelation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_InheritanceRelation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_FeatureOperation_Type"> + <xs:annotation> + <xs:documentation>Operation that every instance of an associated feature type must implement. - [ocl] - + triggeredByValuesOf realizes GF_Operation::triggeredByValuesOf; - observesValuesOf realizes + GF_Operation::observesValuesOf; - affectsValuesOf realizes GF_Operation::affectsValuesOf - [/ocl] + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gfc:AbstractFC_PropertyType_Type"> + <xs:sequence> + <xs:element name="signature" type="gco:CharacterString_PropertyType"/> + <xs:element name="formalDefinition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="triggeredByValueOf" type="gfc:FC_FeatureAttribute_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="affectsValueOf" type="gfc:FC_FeatureAttribute_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element name="observesValueOf" type="gfc:FC_FeatureAttribute_PropertyType" minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_FeatureOperation" type="gfc:FC_FeatureOperation_Type" + substitutionGroup="gfc:AbstractFC_PropertyType"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_FeatureOperation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_FeatureOperation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractFC_PropertyType_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Abstract class for feature properties.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="memberName" type="gco:LocalName_PropertyType"/> + <xs:element name="definition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="cardinality" type="gco:Multiplicity_PropertyType"/> + <xs:element name="featureType" type="gfc:FC_FeatureType_PropertyType"/> + <xs:element name="constrainedBy" type="gfc:FC_Constraint_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="definitionReference" type="gfc:FC_DefinitionReference_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractFC_PropertyType" type="gfc:AbstractFC_PropertyType_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_PropertyType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:AbstractFC_PropertyType"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_Constraint_Type"> + <xs:annotation> + <xs:documentation>A class for defining constraints for types.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_Constraint" type="gfc:FC_Constraint_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_Constraint_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_Constraint"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_DefinitionSource_Type"> + <xs:annotation> + <xs:documentation>Class that specifies the source of a definition.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="source" type="gmd:CI_Citation_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_DefinitionSource" type="gfc:FC_DefinitionSource_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_DefinitionSource_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_DefinitionSource"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="FC_DefinitionReference_Type"> + <xs:annotation> + <xs:documentation>Class that links a data instance to the source of its definition.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="sourceIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="definitionSource" type="gfc:FC_DefinitionSource_PropertyType"/> + <!--<xs:element name="theFC_FeatureType" type="gfc:FC_FeatureType_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="theAbstractFC_PropertyType" type="gfc:FC_PropertyType_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="theFC_ListedValue" type="gfc:FC_ListedValue_PropertyType" minOccurs="0" maxOccurs="unbounded"/>--> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FC_DefinitionReference" type="gfc:FC_DefinitionReference_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_DefinitionReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_DefinitionReference"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="FC_RoleType" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="FC_RoleType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gfc:FC_RoleType"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/ReadMe.txt new file mode 100644 index 00000000000..2c4c7c66c8b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/ReadMe.txt @@ -0,0 +1,45 @@ +ISO(c) GMD schema ReadMe.txt +------------------------------------------------------------------------------ + +Geographic MetaData (GMD) extensible markup language + +GMD is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. + +GMD includes all the definitions of http://www.isotc211.org/2005/gmd +namespace. The root document of this namespace is the file gmd.xsd. + +The most current schemas are available at: +http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/ + +------------------------------------------------------------------------------- + +2012-07-13 Nicolas Lesage on behalf of the ISO/TC 211 XML Maintenance Group + * Update of readme.txt file and schema annotations + * Use of absolute schema locations of imported namespaces + * Simplification of the schema location of included XML Schemas + * Addition of the version attribute to the schema element. The value of + this attribute is expected to be the date of the last release of the + XML schemas (e.g. 2012-07-13 for this release) + * Include root XML Schema document in all schema documents + + Validation: Schemas have been validated with XML Spy 2010 Rel. 2 (MSXML 6.0) + +2009-03-16 Marcellin Prudham & Nicolas Lesage + * Change of GML namespace: http://www.opengis.net/gml (GML 3.2) => + http://www.opengis.net/gml/3.2 (GML 3.2.1=ISO 19136) + + Note: ISO/TS 19139:2007 (published 2007-04-17) normatively reference + ISO 19136 which was published 2007-08-23. The major change applied to + ISO 19136 is the change of the namespace URI. Previous release of GMD + are not compliant with ISO/TS 19139:2007 + + Validation: Schemas have been validated with XSV 2.10, Xerces J 2.7.1 and + XML Spy 2009 (2009-03-02, IGN / France - Nicolas Lesage / Marcellin Prudham) + +2006-05-04 Marie-Pierre Escher & Nicolas Lesage + * First official release of GMD + * GMD XML Schema files were generated from ISO/TC 211 UML class diagrams + in accordance with ISO/TS 19139:2007. The XML Schema generator is a + Rational Rose Plug-in developed by IGN France (http://www.ign.fr). + diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/applicationSchema.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/applicationSchema.xsd new file mode 100644 index 00000000000..0a7ccbbb5b0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/applicationSchema.xsd @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This applicationSchema.xsd schema implements the UML conceptual schema defined in A.2.12 of ISO 19115:2003. It contains the implementation of the class MD_ApplicationSchemaInformation.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_ApplicationSchemaInformation_Type"> + <xs:annotation> + <xs:documentation>Information about the application schema used to build the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gmd:CI_Citation_PropertyType"/> + <xs:element name="schemaLanguage" type="gco:CharacterString_PropertyType"/> + <xs:element name="constraintLanguage" type="gco:CharacterString_PropertyType"/> + <xs:element name="schemaAscii" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="graphicsFile" type="gco:Binary_PropertyType" minOccurs="0"/> + <xs:element name="softwareDevelopmentFile" type="gco:Binary_PropertyType" minOccurs="0"/> + <xs:element name="softwareDevelopmentFileFormat" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ApplicationSchemaInformation" type="gmd:MD_ApplicationSchemaInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ApplicationSchemaInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ApplicationSchemaInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/citation.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/citation.xsd new file mode 100644 index 00000000000..4f5d7dd1d7b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/citation.xsd @@ -0,0 +1,276 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This citation.xsd schema implements the UML conceptual schema defined in A.3.2 of ISO 19115:2003. It contains the implementation of the following classes: CI_ResponsibleParty, CI_Citation, CI_Address, CI_OnlineResource, CI_Contact, CI_Telephone, URL, CI_Date, CI_Series, CI_RoleCode, CI_PresentationFormCode, CI_OnLineFunctionCode, CI_DateTypeCode.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="referenceSystem.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="CI_ResponsibleParty_Type"> + <xs:annotation> + <xs:documentation>Identification of, and means of communication with, person(s) and organisations associated with the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="individualName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="organisationName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="positionName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="contactInfo" type="gmd:CI_Contact_PropertyType" minOccurs="0"/> + <xs:element name="role" type="gmd:CI_RoleCode_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_ResponsibleParty" type="gmd:CI_ResponsibleParty_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_ResponsibleParty_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_ResponsibleParty"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Citation_Type"> + <xs:annotation> + <xs:documentation>Standardized resource reference</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="title" type="gco:CharacterString_PropertyType"/> + <xs:element name="alternateTitle" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="date" type="gmd:CI_Date_PropertyType" maxOccurs="unbounded"/> + <xs:element name="edition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="editionDate" type="gco:Date_PropertyType" minOccurs="0"/> + <xs:element name="identifier" type="gmd:MD_Identifier_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="citedResponsibleParty" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="presentationForm" type="gmd:CI_PresentationFormCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="series" type="gmd:CI_Series_PropertyType" minOccurs="0"/> + <xs:element name="otherCitationDetails" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="collectiveTitle" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="ISBN" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="ISSN" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Citation" type="gmd:CI_Citation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Citation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Citation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Address_Type"> + <xs:annotation> + <xs:documentation>Location of the responsible individual or organisation</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="deliveryPoint" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="city" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="administrativeArea" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="postalCode" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="country" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="electronicMailAddress" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Address" type="gmd:CI_Address_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Address_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Address"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_OnlineResource_Type"> + <xs:annotation> + <xs:documentation>Information about online sources from which the dataset, specification, or community profile name and extended metadata elements can be obtained.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="linkage" type="gmd:URL_PropertyType"/> + <xs:element name="protocol" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="applicationProfile" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="name" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="function" type="gmd:CI_OnLineFunctionCode_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_OnlineResource" type="gmd:CI_OnlineResource_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_OnlineResource_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_OnlineResource"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Contact_Type"> + <xs:annotation> + <xs:documentation>Information required enabling contact with the responsible person and/or organisation</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="phone" type="gmd:CI_Telephone_PropertyType" minOccurs="0"/> + <xs:element name="address" type="gmd:CI_Address_PropertyType" minOccurs="0"/> + <xs:element name="onlineResource" type="gmd:CI_OnlineResource_PropertyType" minOccurs="0"/> + <xs:element name="hoursOfService" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="contactInstructions" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Contact" type="gmd:CI_Contact_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Contact_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Contact"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Telephone_Type"> + <xs:annotation> + <xs:documentation>Telephone numbers for contacting the responsible individual or organisation</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="voice" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="facsimile" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Telephone" type="gmd:CI_Telephone_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Telephone_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Telephone"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Date_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="date" type="gco:Date_PropertyType"/> + <xs:element name="dateType" type="gmd:CI_DateTypeCode_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Date" type="gmd:CI_Date_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Date_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Date"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CI_Series_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="issueIdentification" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="page" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CI_Series" type="gmd:CI_Series_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_Series_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_Series"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="URL" type="xs:anyURI"/> + <!-- ........................................................................ --> + <xs:complexType name="URL_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:URL"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CI_RoleCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_RoleCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_RoleCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CI_PresentationFormCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_PresentationFormCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_PresentationFormCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CI_OnLineFunctionCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_OnLineFunctionCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_OnLineFunctionCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="CI_DateTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="CI_DateTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:CI_DateTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/constraints.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/constraints.xsd new file mode 100644 index 00000000000..b683389c35e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/constraints.xsd @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This constraints.xsd schema implements the UML conceptual schema defined in A.2.3 of ISO 19115:2003. It contains the implementation of the following classes: MD_Constraints, MD_LegalConstraints, MD_SecurityConstraints, MD_ClassificationCode, MD_RestrictionCode.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_Constraints_Type"> + <xs:annotation> + <xs:documentation>Restrictions on the access and use of a dataset or metadata</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="useLimitation" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Constraints" type="gmd:MD_Constraints_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Constraints_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Constraints"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_LegalConstraints_Type"> + <xs:annotation> + <xs:documentation>Restrictions and legal prerequisites for accessing and using the dataset.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:MD_Constraints_Type"> + <xs:sequence> + <xs:element name="accessConstraints" type="gmd:MD_RestrictionCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="useConstraints" type="gmd:MD_RestrictionCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="otherConstraints" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_LegalConstraints" type="gmd:MD_LegalConstraints_Type" substitutionGroup="gmd:MD_Constraints"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_LegalConstraints_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_LegalConstraints"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_SecurityConstraints_Type"> + <xs:annotation> + <xs:documentation>Handling restrictions imposed on the dataset because of national security, privacy, or other concerns</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:MD_Constraints_Type"> + <xs:sequence> + <xs:element name="classification" type="gmd:MD_ClassificationCode_PropertyType"/> + <xs:element name="userNote" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="classificationSystem" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="handlingDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_SecurityConstraints" type="gmd:MD_SecurityConstraints_Type" substitutionGroup="gmd:MD_Constraints"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_SecurityConstraints_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_SecurityConstraints"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_ClassificationCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ClassificationCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ClassificationCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_RestrictionCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_RestrictionCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_RestrictionCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/content.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/content.xsd new file mode 100644 index 00000000000..bf3c94657be --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/content.xsd @@ -0,0 +1,190 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This content.xsd schema implements the UML conceptual schema defined in ISO 19115:2003, A.2.8. It contains the implementation of the following classes: MD_FeatureCatalogueDescription, MD_CoverageDescription, +MD_ImageDescription, MD_ContentInformation, MD_RangeDimension, MD_Band, MD_CoverageContentTypeCode, MD_ImagingConditionCode.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_FeatureCatalogueDescription_Type"> + <xs:annotation> + <xs:documentation>Information identifing the feature catalogue</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_ContentInformation_Type"> + <xs:sequence> + <xs:element name="complianceCode" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="language" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="includedWithDataset" type="gco:Boolean_PropertyType"/> + <xs:element name="featureTypes" type="gco:GenericName_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="featureCatalogueCitation" type="gmd:CI_Citation_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_FeatureCatalogueDescription" type="gmd:MD_FeatureCatalogueDescription_Type" substitutionGroup="gmd:AbstractMD_ContentInformation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_FeatureCatalogueDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_FeatureCatalogueDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_CoverageDescription_Type"> + <xs:annotation> + <xs:documentation>Information about the domain of the raster cell</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_ContentInformation_Type"> + <xs:sequence> + <xs:element name="attributeDescription" type="gco:RecordType_PropertyType"/> + <xs:element name="contentType" type="gmd:MD_CoverageContentTypeCode_PropertyType"/> + <xs:element name="dimension" type="gmd:MD_RangeDimension_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_CoverageDescription" type="gmd:MD_CoverageDescription_Type" substitutionGroup="gmd:AbstractMD_ContentInformation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_CoverageDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_CoverageDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_ImageDescription_Type"> + <xs:annotation> + <xs:documentation>Information about an image's suitability for use</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:MD_CoverageDescription_Type"> + <xs:sequence> + <xs:element name="illuminationElevationAngle" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="illuminationAzimuthAngle" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="imagingCondition" type="gmd:MD_ImagingConditionCode_PropertyType" minOccurs="0"/> + <xs:element name="imageQualityCode" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="cloudCoverPercentage" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="processingLevelCode" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="compressionGenerationQuantity" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="triangulationIndicator" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="radiometricCalibrationDataAvailability" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="cameraCalibrationInformationAvailability" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="filmDistortionInformationAvailability" type="gco:Boolean_PropertyType" minOccurs="0"/> + <xs:element name="lensDistortionInformationAvailability" type="gco:Boolean_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ImageDescription" type="gmd:MD_ImageDescription_Type" substitutionGroup="gmd:MD_CoverageDescription"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ImageDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ImageDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractMD_ContentInformation_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractMD_ContentInformation" type="gmd:AbstractMD_ContentInformation_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ContentInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractMD_ContentInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_RangeDimension_Type"> + <xs:annotation> + <xs:documentation>Set of adjacent wavelengths in the electro-magnetic spectrum with a common characteristic, such as the visible band</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="sequenceIdentifier" type="gco:MemberName_PropertyType" minOccurs="0"/> + <xs:element name="descriptor" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_RangeDimension" type="gmd:MD_RangeDimension_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_RangeDimension_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_RangeDimension"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Band_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_RangeDimension_Type"> + <xs:sequence> + <xs:element name="maxValue" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="minValue" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="units" type="gco:UomLength_PropertyType" minOccurs="0"/> + <xs:element name="peakResponse" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="bitsPerValue" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="toneGradation" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="scaleFactor" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="offset" type="gco:Real_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Band" type="gmd:MD_Band_Type" substitutionGroup="gmd:MD_RangeDimension"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Band_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Band"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_CoverageContentTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_CoverageContentTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_CoverageContentTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_ImagingConditionCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ImagingConditionCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ImagingConditionCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/dataQuality.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/dataQuality.xsd new file mode 100644 index 00000000000..3cd6d16e1d3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/dataQuality.xsd @@ -0,0 +1,556 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This dataQuality.xsd schema implements the UML conceptual schema defined in A.2.4 of ISO 19115:2003. It contains the implementation of the following classes: LI_ProcessStep, LI_Source, LI_Lineage, +DQ_ConformanceResult, DQ_QuantitativeResult, DQ_Result, DQ_TemporalValidity, DQ_AccuracyOfATimeMeasurement, DQ_QuantitativeAttributeAccuracy, DQ_NonQuantitativeAttributeAccuracy, DQ_ThematicClassificationCorrectness, DQ_RelativeInternalPositionalAccuracy, DQ_GriddedDataPositionalAccuracy, DQ_AbsoluteExternalPositionalAccuracy, DQ_TopologicalConsistency, DQ_FormatConsistency, DQ_DomainConsistency, DQ_ConceptualConsistency, DQ_CompletenessOmission, DQ_CompletenessCommission, DQ_TemporalAccuracy, DQ_ThematicAccuracy, DQ_PositionalAccuracy, DQ_LogicalConsistency, DQ_Completeness, DQ_Element, DQ_DataQuality.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="identification.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="LI_ProcessStep_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + <xs:element name="rationale" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="dateTime" type="gco:DateTime_PropertyType" minOccurs="0"/> + <xs:element name="processor" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="source" type="gmd:LI_Source_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LI_ProcessStep" type="gmd:LI_ProcessStep_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LI_ProcessStep_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LI_ProcessStep"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LI_Source_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="scaleDenominator" type="gmd:MD_RepresentativeFraction_PropertyType" minOccurs="0"/> + <xs:element name="sourceReferenceSystem" type="gmd:MD_ReferenceSystem_PropertyType" minOccurs="0"/> + <xs:element name="sourceCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="sourceExtent" type="gmd:EX_Extent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="sourceStep" type="gmd:LI_ProcessStep_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LI_Source" type="gmd:LI_Source_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LI_Source_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LI_Source"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LI_Lineage_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="statement" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="processStep" type="gmd:LI_ProcessStep_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="source" type="gmd:LI_Source_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LI_Lineage" type="gmd:LI_Lineage_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LI_Lineage_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LI_Lineage"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_ConformanceResult_Type"> + <xs:annotation> + <xs:documentation>quantitative_result from Quality Procedures - - renamed to remove implied use limitiation.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Result_Type"> + <xs:sequence> + <xs:element name="specification" type="gmd:CI_Citation_PropertyType"/> + <xs:element name="explanation" type="gco:CharacterString_PropertyType"/> + <xs:element name="pass" type="gco:Boolean_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_ConformanceResult" type="gmd:DQ_ConformanceResult_Type" substitutionGroup="gmd:AbstractDQ_Result"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_ConformanceResult_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_ConformanceResult"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_QuantitativeResult_Type"> + <xs:annotation> + <xs:documentation>Quantitative_conformance_measure from Quality Procedures. - - Renamed to remove implied use limitation - - OCL - -- result is type specified by valueDomain - result.tupleType = valueDomain</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Result_Type"> + <xs:sequence> + <xs:element name="valueType" type="gco:RecordType_PropertyType" minOccurs="0"/> + <xs:element name="valueUnit" type="gco:UnitOfMeasure_PropertyType"/> + <xs:element name="errorStatistic" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="value" type="gco:Record_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_QuantitativeResult" type="gmd:DQ_QuantitativeResult_Type" substitutionGroup="gmd:AbstractDQ_Result"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_QuantitativeResult_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_QuantitativeResult"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_Result_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_Result" type="gmd:AbstractDQ_Result_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_Result_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_Result"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_TemporalValidity_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_TemporalValidity" type="gmd:DQ_TemporalValidity_Type" substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_TemporalValidity_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_TemporalValidity"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_TemporalConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_TemporalConsistency" type="gmd:DQ_TemporalConsistency_Type" substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_TemporalConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_TemporalConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_AccuracyOfATimeMeasurement_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_AccuracyOfATimeMeasurement" type="gmd:DQ_AccuracyOfATimeMeasurement_Type" substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_AccuracyOfATimeMeasurement_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_AccuracyOfATimeMeasurement"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_QuantitativeAttributeAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_QuantitativeAttributeAccuracy" type="gmd:DQ_QuantitativeAttributeAccuracy_Type" substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_QuantitativeAttributeAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_QuantitativeAttributeAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_NonQuantitativeAttributeAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_NonQuantitativeAttributeAccuracy" type="gmd:DQ_NonQuantitativeAttributeAccuracy_Type" substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_NonQuantitativeAttributeAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_NonQuantitativeAttributeAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_ThematicClassificationCorrectness_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_ThematicClassificationCorrectness" type="gmd:DQ_ThematicClassificationCorrectness_Type" substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_ThematicClassificationCorrectness_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_ThematicClassificationCorrectness"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_RelativeInternalPositionalAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_RelativeInternalPositionalAccuracy" type="gmd:DQ_RelativeInternalPositionalAccuracy_Type" substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_RelativeInternalPositionalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_RelativeInternalPositionalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_GriddedDataPositionalAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_GriddedDataPositionalAccuracy" type="gmd:DQ_GriddedDataPositionalAccuracy_Type" substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_GriddedDataPositionalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_GriddedDataPositionalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_AbsoluteExternalPositionalAccuracy_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_AbsoluteExternalPositionalAccuracy" type="gmd:DQ_AbsoluteExternalPositionalAccuracy_Type" substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_AbsoluteExternalPositionalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_AbsoluteExternalPositionalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_TopologicalConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_TopologicalConsistency" type="gmd:DQ_TopologicalConsistency_Type" substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_TopologicalConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_TopologicalConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_FormatConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_FormatConsistency" type="gmd:DQ_FormatConsistency_Type" substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_FormatConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_FormatConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_DomainConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_DomainConsistency" type="gmd:DQ_DomainConsistency_Type" substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_DomainConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_DomainConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_ConceptualConsistency_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_ConceptualConsistency" type="gmd:DQ_ConceptualConsistency_Type" substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_ConceptualConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_ConceptualConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_CompletenessOmission_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Completeness_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_CompletenessOmission" type="gmd:DQ_CompletenessOmission_Type" substitutionGroup="gmd:AbstractDQ_Completeness"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_CompletenessOmission_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_CompletenessOmission"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_CompletenessCommission_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Completeness_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_CompletenessCommission" type="gmd:DQ_CompletenessCommission_Type" substitutionGroup="gmd:AbstractDQ_Completeness"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_CompletenessCommission_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_CompletenessCommission"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_TemporalAccuracy_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_TemporalAccuracy" type="gmd:AbstractDQ_TemporalAccuracy_Type" abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_TemporalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_TemporalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_ThematicAccuracy_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_ThematicAccuracy" type="gmd:AbstractDQ_ThematicAccuracy_Type" abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_ThematicAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_ThematicAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_PositionalAccuracy_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_PositionalAccuracy" type="gmd:AbstractDQ_PositionalAccuracy_Type" abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_PositionalAccuracy_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_PositionalAccuracy"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_LogicalConsistency_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_LogicalConsistency" type="gmd:AbstractDQ_LogicalConsistency_Type" abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_LogicalConsistency_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_LogicalConsistency"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_Completeness_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_Completeness" type="gmd:AbstractDQ_Completeness_Type" abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_Completeness_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_Completeness"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractDQ_Element_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="nameOfMeasure" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="measureIdentification" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="measureDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="evaluationMethodType" type="gmd:DQ_EvaluationMethodTypeCode_PropertyType" minOccurs="0"/> + <xs:element name="evaluationMethodDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="evaluationProcedure" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="dateTime" type="gco:DateTime_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="result" type="gmd:DQ_Result_PropertyType" maxOccurs="2"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDQ_Element" type="gmd:AbstractDQ_Element_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_Element_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDQ_Element"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_DataQuality_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="scope" type="gmd:DQ_Scope_PropertyType"/> + <xs:element name="report" type="gmd:DQ_Element_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="lineage" type="gmd:LI_Lineage_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_DataQuality" type="gmd:DQ_DataQuality_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_DataQuality_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_DataQuality"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DQ_Scope_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="level" type="gmd:MD_ScopeCode_PropertyType"/> + <xs:element name="extent" type="gmd:EX_Extent_PropertyType" minOccurs="0"/> + <xs:element name="levelDescription" type="gmd:MD_ScopeDescription_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DQ_Scope" type="gmd:DQ_Scope_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_Scope_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_Scope"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="DQ_EvaluationMethodTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="DQ_EvaluationMethodTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DQ_EvaluationMethodTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/distribution.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/distribution.xsd new file mode 100644 index 00000000000..380cecab047 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/distribution.xsd @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This distribution.xsd schema implements the UML conceptual schema defined in A.2.10 of ISO 19115:2003. It contains the implementation of the following classes: MD_Medium, MD_DigitalTransferOptions, MD_StandardOrderProcess, MD_Distributor, MD_Distribution, MD_Format, MD_MediumFormatCode, MD_MediumNameCode.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_Medium_Type"> + <xs:annotation> + <xs:documentation>Information about the media on which the data can be distributed</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gmd:MD_MediumNameCode_PropertyType" minOccurs="0"/> + <xs:element name="density" type="gco:Real_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="densityUnits" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="volumes" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="mediumFormat" type="gmd:MD_MediumFormatCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="mediumNote" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Medium" type="gmd:MD_Medium_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Medium_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Medium"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_DigitalTransferOptions_Type"> + <xs:annotation> + <xs:documentation>Technical means and media by which a dataset is obtained from the distributor</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="unitsOfDistribution" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="transferSize" type="gco:Real_PropertyType" minOccurs="0"/> + <xs:element name="onLine" type="gmd:CI_OnlineResource_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="offLine" type="gmd:MD_Medium_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_DigitalTransferOptions" type="gmd:MD_DigitalTransferOptions_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DigitalTransferOptions_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DigitalTransferOptions"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_StandardOrderProcess_Type"> + <xs:annotation> + <xs:documentation>Common ways in which the dataset may be obtained or received, and related instructions and fee information</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fees" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="plannedAvailableDateTime" type="gco:DateTime_PropertyType" minOccurs="0"/> + <xs:element name="orderingInstructions" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="turnaround" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_StandardOrderProcess" type="gmd:MD_StandardOrderProcess_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_StandardOrderProcess_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_StandardOrderProcess"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Distributor_Type"> + <xs:annotation> + <xs:documentation>Information about the distributor</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="distributorContact" type="gmd:CI_ResponsibleParty_PropertyType"/> + <xs:element name="distributionOrderProcess" type="gmd:MD_StandardOrderProcess_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="distributorFormat" type="gmd:MD_Format_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="distributorTransferOptions" type="gmd:MD_DigitalTransferOptions_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Distributor" type="gmd:MD_Distributor_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Distributor_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Distributor"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Distribution_Type"> + <xs:annotation> + <xs:documentation>Information about the distributor of and options for obtaining the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="distributionFormat" type="gmd:MD_Format_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="distributor" type="gmd:MD_Distributor_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="transferOptions" type="gmd:MD_DigitalTransferOptions_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Distribution" type="gmd:MD_Distribution_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Distribution_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Distribution"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Format_Type"> + <xs:annotation> + <xs:documentation>Description of the form of the data to be distributed</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="version" type="gco:CharacterString_PropertyType"/> + <xs:element name="amendmentNumber" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="specification" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="fileDecompressionTechnique" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="formatDistributor" type="gmd:MD_Distributor_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Format" type="gmd:MD_Format_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Format_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Format"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_DistributionUnits" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DistributionUnits_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DistributionUnits"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_MediumFormatCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MediumFormatCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MediumFormatCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_MediumNameCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MediumNameCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MediumNameCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/extent.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/extent.xsd new file mode 100644 index 00000000000..363da1346c9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/extent.xsd @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This extent.xsd schema implements the UML conceptual schema defined in A.3.1 of ISO 19115:2003 and the associated corrigendum. It contains the implementation of the following classes: EX_TemporalExtent, EX_VerticalExtent, EX_BoundingPolygon, EX_Extent, EX_GeographicExtent, EX_GeographicBoundingBox, EX_SpatialTemporalExtent, EX_GeographicDescription.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gss" schemaLocation="../gss/gss.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gts" schemaLocation="../gts/gts.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gsr" schemaLocation="../gsr/gsr.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="referenceSystem.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="EX_TemporalExtent_Type"> + <xs:annotation> + <xs:documentation>Time period covered by the content of the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="extent" type="gts:TM_Primitive_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_TemporalExtent" type="gmd:EX_TemporalExtent_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_TemporalExtent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_TemporalExtent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_VerticalExtent_Type"> + <xs:annotation> + <xs:documentation>Vertical domain of dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="minimumValue" type="gco:Real_PropertyType"/> + <xs:element name="maximumValue" type="gco:Real_PropertyType"/> + <xs:element name="verticalCRS" type="gsr:SC_CRS_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_VerticalExtent" type="gmd:EX_VerticalExtent_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_VerticalExtent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_VerticalExtent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_BoundingPolygon_Type"> + <xs:annotation> + <xs:documentation>Boundary enclosing the dataset expressed as the closed set of (x,y) coordinates of the polygon (last point replicates first point)</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractEX_GeographicExtent_Type"> + <xs:sequence> + <xs:element name="polygon" type="gss:GM_Object_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_BoundingPolygon" type="gmd:EX_BoundingPolygon_Type" substitutionGroup="gmd:AbstractEX_GeographicExtent"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_BoundingPolygon_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_BoundingPolygon"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_Extent_Type"> + <xs:annotation> + <xs:documentation>Information about spatial, vertical, and temporal extent</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="geographicElement" type="gmd:EX_GeographicExtent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="temporalElement" type="gmd:EX_TemporalExtent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="verticalElement" type="gmd:EX_VerticalExtent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_Extent" type="gmd:EX_Extent_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_Extent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_Extent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractEX_GeographicExtent_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Geographic area of the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="extentTypeCode" type="gco:Boolean_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractEX_GeographicExtent" type="gmd:AbstractEX_GeographicExtent_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_GeographicExtent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractEX_GeographicExtent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_GeographicBoundingBox_Type"> + <xs:annotation> + <xs:documentation>Geographic area of the entire dataset referenced to WGS 84</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractEX_GeographicExtent_Type"> + <xs:sequence> + <xs:element name="westBoundLongitude" type="gco:Decimal_PropertyType"/> + <xs:element name="eastBoundLongitude" type="gco:Decimal_PropertyType"/> + <xs:element name="southBoundLatitude" type="gco:Decimal_PropertyType"/> + <xs:element name="northBoundLatitude" type="gco:Decimal_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_GeographicBoundingBox" type="gmd:EX_GeographicBoundingBox_Type" substitutionGroup="gmd:AbstractEX_GeographicExtent"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_GeographicBoundingBox_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_GeographicBoundingBox"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_SpatialTemporalExtent_Type"> + <xs:annotation> + <xs:documentation>Extent with respect to date and time</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:EX_TemporalExtent_Type"> + <xs:sequence> + <xs:element name="spatialExtent" type="gmd:EX_GeographicExtent_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_SpatialTemporalExtent" type="gmd:EX_SpatialTemporalExtent_Type" substitutionGroup="gmd:EX_TemporalExtent"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_SpatialTemporalExtent_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_SpatialTemporalExtent"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EX_GeographicDescription_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractEX_GeographicExtent_Type"> + <xs:sequence> + <xs:element name="geographicIdentifier" type="gmd:MD_Identifier_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EX_GeographicDescription" type="gmd:EX_GeographicDescription_Type" substitutionGroup="gmd:AbstractEX_GeographicExtent"/> + <!-- ........................................................................ --> + <xs:complexType name="EX_GeographicDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:EX_GeographicDescription"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/freeText.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/freeText.xsd new file mode 100644 index 00000000000..f55277029d9 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/freeText.xsd @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This freeText.xsd schema implements cultural and linguistic adaptability extensions defined in 7.3 of ISO/TS 19139:2007. This extension essentially formalizes the free text concept described in Annex J of ISO 19115:2003. For this reason, and in order to simplify the organization of overall geographic metadata XML schema, this schema has been included as part of the gmd namespace instead of the gmx namespace.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="identification.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="PT_FreeText_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="textGroup" type="gmd:LocalisedCharacterString_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PT_FreeText" type="gmd:PT_FreeText_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PT_FreeText_PropertyType"> + <xs:complexContent> + <xs:extension base="gco:CharacterString_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:PT_FreeText"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="PT_Locale_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="languageCode" type="gmd:LanguageCode_PropertyType"/> + <xs:element name="country" type="gmd:Country_PropertyType" minOccurs="0"/> + <xs:element name="characterEncoding" type="gmd:MD_CharacterSetCode_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PT_Locale" type="gmd:PT_Locale_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PT_Locale_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:PT_Locale"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LocalisedCharacterString_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="locale" type="xs:anyURI"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LocalisedCharacterString" type="gmd:LocalisedCharacterString_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="LocalisedCharacterString_PropertyType"> + <xs:complexContent> + <xs:extension base="gco:ObjectReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LocalisedCharacterString"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="PT_LocaleContainer_Type"> + <xs:sequence> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + <xs:element name="date" type="gmd:CI_Date_PropertyType" maxOccurs="unbounded"/> + <xs:element name="responsibleParty" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> + <xs:element name="localisedString" type="gmd:LocalisedCharacterString_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PT_LocaleContainer" type="gmd:PT_LocaleContainer_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PT_LocaleContainer_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:PT_LocaleContainer"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="LanguageCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="LanguageCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:LanguageCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="Country" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="Country_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:Country"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--====EOF====--> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/gmd.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/gmd.xsd new file mode 100644 index 00000000000..8037c8a9fac --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/gmd.xsd @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gmd="http://www.isotc211.org/2005/gmd" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="metadataApplication.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/identification.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/identification.xsd new file mode 100644 index 00000000000..15a9c3c8eab --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/identification.xsd @@ -0,0 +1,372 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This identification.xsd schema implements the UML conceptual schema defined in A.2.2 of ISO 19115:2003. It contains the implementation of the following classes: MD_Identification, MD_BrowseGraphic, MD_DataIdentification, MD_ServiceIdentification, MD_RepresentativeFraction, MD_Usage, MD_Keywords, DS_Association, MD_AggregateInformation, MD_CharacterSetCode, MD_SpatialRepresentationTypeCode, MD_TopicCategoryCode, MD_ProgressCode, MD_KeywordTypeCode, DS_AssociationTypeCode, DS_InitiativeTypeCode, MD_ResolutionType.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="constraints.xsd"/> + <xs:include schemaLocation="distribution.xsd"/> + <xs:include schemaLocation="maintenance.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="AbstractMD_Identification_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Basic information about data</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="citation" type="gmd:CI_Citation_PropertyType"/> + <xs:element name="abstract" type="gco:CharacterString_PropertyType"/> + <xs:element name="purpose" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="credit" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="status" type="gmd:MD_ProgressCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="pointOfContact" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="resourceMaintenance" type="gmd:MD_MaintenanceInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="graphicOverview" type="gmd:MD_BrowseGraphic_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="resourceFormat" type="gmd:MD_Format_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="descriptiveKeywords" type="gmd:MD_Keywords_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="resourceSpecificUsage" type="gmd:MD_Usage_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="resourceConstraints" type="gmd:MD_Constraints_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="aggregationInfo" type="gmd:MD_AggregateInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractMD_Identification" type="gmd:AbstractMD_Identification_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Identification_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractMD_Identification"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_BrowseGraphic_Type"> + <xs:annotation> + <xs:documentation>Graphic that provides an illustration of the dataset (should include a legend for the graphic)</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fileName" type="gco:CharacterString_PropertyType"/> + <xs:element name="fileDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="fileType" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_BrowseGraphic" type="gmd:MD_BrowseGraphic_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_BrowseGraphic_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_BrowseGraphic"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_DataIdentification_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_Identification_Type"> + <xs:sequence> + <xs:element name="spatialRepresentationType" type="gmd:MD_SpatialRepresentationTypeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="spatialResolution" type="gmd:MD_Resolution_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="language" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="characterSet" type="gmd:MD_CharacterSetCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="topicCategory" type="gmd:MD_TopicCategoryCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="environmentDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="extent" type="gmd:EX_Extent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="supplementalInformation" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_DataIdentification" type="gmd:MD_DataIdentification_Type" substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DataIdentification_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DataIdentification"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_ServiceIdentification_Type"> + <xs:annotation> + <xs:documentation>See 19119 for further info</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_Identification_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ServiceIdentification" type="gmd:MD_ServiceIdentification_Type" substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ServiceIdentification_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ServiceIdentification"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_RepresentativeFraction_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="denominator" type="gco:Integer_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_RepresentativeFraction" type="gmd:MD_RepresentativeFraction_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_RepresentativeFraction_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_RepresentativeFraction"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Usage_Type"> + <xs:annotation> + <xs:documentation>Brief description of ways in which the dataset is currently used.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="specificUsage" type="gco:CharacterString_PropertyType"/> + <xs:element name="usageDateTime" type="gco:DateTime_PropertyType" minOccurs="0"/> + <xs:element name="userDeterminedLimitations" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="userContactInfo" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Usage" type="gmd:MD_Usage_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Usage_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Usage"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Keywords_Type"> + <xs:annotation> + <xs:documentation>Keywords, their type and reference source</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="keyword" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="type" type="gmd:MD_KeywordTypeCode_PropertyType" minOccurs="0"/> + <xs:element name="thesaurusName" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Keywords" type="gmd:MD_Keywords_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Keywords_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Keywords"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Association_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Association" type="gmd:DS_Association_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Association_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Association"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_AggregateInformation_Type"> + <xs:annotation> + <xs:documentation>Encapsulates the dataset aggregation information</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="aggregateDataSetName" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="aggregateDataSetIdentifier" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="associationType" type="gmd:DS_AssociationTypeCode_PropertyType"/> + <xs:element name="initiativeType" type="gmd:DS_InitiativeTypeCode_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_AggregateInformation" type="gmd:MD_AggregateInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_AggregateInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_AggregateInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Resolution_Type"> + <xs:choice> + <xs:element name="equivalentScale" type="gmd:MD_RepresentativeFraction_PropertyType"/> + <xs:element name="distance" type="gco:Distance_PropertyType"/> + </xs:choice> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Resolution" type="gmd:MD_Resolution_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Resolution_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Resolution"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="MD_TopicCategoryCode_Type"> + <xs:annotation> + <xs:documentation>High-level geospatial data thematic classification to assist in the grouping and search of available geospatial datasets</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + + <xs:enumeration value="farming"/> + <xs:enumeration value="biota"/> + <xs:enumeration value="boundaries"/> + <xs:enumeration value="climatologyMeteorologyAtmosphere"/> + <xs:enumeration value="economy"/> + <xs:enumeration value="elevation"/> + <xs:enumeration value="environment"/> + <xs:enumeration value="environment_EnvironmentalProtection"/> + <xs:enumeration value="environment_NatureProtection"/> + <xs:enumeration value="geoscientificInformation"/> + <xs:enumeration value="geoscientificInformation_Geology"/> + <xs:enumeration value="geoscientificInformation_Soils"/> + <xs:enumeration value="geoscientificInformation_NaturalHazards"/> + <xs:enumeration value="health"/> + <xs:enumeration value="imageryBaseMapsEarthCover"/> + <xs:enumeration value="imageryBaseMapsEarthCover_BaseMaps"/> + <xs:enumeration value="imageryBaseMapsEarthCover_EarthCover"/> + <xs:enumeration value="imageryBaseMapsEarthCover_Imagery"/> + <xs:enumeration value="intelligenceMilitary"/> + <xs:enumeration value="intelligenceMilitary_R1"/> + <xs:enumeration value="intelligenceMilitary_R2"/> + <xs:enumeration value="intelligenceMilitary_R3"/> + <xs:enumeration value="intelligenceMilitary_R4"/> + <xs:enumeration value="intelligenceMilitary_R5"/> + <xs:enumeration value="intelligenceMilitary_R6"/> + <xs:enumeration value="intelligenceMilitary_R7"/> + <xs:enumeration value="intelligenceMilitary_R8"/> + <xs:enumeration value="intelligenceMilitary_R9"/> + <xs:enumeration value="inlandWaters"/> + <xs:enumeration value="location"/> + <xs:enumeration value="oceans"/> + <xs:enumeration value="planningCadastre"/> + <xs:enumeration value="planningCadastre_Planning"/> + <xs:enumeration value="planningCadastre_Cadastre"/> + <xs:enumeration value="society"/> + <xs:enumeration value="structure"/> + <xs:enumeration value="transportation"/> + <xs:enumeration value="utilitiesCommunication"/> + <xs:enumeration value="utilitiesCommunication_Energy"/> + <xs:enumeration value="utilitiesCommunication_Utilities"/> + <xs:enumeration value="utilitiesCommunication_Communication"/> + </xs:restriction> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="MD_TopicCategoryCode" type="gmd:MD_TopicCategoryCode_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_TopicCategoryCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_TopicCategoryCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_CharacterSetCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_CharacterSetCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_CharacterSetCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_SpatialRepresentationTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_SpatialRepresentationTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_SpatialRepresentationTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_ProgressCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ProgressCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ProgressCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_KeywordTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_KeywordTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_KeywordTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="DS_AssociationTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_AssociationTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_AssociationTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="DS_InitiativeTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_InitiativeTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_InitiativeTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/maintenance.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/maintenance.xsd new file mode 100644 index 00000000000..9e7236938c6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/maintenance.xsd @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This maintenance.xsd schema implements the UML conceptual schema defined in A.2.5 of ISO 19115:2003. It contains the implementation of the following classes: MD_MaintenanceInformation, MD_MaintenanceFrequencyCode, MD_ScopeCode, MD_ScopeDescription.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gts" schemaLocation="../gts/gts.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_MaintenanceInformation_Type"> + <xs:annotation> + <xs:documentation>Information about the scope and frequency of updating</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="maintenanceAndUpdateFrequency" type="gmd:MD_MaintenanceFrequencyCode_PropertyType"/> + <xs:element name="dateOfNextUpdate" type="gco:Date_PropertyType" minOccurs="0"/> + <xs:element name="userDefinedMaintenanceFrequency" type="gts:TM_PeriodDuration_PropertyType" minOccurs="0"/> + <xs:element name="updateScope" type="gmd:MD_ScopeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="updateScopeDescription" type="gmd:MD_ScopeDescription_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="maintenanceNote" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="contact" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_MaintenanceInformation" type="gmd:MD_MaintenanceInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MaintenanceInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MaintenanceInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_ScopeDescription_Type"> + <xs:annotation> + <xs:documentation>Description of the class of information covered by the information</xs:documentation> + </xs:annotation> + <xs:choice> + <xs:element name="attributes" type="gco:ObjectReference_PropertyType" maxOccurs="unbounded"/> + <xs:element name="features" type="gco:ObjectReference_PropertyType" maxOccurs="unbounded"/> + <xs:element name="featureInstances" type="gco:ObjectReference_PropertyType" maxOccurs="unbounded"/> + <xs:element name="attributeInstances" type="gco:ObjectReference_PropertyType" maxOccurs="unbounded"/> + <xs:element name="dataset" type="gco:CharacterString_PropertyType"/> + <xs:element name="other" type="gco:CharacterString_PropertyType"/> + </xs:choice> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ScopeDescription" type="gmd:MD_ScopeDescription_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ScopeDescription_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ScopeDescription"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_MaintenanceFrequencyCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MaintenanceFrequencyCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MaintenanceFrequencyCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_ScopeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ScopeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ScopeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataApplication.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataApplication.xsd new file mode 100644 index 00000000000..14429199e96 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataApplication.xsd @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This metadataApplication.xsd schema implements the UML conceptual schema defined in A.2.12 of ISO 19115:2003. It contains the implementation of the class: MD_ApplicationSchemaInformation.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="metadataEntity.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="AbstractDS_Aggregate_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Identifiable collection of datasets</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="composedOf" type="gmd:DS_DataSet_PropertyType" maxOccurs="unbounded"/> + <xs:element name="seriesMetadata" type="gmd:MD_Metadata_PropertyType" maxOccurs="unbounded"/> + <xs:element name="subset" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="superset" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractDS_Aggregate" type="gmd:AbstractDS_Aggregate_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Aggregate_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractDS_Aggregate"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_DataSet_Type"> + <xs:annotation> + <xs:documentation>Identifiable collection of data</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="has" type="gmd:MD_Metadata_PropertyType" maxOccurs="unbounded"/> + <xs:element name="partOf" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_DataSet" type="gmd:DS_DataSet_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_DataSet_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_DataSet"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_OtherAggregate_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDS_Aggregate_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_OtherAggregate" type="gmd:DS_OtherAggregate_Type" substitutionGroup="gmd:AbstractDS_Aggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_OtherAggregate_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_OtherAggregate"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Series_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDS_Aggregate_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Series" type="gmd:DS_Series_Type" substitutionGroup="gmd:AbstractDS_Aggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Series_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Series"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Initiative_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDS_Aggregate_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Initiative" type="gmd:DS_Initiative_Type" substitutionGroup="gmd:AbstractDS_Aggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Initiative_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Initiative"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Platform_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_Series_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Platform" type="gmd:DS_Platform_Type" substitutionGroup="gmd:DS_Series"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Platform_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Platform"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_Sensor_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_Series_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_Sensor" type="gmd:DS_Sensor_Type" substitutionGroup="gmd:DS_Series"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_Sensor_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_Sensor"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_ProductionSeries_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_Series_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_ProductionSeries" type="gmd:DS_ProductionSeries_Type" substitutionGroup="gmd:DS_Series"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_ProductionSeries_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_ProductionSeries"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DS_StereoMate_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_OtherAggregate_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DS_StereoMate" type="gmd:DS_StereoMate_Type" substitutionGroup="gmd:DS_OtherAggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="DS_StereoMate_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:DS_StereoMate"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataEntity.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataEntity.xsd new file mode 100644 index 00000000000..d0ae0bf288d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataEntity.xsd @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This metadataEntity.xsd schema implements the UML conceptual schema defined in A.2.1 of ISO 19115:2003. It contains the implementation of the class MD_Metadata.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="spatialRepresentation.xsd"/> + <xs:include schemaLocation="metadataExtension.xsd"/> + <xs:include schemaLocation="content.xsd"/> + <xs:include schemaLocation="metadataApplication.xsd"/> + <xs:include schemaLocation="applicationSchema.xsd"/> + <xs:include schemaLocation="portrayalCatalogue.xsd"/> + <xs:include schemaLocation="dataQuality.xsd"/> + <xs:include schemaLocation="freeText.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_Metadata_Type"> + <xs:annotation> + <xs:documentation>Information about the metadata</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fileIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="language" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="characterSet" type="gmd:MD_CharacterSetCode_PropertyType" minOccurs="0"/> + <xs:element name="parentIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="hierarchyLevel" type="gmd:MD_ScopeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="hierarchyLevelName" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="contact" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> + <xs:element name="dateStamp" type="gco:Date_PropertyType"/> + <xs:element name="metadataStandardName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="metadataStandardVersion" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="dataSetURI" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="spatialRepresentationInfo" type="gmd:MD_SpatialRepresentation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="referenceSystemInfo" type="gmd:MD_ReferenceSystem_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="metadataExtensionInfo" type="gmd:MD_MetadataExtensionInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="identificationInfo" type="gmd:MD_Identification_PropertyType" maxOccurs="unbounded"/> + <xs:element name="contentInfo" type="gmd:MD_ContentInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="distributionInfo" type="gmd:MD_Distribution_PropertyType" minOccurs="0"/> + <xs:element name="dataQualityInfo" type="gmd:DQ_DataQuality_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="portrayalCatalogueInfo" type="gmd:MD_PortrayalCatalogueReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="metadataConstraints" type="gmd:MD_Constraints_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="applicationSchemaInfo" type="gmd:MD_ApplicationSchemaInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="metadataMaintenance" type="gmd:MD_MaintenanceInformation_PropertyType" minOccurs="0"/> + <xs:element name="series" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="describes" type="gmd:DS_DataSet_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="propertyType" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="featureType" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="featureAttribute" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Metadata" type="gmd:MD_Metadata_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Metadata_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Metadata"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataExtension.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataExtension.xsd new file mode 100644 index 00000000000..665740a4e61 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/metadataExtension.xsd @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This metadataExtension.xsd schema implements the UML conceptual schema defined in A.2.11 of ISO 19115:2003. It contains the implementation of the following classes: MD_ExtendedElementInformation, MD_MetadataExtensionInformation, MD_ObligationCode, MD_DatatypeCode.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_ExtendedElementInformation_Type"> + <xs:annotation> + <xs:documentation>New metadata element, not found in ISO 19115, which is required to describe geographic data</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="shortName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="domainCode" type="gco:Integer_PropertyType" minOccurs="0"/> + <xs:element name="definition" type="gco:CharacterString_PropertyType"/> + <xs:element name="obligation" type="gmd:MD_ObligationCode_PropertyType" minOccurs="0"/> + <xs:element name="condition" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="dataType" type="gmd:MD_DatatypeCode_PropertyType"/> + <xs:element name="maximumOccurrence" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="domainValue" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="parentEntity" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="rule" type="gco:CharacterString_PropertyType"/> + <xs:element name="rationale" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="source" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ExtendedElementInformation" type="gmd:MD_ExtendedElementInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ExtendedElementInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ExtendedElementInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_MetadataExtensionInformation_Type"> + <xs:annotation> + <xs:documentation>Information describing metadata extensions.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="extensionOnLineResource" type="gmd:CI_OnlineResource_PropertyType" minOccurs="0"/> + <xs:element name="extendedElementInformation" type="gmd:MD_ExtendedElementInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_MetadataExtensionInformation" type="gmd:MD_MetadataExtensionInformation_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_MetadataExtensionInformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_MetadataExtensionInformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="MD_ObligationCode_Type"> + <xs:restriction base="xs:string"> + <xs:enumeration value="mandatory"/> + <xs:enumeration value="optional"/> + <xs:enumeration value="conditional"/> + </xs:restriction> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="MD_ObligationCode" type="gmd:MD_ObligationCode_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ObligationCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ObligationCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_DatatypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DatatypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DatatypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/portrayalCatalogue.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/portrayalCatalogue.xsd new file mode 100644 index 00000000000..5cf370d0e12 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/portrayalCatalogue.xsd @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This portrayalCatalogue.xsd schema implements the UML conceptual schema defined in A.2.9 of ISO 19115:2003. It contains the implementation of the class MD_PortrayalCatalogueReference.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_PortrayalCatalogueReference_Type"> + <xs:annotation> + <xs:documentation>Information identifing the portrayal catalogue used</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="portrayalCatalogueCitation" type="gmd:CI_Citation_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_PortrayalCatalogueReference" type="gmd:MD_PortrayalCatalogueReference_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_PortrayalCatalogueReference_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_PortrayalCatalogueReference"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/referenceSystem.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/referenceSystem.xsd new file mode 100644 index 00000000000..b6abd587230 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/referenceSystem.xsd @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This referenceSystem.xsd schema implements the UML conceptual schema defined in A.2.7 of ISO 19115:2003 and ISO 19115:2003/Cor. 1:2006. It contains the implementation of the following classes: RS_Identifier, MD_ReferenceSystem, MD_Identifier and RS_Reference System.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="citation.xsd"/> + <xs:include schemaLocation="extent.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="RS_Identifier_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_Identifier_Type"> + <xs:sequence> + <xs:element name="codeSpace" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="version" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="RS_Identifier" type="gmd:RS_Identifier_Type" substitutionGroup="gmd:MD_Identifier"/> + <!-- ........................................................................ --> + <xs:complexType name="RS_Identifier_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:RS_Identifier"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_ReferenceSystem_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="referenceSystemIdentifier" type="gmd:RS_Identifier_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_ReferenceSystem" type="gmd:MD_ReferenceSystem_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_ReferenceSystem_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_ReferenceSystem"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Identifier_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="authority" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="code" type="gco:CharacterString_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Identifier" type="gmd:MD_Identifier_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Identifier_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Identifier"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractRS_ReferenceSystem_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Description of the spatial and temporal reference systems used in the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gmd:RS_Identifier_PropertyType"/> + <xs:element name="domainOfValidity" type="gmd:EX_Extent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractRS_ReferenceSystem" type="gmd:AbstractRS_ReferenceSystem_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="RS_ReferenceSystem_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractRS_ReferenceSystem"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/spatialRepresentation.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/spatialRepresentation.xsd new file mode 100644 index 00000000000..34e0f230819 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmd/spatialRepresentation.xsd @@ -0,0 +1,238 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This portrayalCatalogue.xsd schema implements the UML conceptual schema defined in A.2.6 of ISO 19115:2003. It contains the implementation of the following classes: MD_GridSpatialRepresentation, MD_VectorSpatialRepresentation, MD_SpatialRepresentation, MD_Georeferenceable, MD_Dimension, MD_Georectified, MD_GeometricObjects, MD_TopologyLevelCode, MD_GeometricObjectTypeCode, MD_CellGeometryCode, MD_DimensionNameTypeCode, MD_PixelOrientationCode.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gss" schemaLocation="../gss/gss.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gmd.xsd"/> + <xs:include schemaLocation="citation.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MD_GridSpatialRepresentation_Type"> + <xs:annotation> + <xs:documentation>Types and numbers of raster spatial objects in the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_SpatialRepresentation_Type"> + <xs:sequence> + <xs:element name="numberOfDimensions" type="gco:Integer_PropertyType"/> + <xs:element name="axisDimensionProperties" type="gmd:MD_Dimension_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="cellGeometry" type="gmd:MD_CellGeometryCode_PropertyType"/> + <xs:element name="transformationParameterAvailability" type="gco:Boolean_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_GridSpatialRepresentation" type="gmd:MD_GridSpatialRepresentation_Type" substitutionGroup="gmd:AbstractMD_SpatialRepresentation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_GridSpatialRepresentation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_GridSpatialRepresentation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_VectorSpatialRepresentation_Type"> + <xs:annotation> + <xs:documentation>Information about the vector spatial objects in the dataset</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_SpatialRepresentation_Type"> + <xs:sequence> + <xs:element name="topologyLevel" type="gmd:MD_TopologyLevelCode_PropertyType" minOccurs="0"/> + <xs:element name="geometricObjects" type="gmd:MD_GeometricObjects_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_VectorSpatialRepresentation" type="gmd:MD_VectorSpatialRepresentation_Type" substitutionGroup="gmd:AbstractMD_SpatialRepresentation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_VectorSpatialRepresentation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_VectorSpatialRepresentation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractMD_SpatialRepresentation_Type" abstract="true"> + <xs:annotation> + <xs:documentation>Digital mechanism used to represent spatial information</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractMD_SpatialRepresentation" type="gmd:AbstractMD_SpatialRepresentation_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_SpatialRepresentation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:AbstractMD_SpatialRepresentation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Georeferenceable_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_GridSpatialRepresentation_Type"> + <xs:sequence> + <xs:element name="controlPointAvailability" type="gco:Boolean_PropertyType"/> + <xs:element name="orientationParameterAvailability" type="gco:Boolean_PropertyType"/> + <xs:element name="orientationParameterDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="georeferencedParameters" type="gco:Record_PropertyType"/> + <xs:element name="parameterCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Georeferenceable" type="gmd:MD_Georeferenceable_Type" substitutionGroup="gmd:MD_GridSpatialRepresentation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Georeferenceable_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Georeferenceable"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Dimension_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="dimensionName" type="gmd:MD_DimensionNameTypeCode_PropertyType"/> + <xs:element name="dimensionSize" type="gco:Integer_PropertyType"/> + <xs:element name="resolution" type="gco:Measure_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Dimension" type="gmd:MD_Dimension_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Dimension_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Dimension"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_Georectified_Type"> + <xs:complexContent> + <xs:extension base="gmd:MD_GridSpatialRepresentation_Type"> + <xs:sequence> + <xs:element name="checkPointAvailability" type="gco:Boolean_PropertyType"/> + <xs:element name="checkPointDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="cornerPoints" type="gss:GM_Point_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="centerPoint" type="gss:GM_Point_PropertyType" minOccurs="0"/> + <xs:element name="pointInPixel" type="gmd:MD_PixelOrientationCode_PropertyType"/> + <xs:element name="transformationDimensionDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="transformationDimensionMapping" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="2"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_Georectified" type="gmd:MD_Georectified_Type" substitutionGroup="gmd:MD_GridSpatialRepresentation"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_Georectified_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_Georectified"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MD_GeometricObjects_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="geometricObjectType" type="gmd:MD_GeometricObjectTypeCode_PropertyType"/> + <xs:element name="geometricObjectCount" type="gco:Integer_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MD_GeometricObjects" type="gmd:MD_GeometricObjects_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_GeometricObjects_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_GeometricObjects"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="MD_PixelOrientationCode_Type"> + <xs:restriction base="xs:string"> + <xs:enumeration value="center"/> + <xs:enumeration value="lowerLeft"/> + <xs:enumeration value="lowerRight"/> + <xs:enumeration value="upperRight"/> + <xs:enumeration value="upperLeft"/> + </xs:restriction> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="MD_PixelOrientationCode" type="gmd:MD_PixelOrientationCode_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_PixelOrientationCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_PixelOrientationCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_TopologyLevelCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_TopologyLevelCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_TopologyLevelCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_GeometricObjectTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_GeometricObjectTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_GeometricObjectTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_CellGeometryCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_CellGeometryCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_CellGeometryCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MD_DimensionNameTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MD_DimensionNameTypeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmd:MD_DimensionNameTypeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmi/gmi.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmi/gmi.xsd new file mode 100644 index 00000000000..aaf487a9281 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmi/gmi.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.isotc211.org/2005/gmi" + elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 02-15-2006 17:48:58 ====== + </xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="imageryDataQuality.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmi/imageryDataQuality.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmi/imageryDataQuality.xsd new file mode 100644 index 00000000000..1623451e433 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmi/imageryDataQuality.xsd @@ -0,0 +1,243 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by STEPHANE BIDAULT (I.G.N/SAF/RECEPTIONS) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gmi="http://www.isotc211.org/2005/gmi" + targetNamespace="http://www.isotc211.org/2005/gmi" elementFormDefault="qualified" version="0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 02-15-2006 17:48:57 ====== Name: + Lineage - Position: 2 + </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:import namespace="http://www.isotc211.org/2005/gmx" schemaLocation="../gmx/gmx.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="LE_Algorithm_Type"> + <xs:annotation> + <xs:documentation>Description: Details of the methodology by which geographic information was derived from the + instrument readings - FGDC: Algorithm_Information - shortName: Algorithm + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="citation" type="gmd:CI_Citation_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LE_Algorithm" type="gmi:LE_Algorithm_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LE_Algorithm_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_Algorithm"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LE_Processing_Type"> + <xs:annotation> + <xs:documentation>Description: Comprehensive information about the procedure(s), process(es) and algorithm(s) + applied in the process step - shortName: Procsg + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="identifier" type="gmd:MD_Identifier_PropertyType"/> + <xs:element name="softwareReference" type="gmd:CI_Citation_PropertyType" minOccurs="0"/> + <xs:element name="procedureDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="documentation" type="gmd:CI_Citation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="runTimeParameters" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="algorithm" type="gmi:LE_Algorithm_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LE_Processing" type="gmi:LE_Processing_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LE_Processing_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_Processing"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LE_Source_Type"> + <xs:annotation> + <xs:documentation>Description: information on source of data sets for processing step - shortName: SrcDataset + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:LI_Source_Type"> + <xs:sequence> + <xs:element name="processedLevel" type="gmd:MD_Identifier_PropertyType" minOccurs="0"/> + <xs:element name="resolution" type="gmi:LE_NominalResolution_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- NOT DEFINED IN GM03........................................................................ + <xs:element name="LE_Source" type="gmi:LE_Source_Type" substitutionGroup="gmd:LI_Source"/>--> + <!-- ........................................................................ + <xs:complexType name="LE_Source_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_Source"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType>--> + <!-- =========================================================================== --> + <xs:complexType name="LE_ProcessStep_Type"> + <xs:annotation> + <xs:documentation>Description: Information about an event or transformation in the life of the dataset including + details of the algorithm and software used for processing - FGDC: - shortName: DetailProcStep + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:LI_ProcessStep_Type"> + <xs:sequence> + <xs:element name="processingInformation" type="gmi:LE_Processing_PropertyType" minOccurs="0"/> + <!--<xs:element name="output" type="gmi:LE_Source_PropertyType" minOccurs="0" maxOccurs="unbounded"/>--> + <xs:element name="report" type="gmi:LE_ProcessStepReport_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- NOT DEFINED IN GM03 ........................................................................ + <xs:element name="LE_ProcessStep" type="gmi:LE_ProcessStep_Type" substitutionGroup="gmd:LI_ProcessStep"/>--> + <!-- ........................................................................ + <xs:complexType name="LE_ProcessStep_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_ProcessStep"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType>--> + <!-- =========================================================================== --> + <xs:complexType name="LE_ProcessStepReport_Type"> + <xs:annotation> + <xs:documentation>Description: Report of what occured during the process step - shortName: ProcStepRep + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="fileType" type="gco:CharacterString_PropertyType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LE_ProcessStepReport" type="gmi:LE_ProcessStepReport_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LE_ProcessStepReport_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_ProcessStepReport"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="QE_CoverageResult_Type"> + <xs:annotation> + <xs:documentation>Description: Result of a data quality measure organising the measured values as a coverage - + shortName: CoverageResult + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Result_Type"> + <xs:sequence> + <xs:element name="spatialRepresentationType" type="gmd:MD_SpatialRepresentationTypeCode_PropertyType"/> + <xs:element name="resultSpatialRepresentation" type="gmd:MD_SpatialRepresentation_PropertyType"/> + <xs:element name="resultContentDescription" type="gmd:MD_CoverageDescription_PropertyType"/> + <xs:element name="resultFormat" type="gmd:MD_Format_PropertyType"/> + <xs:element name="resultFile" type="gmx:MX_DataFile_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="QE_CoverageResult" type="gmi:QE_CoverageResult_Type" substitutionGroup="gmd:AbstractDQ_Result"/> + <!-- ........................................................................ --> + <xs:complexType name="QE_CoverageResult_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:QE_CoverageResult"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MX_DataFile_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fileFormat" type="gmd:MD_Format_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_DataFile" type="gmx:MX_DataFile_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_DataFile_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_DataFile"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="QE_Usability_Type"> + <xs:annotation> + <xs:documentation>Description: to: degree of adherence of a dataset to a specific set of user requirements - + shortName: Usability + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmd:AbstractDQ_Element_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="QE_Usability" type="gmi:QE_Usability_Type" substitutionGroup="gmd:AbstractDQ_Element"/> + <!-- ........................................................................ --> + <xs:complexType name="QE_Usability_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:QE_Usability"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="LE_NominalResolution_Type"> + <xs:annotation> + <xs:documentation>Description: Distance between adjacent pixels - shortName: nomRes</xs:documentation> + </xs:annotation> + <xs:choice> + <xs:element name="scanningResolution" type="gco:Distance_PropertyType"/> + <xs:element name="groundResolution" type="gco:Distance_PropertyType"/> + </xs:choice> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="LE_NominalResolution" type="gmi:LE_NominalResolution_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="LE_NominalResolution_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmi:LE_NominalResolution"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/SchematronConstraints.xml b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/SchematronConstraints.xml new file mode 100644 index 00000000000..6cfd40f1970 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/SchematronConstraints.xml @@ -0,0 +1,71 @@ +<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en"> + <sch:title>Schematron constraints for GML / ISO 19136</sch:title> + <sch:ns prefix="sch" uri="http://purl.oclc.org/dsdl/schematron"/> + <sch:ns prefix="gml" uri="http://www.opengis.net/gml/3.2"/> + <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> + <sch:pattern> + <sch:rule context="gml:ValueArray"> + <sch:assert test="not(@codeSpace and @uom)">ValueArray may not carry both a reference to a codeSpace and a uom</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:ValueArray"> + <sch:assert test="count(gml:valueComponent/*) = count(gml:valueComponent/*[name() = name(../../gml:valueComponent[1]/*[1])])">All components shall be of the same type</sch:assert> + <sch:assert test="count(gml:valueComponents/*) = count(gml:valueComponents/*[name() = name(../*[1])])">All components shall be of the same type</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:pos"> + <sch:assert test="not(@srsDimension) or @srsName">The presence of a dimension attribute implies the presence of the srsName attribute.</sch:assert> + <sch:assert test="not(@axisLabels) or @srsName">The presence of an axisLabels attribute implies the presence of the srsName attribute.</sch:assert> + <sch:assert test="not(@uomLabels) or @srsName">The presence of an uomLabels attribute implies the presence of the srsName attribute.</sch:assert> + <sch:assert test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)">The presence of an uomLabels attribute implies the presence of the axisLabels attribute and vice versa.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:PolyhedralSurface"> + <sch:assert test="count(gml:patches/*)=count(gml:patches/gml:PolygonPatch)">All patches shall be gml:PolygonPatch elements or an element in the substitution group of gml:PolygonPatch. Note that the test currently does not identify substitutable elements correctly, this will require the use of XPath 2 in the future.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:TriangulatedSurface"> + <sch:assert test="count(gml:patches/*)=count(gml:patches/gml:Triangle)">All patches shall be gml:Triangle elements or an element in the substitution group of gml:PolygonPatch. Note that the test currently does not identify substitutable elements correctly, this will require the use of XPath 2 in the future.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:abstractStrictAssociationRole"> + <sch:assert test="not(@xlink:href and (*|text()))">Property element may not carry both a reference to an object and contain an object.</sch:assert> + <sch:assert test="@xlink:href | (*|text())">Property element shall either carry a reference to an object or contain an object.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:MultiPointDomain"> + <sch:assert test="count(gml:domainSet/*)=count(gml:domainSet/gml:MultiPoint)">All values in the domain set shall be gml:MultiPoint elements or an element in its substitution group. Note that the test currently does not identify substitutable elements correctly, this will require the use of XPath 2 in the future.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:MultiCurveDomain"> + <sch:assert test="count(gml:domainSet/*)=count(gml:domainSet/gml:MultiCurve)">All values in the domain set shall be gml:MultiCurve elements or an element in its substitution group. Note that the test currently does not identify substitutable elements correctly, this will require the use of XPath 2 in the future.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:MultiSurfaceDomain"> + <sch:assert test="count(gml:domainSet/*)=count(gml:domainSet/gml:MultiSurface)">All values in the domain set shall be gml:MultiSurface elements or an element in its substitution group. Note that the test currently does not identify substitutable elements correctly, this will require the use of XPath 2 in the future.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:MultiSolidDomain"> + <sch:assert test="count(gml:domainSet/*)=count(gml:domainSet/gml:MultiSolid)">All values in the domain set shall be gml:MultiSolid elements or an element in its substitution group. Note that the test currently does not identify substitutable elements correctly, this will require the use of XPath 2 in the future.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:GridDomain"> + <sch:assert test="count(gml:domainSet/*)=count(gml:domainSet/gml:Grid)">All values in the domain set shall be gml:Grid elements or an element in its substitution group. Note that the test currently does not identify substitutable elements correctly, this will require the use of XPath 2 in the future.</sch:assert> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:rule context="gml:RectifiedGridDomain"> + <sch:assert test="count(gml:domainSet/*)=count(gml:domainSet/gml:RectifiedGrid)">All values in the domain set shall be gml:RectifiedGrid elements or an element in its substitution group. Note that the test currently does not identify substitutable elements correctly, this will require the use of XPath 2 in the future.</sch:assert> + </sch:rule> + </sch:pattern> +</sch:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/basicTypes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/basicTypes.xsd new file mode 100644 index 00000000000..d6ffd5f6a19 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/basicTypes.xsd @@ -0,0 +1,268 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:basicTypes:3.2.1">basicTypes.xsd</appinfo> + <documentation>See ISO/DIS 19136 8.2. +W3C XML Schema provides a set of built-in "simple" types which define methods for representing values as literals without internal markup. These are described in W3C XML Schema Part 2:2001. Because GML is an XML encoding in which instances are described using XML Schema, these simple types shall be used as far as possible and practical for the representation of data types. W3C XML Schema also provides methods for defining +- new simple types by restriction and combination of the built-in types, and +- complex types, with simple content, but which also have XML attributes. +In many places where a suitable built-in simple type is not available, simple content types derived using the XML Schema mechanisms are used for the representation of data types in GML. +A set of these simple content types that are required by several GML components are defined in the basicTypes schema, as well as some elements based on them. These are primarily based around components needed to record amounts, counts, flags and terms, together with support for exceptions or null values. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <simpleType name="NilReasonType"> + <annotation> + <documentation>gml:NilReasonType defines a content model that allows recording of an explanation for a void value or other exception. +gml:NilReasonType is a union of the following enumerated values: +- inapplicable there is no value +- missing the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist +- template the value will be available later +- unknown the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists +- withheld the value is not divulged +- other:text other brief explanation, where text is a string of two or more characters with no included spaces +and +- anyURI which should refer to a resource which describes the reason for the exception +A particular community may choose to assign more detailed semantics to the standard values provided. Alternatively, the URI method enables a specific or more complete explanation for the absence of a value to be provided elsewhere and indicated by-reference in an instance document. +gml:NilReasonType is used as a member of a union in a number of simple content types where it is necessary to permit a value from the NilReasonType union as an alternative to the primary type.</documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration anyURI"/> + </simpleType> + <simpleType name="NilReasonEnumeration"> + <union> + <simpleType> + <restriction base="string"> + <enumeration value="inapplicable"/> + <enumeration value="missing"/> + <enumeration value="template"/> + <enumeration value="unknown"/> + <enumeration value="withheld"/> + </restriction> + </simpleType> + <simpleType> + <restriction base="string"> + <pattern value="other:\w{2,}"/> + </restriction> + </simpleType> + </union> + </simpleType> + <simpleType name="SignType"> + <annotation> + <documentation>gml:SignType is a convenience type with values "+" (plus) and "-" (minus).</documentation> + </annotation> + <restriction base="string"> + <enumeration value="-"/> + <enumeration value="+"/> + </restriction> + </simpleType> + <simpleType name="booleanOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration boolean anyURI"/> + </simpleType> + <simpleType name="doubleOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration double anyURI"/> + </simpleType> + <simpleType name="integerOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration integer anyURI"/> + </simpleType> + <simpleType name="NameOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration Name anyURI"/> + </simpleType> + <simpleType name="stringOrNilReason"> + <annotation> + <documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation> + </annotation> + <union memberTypes="gml:NilReasonEnumeration string anyURI"/> + </simpleType> + <complexType name="CodeType"> + <annotation> + <documentation>gml:CodeType is a generalized type to be used for a term, keyword or name. +It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term.</documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attribute name="codeSpace" type="anyURI"/> + </extension> + </simpleContent> + </complexType> + <complexType name="CodeWithAuthorityType"> + <annotation> + <documentation>gml:CodeWithAuthorityType requires that the codeSpace attribute is provided in an instance.</documentation> + </annotation> + <simpleContent> + <restriction base="gml:CodeType"> + <attribute name="codeSpace" type="anyURI" use="required"/> + </restriction> + </simpleContent> + </complexType> + <complexType name="MeasureType"> + <annotation> + <documentation>gml:MeasureType supports recording an amount encoded as a value of XML Schema double, together with a units of measure indicated by an attribute uom, short for "units Of measure". The value of the uom attribute identifies a reference system for the amount, usually a ratio or interval scale.</documentation> + </annotation> + <simpleContent> + <extension base="double"> + <attribute name="uom" type="gml:UomIdentifier" use="required"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="UomIdentifier"> + <annotation> + <documentation>The simple type gml:UomIdentifer defines the syntax and value space of the unit of measure identifier.</documentation> + </annotation> + <union memberTypes="gml:UomSymbol gml:UomURI"/> + </simpleType> + <simpleType name="UomSymbol"> + <annotation> + <documentation>This type specifies a character string of length at least one, and restricted such that it must not contain any of the following characters: ":" (colon), " " (space), (newline), (carriage return), (tab). This allows values corresponding to familiar abbreviations, such as "kg", "m/s", etc. +It is recommended that the symbol be an identifier for a unit of measure as specified in the "Unified Code of Units of Measure" (UCUM) (http://aurora.regenstrief.org/UCUM). This provides a set of symbols and a grammar for constructing identifiers for units of measure that are unique, and may be easily entered with a keyboard supporting the limited character set known as 7-bit ASCII. ISO 2955 formerly provided a specification with this scope, but was withdrawn in 2001. UCUM largely follows ISO 2955 with modifications to remove ambiguities and other problems.</documentation> + </annotation> + <restriction base="string"> + <pattern value="[^: \n\r\t]+"/> + </restriction> + </simpleType> + <simpleType name="UomURI"> + <annotation> + <documentation>This type specifies a URI, restricted such that it must start with one of the following sequences: "#", "./", "../", or a string of characters followed by a ":". These patterns ensure that the most common URI forms are supported, including absolute and relative URIs and URIs that are simple fragment identifiers, but prohibits certain forms of relative URI that could be mistaken for unit of measure symbol . +NOTE It is possible to re-write such a relative URI to conform to the restriction (e.g. "./m/s"). +In an instance document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a value corresponding to either +- a conventional unit of measure symbol, +- a link to a definition of a unit of measure that does not have a conventional symbol, or when it is desired to indicate a precise or variant definition.</documentation> + </annotation> + <restriction base="anyURI"> + <pattern value="([a-zA-Z][a-zA-Z0-9\-\+\.]*:|\.\./|\./|#).*"/> + </restriction> + </simpleType> + <complexType name="CoordinatesType"> + <annotation> + <documentation>This type is deprecated for tuples with ordinate values that are numbers. +CoordinatesType is a text string, intended to be used to record an array of tuples or coordinates. +While it is not possible to enforce the internal structure of the string through schema validation, some optional attributes have been provided in previous versions of GML to support a description of the internal structure. These attributes are deprecated. The attributes were intended to be used as follows: +Decimal symbol used for a decimal point (default="." a stop or period) +cs symbol used to separate components within a tuple or coordinate string (default="," a comma) +ts symbol used to separate tuples or coordinate strings (default=" " a space) +Since it is based on the XML Schema string type, CoordinatesType may be used in the construction of tables of tuples or arrays of tuples, including ones that contain mixed text and numeric values.</documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attribute name="decimal" type="string" default="."/> + <attribute name="cs" type="string" default=","/> + <attribute name="ts" type="string" default="&#x20;"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="booleanList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="boolean"/> + </simpleType> + <simpleType name="doubleList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="double"/> + </simpleType> + <simpleType name="integerList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="integer"/> + </simpleType> + <simpleType name="NameList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="Name"/> + </simpleType> + <simpleType name="NCNameList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="NCName"/> + </simpleType> + <simpleType name="QNameList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="QName"/> + </simpleType> + <simpleType name="booleanOrNilReasonList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="gml:booleanOrNilReason"/> + </simpleType> + <simpleType name="NameOrNilReasonList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="gml:NameOrNilReason"/> + </simpleType> + <simpleType name="doubleOrNilReasonList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="gml:doubleOrNilReason"/> + </simpleType> + <simpleType name="integerOrNilReasonList"> + <annotation> + <documentation>A type for a list of values of the respective simple type.</documentation> + </annotation> + <list itemType="gml:integerOrNilReason"/> + </simpleType> + <complexType name="CodeListType"> + <annotation> + <documentation>gml:CodeListType provides for lists of terms. The values in an instance element shall all be valid according to the rules of the dictionary, classification scheme, or authority identified by the value of its codeSpace attribute.</documentation> + </annotation> + <simpleContent> + <extension base="gml:NameList"> + <attribute name="codeSpace" type="anyURI"/> + </extension> + </simpleContent> + </complexType> + <complexType name="CodeOrNilReasonListType"> + <annotation> + <documentation>gml:CodeOrNilReasonListType provides for lists of terms. The values in an instance element shall all be valid according to the rules of the dictionary, classification scheme, or authority identified by the value of its codeSpace attribute. An instance element may also include embedded values from NilReasonType. It is intended to be used in situations where a term or classification is expected, but the value may be absent for some reason.</documentation> + </annotation> + <simpleContent> + <extension base="gml:NameOrNilReasonList"> + <attribute name="codeSpace" type="anyURI"/> + </extension> + </simpleContent> + </complexType> + <complexType name="MeasureListType"> + <annotation> + <documentation>gml:MeasureListType provides for a list of quantities.</documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleList"> + <attribute name="uom" type="gml:UomIdentifier" use="required"/> + </extension> + </simpleContent> + </complexType> + <complexType name="MeasureOrNilReasonListType"> + <annotation> + <documentation>gml:MeasureOrNilReasonListType provides for a list of quantities. An instance element may also include embedded values from NilReasonType. It is intended to be used in situations where a value is expected, but the value may be absent for some reason.</documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleOrNilReasonList"> + <attribute name="uom" type="gml:UomIdentifier" use="required"/> + </extension> + </simpleContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateOperations.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateOperations.xsd new file mode 100644 index 00000000000..df5f9c165c4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateOperations.xsd @@ -0,0 +1,525 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns="http://www.w3.org/2001/XMLSchema" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:coordinateOperations:3.2.1">coordinateOperations.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.6. +The spatial or temporal coordinate operations schema components can be divided into five logical parts, which define elements and types for XML encoding of the definitions of: +- Multiple abstract coordinate operations +- Multiple concrete types of coordinate operations, including Transformations and Conversions +- Abstract and concrete parameter values and groups +- Operation methods +- Abstract and concrete operation parameters and groups +These schema component encodes the Coordinate Operation package of the UML Model for ISO 19111 Clause 11. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="referenceSystems.xsd"/> + <include schemaLocation="measures.xsd"/> + <import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <element name="AbstractCoordinateOperation" type="gml:AbstractCoordinateOperationType" abstract="true" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:AbstractCoordinateOperation is a mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system. Many but not all coordinate operations (from CRS A to CRS B) also uniquely define the inverse operation (from CRS B to CRS A). In some cases, the operation method algorithm for the inverse operation is the same as for the forward algorithm, but the signs of some operation parameter values shall be reversed. In other cases, different algorithms are required for the forward and inverse operations, but the same operation parameter values are used. If (some) entirely different parameter values are needed, a different coordinate operation shall be defined. +The optional coordinateOperationAccuracy property elements provide estimates of the impact of this coordinate operation on point position accuracy.</documentation> + </annotation> + </element> + <complexType name="AbstractCoordinateOperationType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + <element ref="gml:operationVersion" minOccurs="0"/> + <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:sourceCRS" minOccurs="0"/> + <element ref="gml:targetCRS" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="operationVersion" type="string"> + <annotation> + <documentation>gml:operationVersion is the version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters). Mandatory when describing a transformation, and should not be supplied for a conversion.</documentation> + </annotation> + </element> + <element name="coordinateOperationAccuracy"> + <annotation> + <documentation>gml:coordinateOperationAccuracy is an association role to a DQ_PositionalAccuracy object as encoded in ISO/TS 19139, either referencing or containing the definition of that positional accuracy. That object contains an estimate of the impact of this coordinate operation on point accuracy. That is, it gives position error estimates for the target coordinates of this coordinate operation, assuming no errors in the source coordinates.</documentation> + </annotation> + <complexType> + <sequence minOccurs="0"> + <element ref="gmd:AbstractDQ_PositionalAccuracy"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + </element> + <element name="sourceCRS" type="gml:CRSPropertyType"> + <annotation> + <documentation>gml:sourceCRS is an association role to the source CRS (coordinate reference system) of this coordinate operation.</documentation> + </annotation> + </element> + <element name="targetCRS" type="gml:CRSPropertyType"> + <annotation> + <documentation>gml:targetCRS is an association role to the target CRS (coordinate reference system) of this coordinate operation.</documentation> + </annotation> + </element> + <complexType name="CoordinateOperationPropertyType"> + <annotation> + <documentation>gml:CoordinateOperationPropertyType is a property type for association roles to a coordinate operation, either referencing or containing the definition of that coordinate operation.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractCoordinateOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="AbstractSingleOperation" type="gml:AbstractCoordinateOperationType" abstract="true" substitutionGroup="gml:AbstractCoordinateOperation"> + <annotation> + <documentation>gml:AbstractSingleOperation is a single (not concatenated) coordinate operation.</documentation> + </annotation> + </element> + <complexType name="SingleOperationPropertyType"> + <annotation> + <documentation>gml:SingleOperationPropertyType is a property type for association roles to a single operation, either referencing or containing the definition of that single operation.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractSingleOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="AbstractGeneralConversion" type="gml:AbstractGeneralConversionType" abstract="true" substitutionGroup="gml:AbstractOperation"> + <annotation> + <documentation>gm:AbstractGeneralConversion is an abstract operation on coordinates that does not include any change of datum. The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived. Note that some conversions have no parameters. The operationVersion, sourceCRS, and targetCRS elements are omitted in a coordinate conversion. +This abstract complex type is expected to be extended for well-known operation methods with many Conversion instances, in GML Application Schemas that define operation-method-specialized element names and contents. This conversion uses an operation method, usually with associated parameter values. However, operation methods and parameter values are directly associated with concrete subtypes, not with this abstract type. All concrete types derived from this type shall extend this type to include a "usesMethod" element that references the "OperationMethod" element. Similarly, all concrete types derived from this type shall extend this type to include zero or more elements each named "uses...Value" that each use the type of an element substitutable for the "AbstractGeneralParameterValue" element.</documentation> + </annotation> + </element> + <complexType name="AbstractGeneralConversionType" abstract="true"> + <complexContent> + <restriction base="gml:AbstractCoordinateOperationType"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:remarks" minOccurs="0"/> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </restriction> + </complexContent> + </complexType> + <complexType name="GeneralConversionPropertyType"> + <annotation> + <documentation>gml:GeneralConversionPropertyType is a property type for association roles to a general conversion, either referencing or containing the definition of that conversion.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeneralConversion"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="AbstractGeneralTransformation" type="gml:AbstractGeneralTransformationType" abstract="true" substitutionGroup="gml:AbstractOperation"> + <annotation> + <documentation>gml:AbstractGeneralTransformation is an abstract operation on coordinates that usually includes a change of Datum. The parameters of a coordinate transformation are empirically derived from data containing the coordinates of a series of points in both coordinate reference systems. This computational process is usually "over-determined", allowing derivation of error (or accuracy) estimates for the transformation. Also, the stochastic nature of the parameters may result in multiple (different) versions of the same coordinate transformation. The operationVersion, sourceCRS, and targetCRS proeprty elements are mandatory in a coordinate transformation. +This abstract complex type is expected to be extended for well-known operation methods with many Transformation instances, in Application Schemas that define operation-method-specialized value element names and contents. This transformation uses an operation method with associated parameter values. However, operation methods and parameter values are directly associated with concrete subtypes, not with this abstract type. All concrete types derived from this type shall extend this type to include a "usesMethod" element that references one "OperationMethod" element. Similarly, all concrete types derived from this type shall extend this type to include one or more elements each named "uses...Value" that each use the type of an element substitutable for the "AbstractGeneralParameterValue" element.</documentation> + </annotation> + </element> + <complexType name="AbstractGeneralTransformationType" abstract="true"> + <complexContent> + <restriction base="gml:AbstractCoordinateOperationType"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:remarks" minOccurs="0"/> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + <element ref="gml:operationVersion"/> + <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:sourceCRS"/> + <element ref="gml:targetCRS"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </restriction> + </complexContent> + </complexType> + <complexType name="GeneralTransformationPropertyType"> + <annotation> + <documentation>gml:GeneralTransformationPropertyType is a property type for association roles to a general transformation, either referencing or containing the definition of that transformation.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeneralTransformation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ConcatenatedOperation" type="gml:ConcatenatedOperationType" substitutionGroup="gml:AbstractCoordinateOperation"/> + <complexType name="ConcatenatedOperationType"> + <annotation> + <documentation>gml:ConcatenatedOperation is an ordered sequence of two or more coordinate operations. This sequence of operations is constrained by the requirement that the source coordinate reference system of step (n+1) must be the same as the target coordinate reference system of step (n). The source coordinate reference system of the first step and the target coordinate reference system of the last step are the source and target coordinate reference system associated with the concatenated operation. Instead of a forward operation, an inverse operation may be used for one or more of the operation steps mentioned above, if the inverse operation is uniquely defined by the forward operation. +The gml:coordOperation property elements are an ordered sequence of associations to the two or more operations used by this concatenated operation. The AggregationAttributeGroup should be used to specify that the coordOperation associations are ordered.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractCoordinateOperationType"> + <sequence> + <element ref="gml:coordOperation" minOccurs="2" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="coordOperation" type="gml:CoordinateOperationPropertyType"> + <annotation> + <documentation>gml:coordOperation is an association role to a coordinate operation.</documentation> + </annotation> + </element> + <complexType name="ConcatenatedOperationPropertyType"> + <annotation> + <documentation>gml:ConcatenatedOperationPropertyType is a property type for association roles to a concatenated operation, either referencing or containing the definition of that concatenated operation.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ConcatenatedOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="PassThroughOperation" type="gml:PassThroughOperationType" substitutionGroup="gml:AbstractSingleOperation"> + <annotation> + <documentation>gml:PassThroughOperation is a pass-through operation specifies that a subset of a coordinate tuple is subject to a specific coordinate operation. +The modifiedCoordinate property elements are an ordered sequence of positive integers defining the positions in a coordinate tuple of the coordinates affected by this pass-through operation. The AggregationAttributeGroup should be used to specify that the modifiedCoordinate elements are ordered.</documentation> + </annotation> + </element> + <complexType name="PassThroughOperationType"> + <complexContent> + <extension base="gml:AbstractCoordinateOperationType"> + <sequence> + <element ref="gml:modifiedCoordinate" maxOccurs="unbounded"/> + <element ref="gml:coordOperation"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="modifiedCoordinate" type="positiveInteger"> + <annotation> + <documentation>gml:modifiedCoordinate is a positive integer defining a position in a coordinate tuple.</documentation> + </annotation> + </element> + <complexType name="PassThroughOperationPropertyType"> + <annotation> + <documentation>gml:PassThroughOperationPropertyType is a property type for association roles to a pass through operation, either referencing or containing the definition of that pass through operation.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:PassThroughOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="Conversion" type="gml:ConversionType" substitutionGroup="gml:AbstractGeneralConversion"> + <annotation> + <documentation>gml:Conversion is a concrete operation on coordinates that does not include any change of Datum. The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived. Note that some conversions have no parameters. +This concrete complex type can be used without using a GML Application Schema that defines operation-method-specialized element names and contents, especially for methods with only one Conversion instance. +The usesValue property elements are an unordered list of composition associations to the set of parameter values used by this conversion operation.</documentation> + </annotation> + </element> + <complexType name="ConversionType"> + <complexContent> + <extension base="gml:AbstractGeneralConversionType"> + <sequence> + <element ref="gml:method"/> + <element ref="gml:parameterValue" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="method" type="gml:OperationMethodPropertyType"> + <annotation> + <documentation>gml:method is an association role to the operation method used by a coordinate operation.</documentation> + </annotation> + </element> + <element name="parameterValue" type="gml:AbstractGeneralParameterValuePropertyType"> + <annotation> + <documentation>gml:parameterValue is a composition association to a parameter value or group of parameter values used by a coordinate operation.</documentation> + </annotation> + </element> + <complexType name="ConversionPropertyType"> + <annotation> + <documentation>gml:ConversionPropertyType is a property type for association roles to a concrete general-purpose conversion, either referencing or containing the definition of that conversion.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:Conversion"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="Transformation" type="gml:TransformationType" substitutionGroup="gml:AbstractGeneralTransformation"> + <annotation> + <documentation>gml:Transformation is a concrete object element derived from gml:GeneralTransformation (13.6.2.13). +This concrete object can be used for all operation methods, without using a GML Application Schema that defines operation-method-specialized element names and contents, especially for methods with only one Transformation instance. +The parameterValue elements are an unordered list of composition associations to the set of parameter values used by this conversion operation.</documentation> + </annotation> + </element> + <complexType name="TransformationType"> + <complexContent> + <extension base="gml:AbstractGeneralTransformationType"> + <sequence> + <element ref="gml:method"/> + <element ref="gml:parameterValue" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TransformationPropertyType"> + <annotation> + <documentation>gml:TransformationPropertyType is a property type for association roles to a transformation, either referencing or containing the definition of that transformation.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:Transformation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="AbstractGeneralParameterValue" type="gml:AbstractGeneralParameterValueType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:AbstractGeneralParameterValue is an abstract parameter value or group of parameter values. +This abstract complexType is expected to be extended and restricted for well-known operation methods with many instances, in Application Schemas that define operation-method-specialized element names and contents. Specific parameter value elements are directly contained in concrete subtypes, not in this abstract type. All concrete types derived from this type shall extend this type to include one "...Value" element with an appropriate type, which should be one of the element types allowed in the ParameterValueType. In addition, all derived concrete types shall extend this type to include a "operationParameter" property element that references one element substitutable for the "OperationParameter" object element.</documentation> + </annotation> + </element> + <complexType name="AbstractGeneralParameterValueType" abstract="true"> + <sequence/> + </complexType> + <complexType name="AbstractGeneralParameterValuePropertyType"> + <annotation> + <documentation>gml:AbstractGeneralParameterValuePropertyType is a property type for inline association roles to a parameter value or group of parameter values, always containing the values.</documentation> + </annotation> + <sequence> + <element ref="gml:AbstractGeneralParameterValue"/> + </sequence> + </complexType> + <element name="ParameterValue" type="gml:ParameterValueType" substitutionGroup="gml:AbstractGeneralParameterValue"> + <annotation> + <documentation>gml:ParameterValue is a parameter value, an ordered sequence of values, or a reference to a file of parameter values. This concrete complex type may be used for operation methods without using an Application Schema that defines operation-method-specialized element names and contents, especially for methods with only one instance. This complex type may be used, extended, or restricted for well-known operation methods, especially for methods with many instances.</documentation> + </annotation> + </element> + <complexType name="ParameterValueType"> + <complexContent> + <extension base="gml:AbstractGeneralParameterValueType"> + <sequence> + <choice> + <element ref="gml:value"/> + <element ref="gml:dmsAngleValue"/> + <element ref="gml:stringValue"/> + <element ref="gml:integerValue"/> + <element ref="gml:booleanValue"/> + <element ref="gml:valueList"/> + <element ref="gml:integerValueList"/> + <element ref="gml:valueFile"/> + </choice> + <element ref="gml:operationParameter"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="value" type="gml:MeasureType"> + <annotation> + <documentation>gml:value is a numeric value of an operation parameter, with its associated unit of measure.</documentation> + </annotation> + </element> + <element name="stringValue" type="string"> + <annotation> + <documentation>gml:stringValue is a character string value of an operation parameter. A string value does not have an associated unit of measure.</documentation> + </annotation> + </element> + <element name="integerValue" type="positiveInteger"> + <annotation> + <documentation>gml:integerValue is a positive integer value of an operation parameter, usually used for a count. An integer value does not have an associated unit of measure.</documentation> + </annotation> + </element> + <element name="booleanValue" type="boolean"> + <annotation> + <documentation>gml:booleanValue is a boolean value of an operation parameter. A Boolean value does not have an associated unit of measure.</documentation> + </annotation> + </element> + <element name="valueList" type="gml:MeasureListType"> + <annotation> + <documentation>gml:valueList is an ordered sequence of two or more numeric values of an operation parameter list, where each value has the same associated unit of measure. An element of this type contains a space-separated sequence of double values.</documentation> + </annotation> + </element> + <element name="integerValueList" type="gml:integerList"> + <annotation> + <documentation>gml:integerValueList is an ordered sequence of two or more integer values of an operation parameter list, usually used for counts. These integer values do not have an associated unit of measure. An element of this type contains a space-separated sequence of integer values.</documentation> + </annotation> + </element> + <element name="valueFile" type="anyURI"> + <annotation> + <documentation>gml:valueFile is a reference to a file or a part of a file containing one or more parameter values, each numeric value with its associated unit of measure. When referencing a part of a file, that file shall contain multiple identified parts, such as an XML encoded document. Furthermore, the referenced file or part of a file may reference another part of the same or different files, as allowed in XML documents.</documentation> + </annotation> + </element> + <element name="operationParameter" type="gml:OperationParameterPropertyType"> + <annotation> + <documentation>gml:operationParameter is an association role to the operation parameter of which this is a value.</documentation> + </annotation> + </element> + <element name="ParameterValueGroup" type="gml:ParameterValueGroupType" substitutionGroup="gml:AbstractGeneralParameterValue"> + <annotation> + <documentation>gml:ParameterValueGroup is a group of related parameter values. The same group can be repeated more than once in a Conversion, Transformation, or higher level ParameterValueGroup, if those instances contain different values of one or more parameterValues which suitably distinquish among those groups. This concrete complex type can be used for operation methods without using an Application Schema that defines operation-method-specialized element names and contents. This complex type may be used, extended, or restricted for well-known operation methods, especially for methods with only one instance. +The parameterValue elements are an unordered set of composition association roles to the parameter values and groups of values included in this group.</documentation> + </annotation> + </element> + <complexType name="ParameterValueGroupType"> + <complexContent> + <extension base="gml:AbstractGeneralParameterValueType"> + <sequence> + <element ref="gml:parameterValue" minOccurs="2" maxOccurs="unbounded"/> + <element ref="gml:group"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="group" type="gml:OperationParameterGroupPropertyType"> + <annotation> + <documentation>gml:group is an association role to the operation parameter group for which this element provides parameter values.</documentation> + </annotation> + </element> + <element name="OperationMethod" type="gml:OperationMethodType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:OperationMethod is a method (algorithm or procedure) used to perform a coordinate operation. Most operation methods use a number of operation parameters, although some coordinate conversions use none. Each coordinate operation using the method assigns values to these parameters. +The parameter elements are an unordered list of associations to the set of operation parameters and parameter groups used by this operation method.</documentation> + </annotation> + </element> + <complexType name="OperationMethodType"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <choice> + <element ref="gml:formulaCitation"/> + <element ref="gml:formula"/> + </choice> + <element ref="gml:sourceDimensions" minOccurs="0"/> + <element ref="gml:targetDimensions" minOccurs="0"/> + <element ref="gml:parameter" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="formulaCitation"> + <annotation> + <documentation>gml:formulaCitation provides a reference to a publication giving the formula(s) or procedure used by an coordinate operation method.</documentation> + </annotation> + <complexType> + <sequence minOccurs="0"> + <element ref="gmd:CI_Citation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + </element> + <element name="formula" type="gml:CodeType"> + <annotation> + <documentation>gml:formula Formula(s) or procedure used by an operation method. The use of the codespace attribite has been deprecated. The property value shall be a character string.</documentation> + </annotation> + </element> + <element name="sourceDimensions" type="positiveInteger"> + <annotation> + <documentation>gml:sourceDimensions is the number of dimensions in the source CRS of this operation method.</documentation> + </annotation> + </element> + <element name="targetDimensions" type="positiveInteger"> + <annotation> + <documentation>gml:targetDimensions is the number of dimensions in the target CRS of this operation method.</documentation> + </annotation> + </element> + <element name="parameter" type="gml:AbstractGeneralOperationParameterPropertyType"> + <annotation> + <documentation>gml:parameter is an association to an operation parameter or parameter group.</documentation> + </annotation> + </element> + <complexType name="OperationMethodPropertyType"> + <annotation> + <documentation>gml:OperationMethodPropertyType is a property type for association roles to a concrete general-purpose operation method, either referencing or containing the definition of that method.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:OperationMethod"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="AbstractGeneralOperationParameter" type="gml:AbstractGeneralOperationParameterType" abstract="true" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:GeneralOperationParameter is the abstract definition of a parameter or group of parameters used by an operation method.</documentation> + </annotation> + </element> + <complexType name="AbstractGeneralOperationParameterType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:minimumOccurs" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="minimumOccurs" type="nonNegativeInteger"> + <annotation> + <documentation>gml:minimumOccurs is the minimum number of times that values for this parameter group or parameter are required. If this attribute is omitted, the minimum number shall be one.</documentation> + </annotation> + </element> + <complexType name="AbstractGeneralOperationParameterPropertyType"> + <annotation> + <documentation>gml:AbstractGeneralOperationParameterPropertyType is a property type for association roles to an operation parameter or group, either referencing or containing the definition of that parameter or group.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeneralOperationParameter"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="OperationParameter" type="gml:OperationParameterType" substitutionGroup="gml:AbstractGeneralOperationParameter"> + <annotation> + <documentation>gml:OperationParameter is the definition of a parameter used by an operation method. Most parameter values are numeric, but other types of parameter values are possible. This complex type is expected to be used or extended for all operation methods, without defining operation-method-specialized element names.</documentation> + </annotation> + </element> + <complexType name="OperationParameterType"> + <complexContent> + <extension base="gml:AbstractGeneralOperationParameterType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="OperationParameterPropertyType"> + <annotation> + <documentation>gml:OperationParameterPropertyType is a property type for association roles to an operation parameter, either referencing or containing the definition of that parameter.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:OperationParameter"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="OperationParameterGroup" type="gml:OperationParameterGroupType" substitutionGroup="gml:AbstractGeneralOperationParameter"> + <annotation> + <documentation>gml:OperationParameterGroup is the definition of a group of parameters used by an operation method. This complex type is expected to be used or extended for all applicable operation methods, without defining operation-method-specialized element names. +The generalOperationParameter elements are an unordered list of associations to the set of operation parameters that are members of this group.</documentation> + </annotation> + </element> + <complexType name="OperationParameterGroupType"> + <complexContent> + <extension base="gml:AbstractGeneralOperationParameterType"> + <sequence> + <element ref="gml:maximumOccurs" minOccurs="0"/> + <element ref="gml:parameter" minOccurs="2" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="maximumOccurs" type="positiveInteger"> + <annotation> + <documentation>gml:maximumOccurs is the maximum number of times that values for this parameter group may be included. If this attribute is omitted, the maximum number shall be one.</documentation> + </annotation> + </element> + <complexType name="OperationParameterGroupPropertyType"> + <annotation> + <documentation>gml:OperationParameterPropertyType is a property type for association roles to an operation parameter group, either referencing or containing the definition of that parameter group.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:OperationParameterGroup"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateReferenceSystems.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateReferenceSystems.xsd new file mode 100644 index 00000000000..72a6ced2d5d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateReferenceSystems.xsd @@ -0,0 +1,373 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:coordinateReferenceSystems:3.2.1">coordinateReferenceSystems.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.3. +The spatial-temporal coordinate reference systems schema components are divided into two logical parts. One part defines elements and types for XML encoding of abstract coordinate reference systems definitions. The larger part defines specialized constructs for XML encoding of definitions of the multiple concrete types of spatial-temporal coordinate reference systems. +These schema components encode the Coordinate Reference System packages of the UML Models of ISO 19111 Clause 8 and ISO/DIS 19136 D.3.10, with the exception of the abstract "SC_CRS" class. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="coordinateSystems.xsd"/> + <include schemaLocation="datums.xsd"/> + <include schemaLocation="coordinateOperations.xsd"/> + <element name="AbstractSingleCRS" type="gml:AbstractCRSType" abstract="true" substitutionGroup="gml:AbstractCRS"> + <annotation> + <documentation>gml:AbstractSingleCRS implements a coordinate reference system consisting of one coordinate system and one datum (as opposed to a Compound CRS).</documentation> + </annotation> + </element> + <complexType name="SingleCRSPropertyType"> + <annotation> + <documentation>gml:SingleCRSPropertyType is a property type for association roles to a single coordinate reference system, either referencing or containing the definition of that coordinate reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractSingleCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="AbstractGeneralDerivedCRS" type="gml:AbstractGeneralDerivedCRSType" abstract="true" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:AbstractGeneralDerivedCRS is a coordinate reference system that is defined by its coordinate conversion from another coordinate reference system. This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.</documentation> + </annotation> + </element> + <complexType name="AbstractGeneralDerivedCRSType" abstract="true"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:conversion"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="conversion" type="gml:GeneralConversionPropertyType"> + <annotation> + <documentation>gml:conversion is an association role to the coordinate conversion used to define the derived CRS.</documentation> + </annotation> + </element> + <element name="CompoundCRS" type="gml:CompoundCRSType" substitutionGroup="gml:AbstractCRS"> + <annotation> + <documentation>gml:CompundCRS is a coordinate reference system describing the position of points through two or more independent coordinate reference systems. It is associated with a non-repeating sequence of two or more instances of SingleCRS.</documentation> + </annotation> + </element> + <complexType name="CompoundCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:componentReferenceSystem" minOccurs="2" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="componentReferenceSystem" type="gml:SingleCRSPropertyType"> + <annotation> + <documentation>The gml:componentReferenceSystem elements are an ordered sequence of associations to all the component coordinate reference systems included in this compound coordinate reference system. The gml:AggregationAttributeGroup should be used to specify that the gml:componentReferenceSystem properties are ordered.</documentation> + </annotation> + </element> + <complexType name="CompoundCRSPropertyType"> + <annotation> + <documentation>gml:CompoundCRSPropertyType is a property type for association roles to a compound coordinate reference system, either referencing or containing the definition of that reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:CompoundCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="GeodeticCRS" type="gml:GeodeticCRSType" substitutionGroup="gml:AbstractSingleCRS"/> + <complexType name="GeodeticCRSType"> + <annotation> + <documentation>gml:GeodeticCRS is a coordinate reference system based on a geodetic datum.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:ellipsoidalCS"/> + <element ref="gml:cartesianCS"/> + <element ref="gml:sphericalCS"/> + </choice> + <element ref="gml:geodeticDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="ellipsoidalCS" type="gml:EllipsoidalCSPropertyType"> + <annotation> + <documentation>gml:ellipsoidalCS is an association role to the ellipsoidal coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="cartesianCS" type="gml:CartesianCSPropertyType"> + <annotation> + <documentation>gml:cartesianCS is an association role to the Cartesian coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="sphericalCS" type="gml:SphericalCSPropertyType"> + <annotation> + <documentation>gml:sphericalCS is an association role to the spherical coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="geodeticDatum" type="gml:GeodeticDatumPropertyType"> + <annotation> + <documentation>gml:geodeticDatum is an association role to the geodetic datum used by this CRS. +</documentation> + </annotation> + </element> + <complexType name="GeodeticCRSPropertyType"> + <annotation> + <documentation>gml:GeodeticCRSPropertyType is a property type for association roles to a geodetic coordinate reference system, either referencing or containing the definition of that reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:GeodeticCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="VerticalCRS" type="gml:VerticalCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:VerticalCRS is a 1D coordinate reference system used for recording heights or depths. Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward. By implication, ellipsoidal heights (h) cannot be captured in a vertical coordinate reference system. Ellipsoidal heights cannot exist independently, but only as an inseparable part of a 3D coordinate tuple defined in a geographic 3D coordinate reference system.</documentation> + </annotation> + </element> + <complexType name="VerticalCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:verticalCS"/> + <element ref="gml:verticalDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="verticalCS" type="gml:VerticalCSPropertyType"> + <annotation> + <documentation>gml:verticalCS is an association role to the vertical coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="verticalDatum" type="gml:VerticalDatumPropertyType"> + <annotation> + <documentation>gml:verticalDatum is an association role to the vertical datum used by this CRS.</documentation> + </annotation> + </element> + <complexType name="VerticalCRSPropertyType"> + <annotation> + <documentation>gml:VerticalCRSPropertyType is a property type for association roles to a vertical coordinate reference system, either referencing or containing the definition of that reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:VerticalCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ProjectedCRS" type="gml:ProjectedCRSType" substitutionGroup="gml:AbstractGeneralDerivedCRS"> + <annotation> + <documentation>gml:ProjectedCRS is a 2D coordinate reference system used to approximate the shape of the earth on a planar surface, but in such a way that the distortion that is inherent to the approximation is carefully controlled and known. Distortion correction is commonly applied to calculated bearings and distances to produce values that are a close match to actual field values.</documentation> + </annotation> + </element> + <complexType name="ProjectedCRSType"> + <complexContent> + <extension base="gml:AbstractGeneralDerivedCRSType"> + <sequence> + <choice> + <element ref="gml:baseGeodeticCRS"/> + <element ref="gml:baseGeographicCRS"/> + </choice> + <element ref="gml:cartesianCS"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="baseGeodeticCRS" type="gml:GeodeticCRSPropertyType"> + <annotation> + <documentation>gml:baseGeodeticCRS is an association role to the geodetic coordinate reference system used by this projected CRS.</documentation> + </annotation> + </element> + <complexType name="ProjectedCRSPropertyType"> + <annotation> + <documentation>gml:ProjectedCRSPropertyType is a property type for association roles to a projected coordinate reference system, either referencing or containing the definition of that reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ProjectedCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="DerivedCRS" type="gml:DerivedCRSType" substitutionGroup="gml:AbstractGeneralDerivedCRS"> + <annotation> + <documentation>gml:DerivedCRS is a single coordinate reference system that is defined by its coordinate conversion from another single coordinate reference system known as the base CRS. The base CRS can be a projected coordinate reference system, if this DerivedCRS is used for a georectified grid coverage as described in ISO 19123, Clause 8.</documentation> + </annotation> + </element> + <complexType name="DerivedCRSType"> + <complexContent> + <extension base="gml:AbstractGeneralDerivedCRSType"> + <sequence> + <element ref="gml:baseCRS"/> + <element ref="gml:derivedCRSType"/> + <element ref="gml:coordinateSystem"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="baseCRS" type="gml:SingleCRSPropertyType"> + <annotation> + <documentation>gml:baseCRS is an association role to the coordinate reference system used by this derived CRS.</documentation> + </annotation> + </element> + <element name="derivedCRSType" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>The gml:derivedCRSType property describes the type of a derived coordinate reference system. The required codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.</documentation> + </annotation> + </element> + <element name="coordinateSystem" type="gml:CoordinateSystemPropertyType"> + <annotation> + <documentation>An association role to the coordinate system used by this CRS.</documentation> + </annotation> + </element> + <complexType name="DerivedCRSPropertyType"> + <annotation> + <documentation>gml:DerivedCRSPropertyType is a property type for association roles to a non-projected derived coordinate reference system, either referencing or containing the definition of that reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:DerivedCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="EngineeringCRS" type="gml:EngineeringCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:EngineeringCRS is a contextually local coordinate reference system which can be divided into two broad categories: +- earth-fixed systems applied to engineering activities on or near the surface of the earth; +- CRSs on moving platforms such as road vehicles, vessels, aircraft, or spacecraft, see ISO 19111 8.3.</documentation> + </annotation> + </element> + <complexType name="EngineeringCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:affineCS"/> + <element ref="gml:cartesianCS"/> + <element ref="gml:cylindricalCS"/> + <element ref="gml:linearCS"/> + <element ref="gml:polarCS"/> + <element ref="gml:sphericalCS"/> + <element ref="gml:userDefinedCS"/> + <element ref="gml:coordinateSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + </choice> + <element ref="gml:engineeringDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="cylindricalCS" type="gml:CylindricalCSPropertyType"> + <annotation> + <documentation>gml:cylindricalCS is an association role to the cylindrical coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="linearCS" type="gml:LinearCSPropertyType"> + <annotation> + <documentation>gml:linearCS is an association role to the linear coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="polarCS" type="gml:PolarCSPropertyType"> + <annotation> + <documentation>gml:polarCS is an association role to the polar coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="userDefinedCS" type="gml:UserDefinedCSPropertyType"> + <annotation> + <documentation>gml:userDefinedCS is an association role to the user defined coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="engineeringDatum" type="gml:EngineeringDatumPropertyType"> + <annotation> + <documentation>gml:engineeringDatum is an association role to the engineering datum used by this CRS.</documentation> + </annotation> + </element> + <complexType name="EngineeringCRSPropertyType"> + <annotation> + <documentation>gml:EngineeringCRSPropertyType is a property type for association roles to an engineering coordinate reference system, either referencing or containing the definition of that reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:EngineeringCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ImageCRS" type="gml:ImageCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:ImageCRS is an engineering coordinate reference system applied to locations in images. Image coordinate reference systems are treated as a separate sub-type because the definition of the associated image datum contains two attributes not relevant to other engineering datums.</documentation> + </annotation> + </element> + <complexType name="ImageCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:cartesianCS"/> + <element ref="gml:affineCS"/> + <element ref="gml:usesObliqueCartesianCS"/> + </choice> + <element ref="gml:imageDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="affineCS" type="gml:AffineCSPropertyType"> + <annotation> + <documentation>gml:affineCS is an association role to the affine coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="imageDatum" type="gml:ImageDatumPropertyType"> + <annotation> + <documentation>gml:imageDatum is an association role to the image datum used by this CRS.</documentation> + </annotation> + </element> + <complexType name="ImageCRSPropertyType"> + <annotation> + <documentation>gml:ImageCRSPropertyType is a property type for association roles to an image coordinate reference system, either referencing or containing the definition of that reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ImageCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="TemporalCRS" type="gml:TemporalCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <documentation>gml:TemporalCRS is a 1D coordinate reference system used for the recording of time.</documentation> + </annotation> + </element> + <complexType name="TemporalCRSType"> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:timeCS"/> + <element ref="gml:usesTemporalCS"/> + </choice> + <element ref="gml:temporalDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="timeCS" type="gml:TimeCSPropertyType"> + <annotation> + <documentation>gml:timeCS is an association role to the time coordinate system used by this CRS.</documentation> + </annotation> + </element> + <element name="temporalDatum" type="gml:TemporalDatumPropertyType"> + <annotation> + <documentation>gml:temporalDatum is an association role to the temporal datum used by this CRS.</documentation> + </annotation> + </element> + <complexType name="TemporalCRSPropertyType"> + <annotation> + <documentation>gml:TemporalCRSPropertyType is a property type for association roles to a temporal coordinate reference system, either referencing or containing the definition of that reference system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TemporalCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateSystems.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateSystems.xsd new file mode 100644 index 00000000000..37627f20f7a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coordinateSystems.xsd @@ -0,0 +1,297 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:coordinateSystems:3.2.1">coordinateSystems.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.4. +The coordinate systems schema components can be divded into three logical parts, which define elements and types for XML encoding of the definitions of: +- Coordinate system axes +- Abstract coordinate system +- Multiple concrete types of spatial-temporal coordinate systems +These schema components encode the Coordinate System packages of the UML Models of ISO 19111 Clause 9 and ISO/DIS 19136 D.3.10. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="referenceSystems.xsd"/> + <element name="CoordinateSystemAxis" type="gml:CoordinateSystemAxisType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:CoordinateSystemAxis is a definition of a coordinate system axis.</documentation> + </annotation> + </element> + <complexType name="CoordinateSystemAxisType"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:axisAbbrev"/> + <element ref="gml:axisDirection"/> + <element ref="gml:minimumValue" minOccurs="0"/> + <element ref="gml:maximumValue" minOccurs="0"/> + <element ref="gml:rangeMeaning" minOccurs="0"/> + </sequence> + <attribute name="uom" type="gml:UomIdentifier" use="required"> + <annotation> + <documentation>The uom attribute provides an identifier of the unit of measure used for this coordinate system axis. The value of this coordinate in a coordinate tuple shall be recorded using this unit of measure, whenever those coordinates use a coordinate reference system that uses a coordinate system that uses this axis.</documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> + <element name="axisAbbrev" type="gml:CodeType"> + <annotation> + <documentation>gml:axisAbbrev is the abbreviation used for this coordinate system axis; this abbreviation is also used to identify the coordinates in the coordinate tuple. The codeSpace attribute may reference a source of more information on a set of standardized abbreviations, or on this abbreviation.</documentation> + </annotation> + </element> + <element name="axisDirection" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>gml:axisDirection is the direction of this coordinate system axis (or in the case of Cartesian projected coordinates, the direction of this coordinate system axis at the origin). +Within any set of coordinate system axes, only one of each pair of terms may be used. For earth-fixed CRSs, this direction is often approximate and intended to provide a human interpretable meaning to the axis. When a geodetic datum is used, the precise directions of the axes may therefore vary slightly from this approximate direction. +The codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.</documentation> + </annotation> + </element> + <element name="minimumValue" type="double"> + <annotation> + <documentation>The gml:minimumValue and gml:maximumValue properties allow the specification of minimum and maximum value normally allowed for this axis, in the unit of measure for the axis. For a continuous angular axis such as longitude, the values wrap-around at this value. Also, values beyond this minimum/maximum can be used for specified purposes, such as in a bounding box. A value of minus infinity shall be allowed for the gml:minimumValue element, a value of plus infiniy for the gml:maximumValue element. If these elements are omitted, the value is unspecified.</documentation> + </annotation> + </element> + <element name="maximumValue" type="double"> + <annotation> + <documentation>The gml:minimumValue and gml:maximumValue properties allow the specification of minimum and maximum value normally allowed for this axis, in the unit of measure for the axis. For a continuous angular axis such as longitude, the values wrap-around at this value. Also, values beyond this minimum/maximum can be used for specified purposes, such as in a bounding box. A value of minus infinity shall be allowed for the gml:minimumValue element, a value of plus infiniy for the gml:maximumValue element. If these elements are omitted, the value is unspecified.</documentation> + </annotation> + </element> + <element name="rangeMeaning" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>gml:rangeMeaning describes the meaning of axis value range specified by gml:minimumValue and gml:maximumValue. This element shall be omitted when both gml:minimumValue and gml:maximumValue are omitted. This element should be included when gml:minimumValue and/or gml:maximumValue are included. If this element is omitted when the gml:minimumValue and/or gml:maximumValue are included, the meaning is unspecified. The codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.</documentation> + </annotation> + </element> + <complexType name="CoordinateSystemAxisPropertyType"> + <annotation> + <documentation>gml:CoordinateSystemAxisPropertyType is a property type for association roles to a coordinate system axis, either referencing or containing the definition of that axis.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:CoordinateSystemAxis"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="AbstractCoordinateSystem" type="gml:AbstractCoordinateSystemType" abstract="true" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:AbstractCoordinateSystem is a coordinate system (CS) is the non-repeating sequence of coordinate system axes that spans a given coordinate space. A CS is derived from a set of mathematical rules for specifying how coordinates in a given space are to be assigned to points. The coordinate values in a coordinate tuple shall be recorded in the order in which the coordinate system axes associations are recorded. This abstract complex type shall not be used, extended, or restricted, in an Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.</documentation> + </annotation> + </element> + <complexType name="AbstractCoordinateSystemType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:axis" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="axis" type="gml:CoordinateSystemAxisPropertyType"> + <annotation> + <documentation>The gml:axis property is an association role (ordered sequence) to the coordinate system axes included in this coordinate system. The coordinate values in a coordinate tuple shall be recorded in the order in which the coordinate system axes associations are recorded, whenever those coordinates use a coordinate reference system that uses this coordinate system. The gml:AggregationAttributeGroup should be used to specify that the axis objects are ordered.</documentation> + </annotation> + </element> + <complexType name="CoordinateSystemPropertyType"> + <annotation> + <documentation>gml:CoordinateSystemPropertyType is a property type for association roles to a coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractCoordinateSystem"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="EllipsoidalCS" type="gml:EllipsoidalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:EllipsoidalCS is a two- or three-dimensional coordinate system in which position is specified by geodetic latitude, geodetic longitude, and (in the three-dimensional case) ellipsoidal height. An EllipsoidalCS shall have two or three gml:axis property elements; the number of associations shall equal the dimension of the CS.</documentation> + </annotation> + </element> + <complexType name="EllipsoidalCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="EllipsoidalCSPropertyType"> + <annotation> + <documentation>gml:EllipsoidalCSPropertyType is a property type for association roles to an ellipsoidal coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:EllipsoidalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="CartesianCS" type="gml:CartesianCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:CartesianCS is a 1-, 2-, or 3-dimensional coordinate system. In the 1-dimensional case, it contains a single straight coordinate axis. In the 2- and 3-dimensional cases gives the position of points relative to orthogonal straight axes. In the multi-dimensional case, all axes shall have the same length unit of measure. A CartesianCS shall have one, two, or three gml:axis property elements.</documentation> + </annotation> + </element> + <complexType name="CartesianCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="CartesianCSPropertyType"> + <annotation> + <documentation>gml:CartesianCSPropertyType is a property type for association roles to a Cartesian coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:CartesianCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="VerticalCS" type="gml:VerticalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:VerticalCS is a one-dimensional coordinate system used to record the heights or depths of points. Such a coordinate system is usually dependent on the Earth's gravity field, perhaps loosely as when atmospheric pressure is the basis for the vertical coordinate system axis. A VerticalCS shall have one gml:axis property element.</documentation> + </annotation> + </element> + <complexType name="VerticalCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="VerticalCSPropertyType"> + <annotation> + <documentation>gml:VerticalCSPropertyType is a property type for association roles to a vertical coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:VerticalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="TimeCS" type="gml:TimeCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:TimeCS is a one-dimensional coordinate system containing a time axis, used to describe the temporal position of a point in the specified time units from a specified time origin. A TimeCS shall have one gml:axis property element.</documentation> + </annotation> + </element> + <complexType name="TimeCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="TimeCSPropertyType"> + <annotation> + <documentation>gml:TimeCSPropertyType is a property type for association roles to a time coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="LinearCS" type="gml:LinearCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:LinearCS is a one-dimensional coordinate system that consists of the points that lie on the single axis described. The associated coordinate is the distance – with or without offset – from the specified datum to the point along the axis. A LinearCS shall have one gml:axis property element.</documentation> + </annotation> + </element> + <complexType name="LinearCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="LinearCSPropertyType"> + <annotation> + <documentation>gml:LinearCSPropertyType is a property type for association roles to a linear coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:LinearCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="UserDefinedCS" type="gml:UserDefinedCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:UserDefinedCS is a two- or three-dimensional coordinate system that consists of any combination of coordinate axes not covered by any other coordinate system type. A UserDefinedCS shall have two or three gml:axis property elements; the number of property elements shall equal the dimension of the CS.</documentation> + </annotation> + </element> + <complexType name="UserDefinedCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="UserDefinedCSPropertyType"> + <annotation> + <documentation>gml:UserDefinedCSPropertyType is a property type for association roles to a user-defined coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:UserDefinedCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="SphericalCS" type="gml:SphericalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:SphericalCS is a three-dimensional coordinate system with one distance measured from the origin and two angular coordinates. A SphericalCS shall have three gml:axis property elements.</documentation> + </annotation> + </element> + <complexType name="SphericalCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="SphericalCSPropertyType"> + <annotation> + <documentation>gml:SphericalCSPropertyType is property type for association roles to a spherical coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:SphericalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="PolarCS" type="gml:PolarCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:PolarCS ia s two-dimensional coordinate system in which position is specified by the distance from the origin and the angle between the line from the origin to a point and a reference direction. A PolarCS shall have two gml:axis property elements.</documentation> + </annotation> + </element> + <complexType name="PolarCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="PolarCSPropertyType"> + <annotation> + <documentation>gml:PolarCSPropertyType is a property type for association roles to a polar coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:PolarCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="CylindricalCS" type="gml:CylindricalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:CylindricalCS is a three-dimensional coordinate system consisting of a polar coordinate system extended by a straight coordinate axis perpendicular to the plane spanned by the polar coordinate system. A CylindricalCS shall have three gml:axis property elements.</documentation> + </annotation> + </element> + <complexType name="CylindricalCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="CylindricalCSPropertyType"> + <annotation> + <documentation>gml:CylindricalCSPropertyType is a property type for association roles to a cylindrical coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:CylindricalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="AffineCS" type="gml:AffineCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <documentation>gml:AffineCS is a two- or three-dimensional coordinate system with straight axes that are not necessarily orthogonal. An AffineCS shall have two or three gml:axis property elements; the number of property elements shall equal the dimension of the CS.</documentation> + </annotation> + </element> + <complexType name="AffineCSType"> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="AffineCSPropertyType"> + <annotation> + <documentation>gml:AffineCSPropertyType is a property type for association roles to an affine coordinate system, either referencing or containing the definition of that coordinate system.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AffineCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coverage.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coverage.xsd new file mode 100644 index 00000000000..a1bbfa4fa42 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/coverage.xsd @@ -0,0 +1,292 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:coverage:3.2.1">coverage.xsd</appinfo> + <documentation>See ISO/DIS 19136 20.3. +A coverage incorporates a mapping from a spatiotemporal domain to a range set, the latter providing the set in which the attribute values live. The range set may be an arbitrary set including discrete lists, integer or floating point ranges, and multi-dimensional vector spaces. +A coverage can be viewed as the graph of the coverage function f:A à B, that is as the set of ordered pairs {(x, f(x)) | where x is in A}. This view is especially applicable to the GML encoding of a coverage. In the case of a discrete coverage, the domain set A is partitioned into a collection of subsets (typically a disjoint collection) A = UAi and the function f is constant on each Ai. For a spatial domain, the Ai are geometry elements, hence the coverage can be viewed as a collection of (geometry,value) pairs, where the value is an element of the range set. If the spatial domain A is a topological space then the coverage can be viewed as a collection of (topology,value) pairs, where the topology element in the pair is a topological n-chain (in GML terms this is a gml:TopoPoint, gml:TopoCurve, gml:TopoSurface or gml:TopoSolid). +A coverage is implemented as a GML feature. We can thus speak of a "temperature distribution feature", or a "remotely sensed image feature", or a "soil distribution feature". +As is the case for any GML object, a coverage object may also be the value of a property of a feature. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="feature.xsd"/> + <include schemaLocation="valueObjects.xsd"/> + <include schemaLocation="grids.xsd"/> + <include schemaLocation="geometryAggregates.xsd"/> + <complexType name="AbstractCoverageType" abstract="true"> + <annotation> + <documentation>The base type for coverages is gml:AbstractCoverageType. The basic elements of a coverage can be seen in this content model: the coverage contains gml:domainSet and gml:rangeSet properties. The gml:domainSet property describes the domain of the coverage and the gml:rangeSet property describes the range of the coverage.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <sequence> + <element ref="gml:domainSet"/> + <element ref="gml:rangeSet"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractCoverage" type="gml:AbstractCoverageType" abstract="true" substitutionGroup="gml:AbstractFeature"> + <annotation> + <documentation>This element serves as the head of a substitution group which may contain any coverage whose type is derived from gml:AbstractCoverageType. It may act as a variable in the definition of content models where it is required to permit any coverage to be valid.</documentation> + </annotation> + </element> + <complexType name="DiscreteCoverageType"> + <complexContent> + <extension base="gml:AbstractCoverageType"> + <sequence> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractDiscreteCoverage" type="gml:DiscreteCoverageType" abstract="true" substitutionGroup="gml:AbstractCoverage"> + <annotation> + <documentation>A discrete coverage consists of a domain set, range set and optionally a coverage function. The domain set consists of either spatial or temporal geometry objects, finite in number. The range set is comprised of a finite number of attribute values each of which is associated to every direct position within any single spatiotemporal object in the domain. In other words, the range values are constant on each spatiotemporal object in the domain. This coverage function maps each element from the coverage domain to an element in its range. The coverageFunction element describes the mapping function. +This element serves as the head of a substitution group which may contain any discrete coverage whose type is derived from gml:DiscreteCoverageType.</documentation> + </annotation> + </element> + <complexType name="AbstractContinuousCoverageType" abstract="true"> + <complexContent> + <extension base="gml:AbstractCoverageType"> + <sequence> + <element ref="gml:coverageFunction" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractContinuousCoverage" type="gml:AbstractContinuousCoverageType" abstract="true" substitutionGroup="gml:AbstractFeature"> + <annotation> + <documentation>A continuous coverage as defined in ISO 19123 is a coverage that can return different values for the same feature attribute at different direct positions within a single spatiotemporal object in its spatiotemporal domain. The base type for continuous coverages is AbstractContinuousCoverageType. +The coverageFunction element describes the mapping function. +The abstract element gml:AbstractContinuousCoverage serves as the head of a substitution group which may contain any continuous coverage whose type is derived from gml:AbstractContinuousCoverageType.</documentation> + </annotation> + </element> + <element name="domainSet" type="gml:DomainSetType"> + <annotation> + <documentation>The gml:domainSet property element describes the spatio-temporal region of interest, within which the coverage is defined. Its content model is given by gml:DomainSetType. +The value of the domain is thus a choice between a gml:AbstractGeometry and a gml:AbstractTimeObject. In the instance these abstract elements will normally be substituted by a geometry complex or temporal complex, to represent spatial coverages and time-series, respectively. +The presence of the gml:AssociationAttributeGroup means that domainSet follows the usual GML property model and may use the xlink:href attribute to point to the domain, as an alternative to describing the domain inline. Ownership semantics may be provided using the gml:OwnershipAttributeGroup. +</documentation> + </annotation> + </element> + <complexType name="DomainSetType"> + <sequence minOccurs="0"> + <choice> + <element ref="gml:AbstractGeometry"/> + <element ref="gml:AbstractTimeObject"/> + </choice> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="rangeSet" type="gml:RangeSetType"> + <annotation> + <documentation>The gml:rangeSet property element contains the values of the coverage (sometimes called the attribute values). Its content model is given by gml:RangeSetType. +This content model supports a structural description of the range. The semantic information describing the range set is embedded using a uniform method, as part of the explicit values, or as a template value accompanying the representation using gml:DataBlock and gml:File. +The values from each component (or "band") in the range may be encoded within a gml:ValueArray element or a concrete member of the gml:AbstractScalarValueList substitution group . Use of these elements satisfies the value-type homogeneity requirement.</documentation> + </annotation> + </element> + <complexType name="RangeSetType"> + <choice> + <element ref="gml:ValueArray" maxOccurs="unbounded"/> + <element ref="gml:AbstractScalarValueList" maxOccurs="unbounded"/> + <element ref="gml:DataBlock"/> + <element ref="gml:File"/> + </choice> + </complexType> + <element name="DataBlock" type="gml:DataBlockType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:DataBlock describes the Range as a block of text encoded values similar to a Common Separated Value (CSV) representation. +The range set parameterization is described by the property gml:rangeParameters.</documentation> + </annotation> + </element> + <complexType name="DataBlockType"> + <sequence> + <element ref="gml:rangeParameters"/> + <choice> + <element ref="gml:tupleList"/> + <element ref="gml:doubleOrNilReasonTupleList"/> + </choice> + </sequence> + </complexType> + <element name="rangeParameters" type="gml:AssociationRoleType"/> + <element name="tupleList" type="gml:CoordinatesType"> + <annotation> + <documentation>gml:CoordinatesType consists of a list of coordinate tuples, with each coordinate tuple separated by the ts or tuple separator (whitespace), and each coordinate in the tuple by the cs or coordinate separator (comma). +The gml:tupleList encoding is effectively "band-interleaved".</documentation> + </annotation> + </element> + <element name="doubleOrNilReasonTupleList" type="gml:doubleOrNilReasonList"> + <annotation> + <documentation>gml:doubleOrNilReasonList consists of a list of gml:doubleOrNilReason values, each separated by a whitespace. The gml:doubleOrNilReason values are grouped into tuples where the dimension of each tuple in the list is equal to the number of range parameters.</documentation> + </annotation> + </element> + <element name="File" type="gml:FileType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>for efficiency reasons, GML also provides a means of encoding the range set in an arbitrary external encoding, such as a binary file. This encoding may be "well-known" but this is not required. This mode uses the gml:File element. +The values of the coverage (attribute values in the range set) are transmitted in a external file that is referenced from the XML structure described by gml:FileType. The external file is referenced by the gml:fileReference property that is an anyURI (the gml:fileName property has been deprecated). This means that the external file may be located remotely from the referencing GML instance. +The gml:compression property points to a definition of a compression algorithm through an anyURI. This may be a retrievable, computable definition or simply a reference to an unambiguous name for the compression method. +The gml:mimeType property points to a definition of the file mime type. +The gml:fileStructure property is defined by a codelist. Note further that all values shall be enclosed in a single file. Multi-file structures for values are not supported in GML. +The semantics of the range set is described as above using the gml:rangeParameters property. +Note that if any compression algorithm is applied, the structure above applies only to the pre-compression or post-decompression structure of the file. +Note that the fields within a record match the gml:valueComponents of the gml:CompositeValue in document order.</documentation> + </annotation> + </element> + <complexType name="FileType"> + <sequence> + <element ref="gml:rangeParameters"/> + <choice> + <element name="fileName" type="anyURI"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="fileReference" type="anyURI"/> + </choice> + <element name="fileStructure" type="gml:CodeType"/> + <element name="mimeType" type="anyURI" minOccurs="0"/> + <element name="compression" type="anyURI" minOccurs="0"/> + </sequence> + </complexType> + <element name="coverageFunction" type="gml:CoverageFunctionType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>The gml:coverageFunction property describes the mapping function from the domain to the range of the coverage. +The value of the CoverageFunction is one of gml:CoverageMappingRule and gml:GridFunction. +If the gml:coverageFunction property is omitted for a gridded coverage (including rectified gridded coverages) the gml:startPoint is assumed to be the value of the gml:low property in the gml:Grid geometry, and the gml:sequenceRule is assumed to be linear and the gml:axisOrder property is assumed to be "+1 +2".</documentation> + </annotation> + </element> + <complexType name="CoverageFunctionType"> + <choice> + <element ref="gml:MappingRule"/> + <element ref="gml:CoverageMappingRule"/> + <element ref="gml:GridFunction"/> + </choice> + </complexType> + <element name="CoverageMappingRule" type="gml:MappingRuleType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:CoverageMappingRule provides a formal or informal description of the coverage function. +The mapping rule may be defined as an in-line string (gml:ruleDefinition) or via a remote reference through xlink:href (gml:ruleReference). +If no rule name is specified, the default is 'Linear' with respect to members of the domain in document order.</documentation> + </annotation> + </element> + <complexType name="MappingRuleType" final="#all"> + <choice> + <element name="ruleDefinition" type="string"/> + <element name="ruleReference" type="gml:ReferenceType"/> + </choice> + </complexType> + <element name="GridFunction" type="gml:GridFunctionType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:GridFunction provides an explicit mapping rule for grid geometries, i.e. the domain shall be a geometry of type grid. It describes the mapping of grid posts (discrete point grid coverage) or grid cells (discrete surface coverage) to the values in the range set. +The gml:startPoint is the index position of a point in the grid that is mapped to the first point in the range set (this is also the index position of the first grid post). If the gml:startPoint property is omitted the gml:startPoint is assumed to be equal to the value of gml:low in the gml:Grid geometry. Subsequent points in the mapping are determined by the value of the gml:sequenceRule.</documentation> + </annotation> + </element> + <complexType name="GridFunctionType"> + <sequence> + <element name="sequenceRule" type="gml:SequenceRuleType" minOccurs="0"/> + <element name="startPoint" type="gml:integerList" minOccurs="0"/> + </sequence> + </complexType> + <complexType name="SequenceRuleType"> + <annotation> + <documentation>The gml:SequenceRuleType is derived from the gml:SequenceRuleEnumeration through the addition of an axisOrder attribute. The gml:SequenceRuleEnumeration is an enumerated type. The rule names are defined in ISO 19123. If no rule name is specified the default is "Linear".</documentation> + </annotation> + <simpleContent> + <extension base="gml:SequenceRuleEnumeration"> + <attribute name="order" type="gml:IncrementOrder"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </attribute> + <attribute name="axisOrder" type="gml:AxisDirectionList"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="SequenceRuleEnumeration"> + <restriction base="string"> + <enumeration value="Linear"/> + <enumeration value="Boustrophedonic"/> + <enumeration value="Cantor-diagonal"/> + <enumeration value="Spiral"/> + <enumeration value="Morton"/> + <enumeration value="Hilbert"/> + </restriction> + </simpleType> + <simpleType name="AxisDirectionList"> + <annotation> + <documentation>The different values in a gml:AxisDirectionList indicate the incrementation order to be used on all axes of the grid. Each axis shall be mentioned once and only once.</documentation> + </annotation> + <list itemType="gml:AxisDirection"/> + </simpleType> + <simpleType name="AxisDirection"> + <annotation> + <documentation>The value of a gml:AxisDirection indicates the incrementation order to be used on an axis of the grid.</documentation> + </annotation> + <restriction base="string"> + <pattern value="[\+\-][1-9][0-9]*"/> + </restriction> + </simpleType> + <element name="MultiPointCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>In a gml:MultiPointCoverage the domain set is a gml:MultiPoint, that is a collection of arbitrarily distributed geometric points. +The content model is identical with gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiPoint. +In a gml:MultiPointCoverage the mapping from the domain to the range is straightforward. +- For gml:DataBlock encodings the points of the gml:MultiPoint are mapped in document order to the tuples of the data block. +- For gml:CompositeValue encodings the points of the gml:MultiPoint are mapped to the members of the composite value in document order. +- For gml:File encodings the points of the gml:MultiPoint are mapped to the records of the file in sequential order. +</documentation> + </annotation> + </element> + <element name="MultiCurveCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>In a gml:MultiCurveCoverage the domain is partioned into a collection of curves comprising a gml:MultiCurve. The coverage function then maps each curve in the collection to a value in the range set. +The content model is identical with gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiCurve. +In a gml:MultiCurveCoverage the mapping from the domain to the range is straightforward. +- For gml:DataBlock encodings the curves of the gml:MultiCurve are mapped in document order to the tuples of the data block. +- For gml:CompositeValue encodings the curves of the gml:MultiCurve are mapped to the members of the composite value in document order. +- For gml:File encodings the curves of the gml:MultiCurve are mapped to the records of the file in sequential order. +</documentation> + </annotation> + </element> + <element name="MultiSurfaceCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>In a gml:MultiSurfaceCoverage the domain is partioned into a collection of surfaces comprising a gml:MultiSurface. The coverage function than maps each surface in the collection to a value in the range set. +The content model is identical with gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiSurface. +In a gml:MultiSurfaceCoverage the mapping from the domain to the range is straightforward. +- For gml:DataBlock encodings the surfaces of the gml:MultiSurface are mapped in document order to the tuples of the data block. +- For gml:CompositeValue encodings the surfaces of the gml:MultiSurface are mapped to the members of the composite value in document order. +- For gml:File encodings the surfaces of the gml:MultiSurface are mapped to the records of the file in sequential order. +</documentation> + </annotation> + </element> + <element name="MultiSolidCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>In a gml:MultiSolidCoverage the domain is partioned into a collection of solids comprising a gml:MultiSolid. The coverage function than maps each solid in the collection to a value in the range set. +The content model is identical with gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiSolid. +In a gml:MultiSolidCoverage the mapping from the domain to the range is straightforward. +- For gml:DataBlock encodings the solids of the gml:MultiSolid are mapped in document order to the tuples of the data block. +- For gml:CompositeValue encodings the solids of the gml:MultiSolid are mapped to the members of the composite value in document order. +- For gml:File encodings the solids of the gml:MultiSolid are mapped to the records of the file in sequential order. +</documentation> + </annotation> + </element> + <element name="GridCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>A gml:GriddedCoverage is a discrete point coverage in which the domain set is a geometric grid of points. +Note that this is the same as the gml:MultiPointCoverage except that we have a gml:Grid to describe the domain. +The simple gridded coverage is not geometrically referenced and hence no geometric positions are assignable to the points in the grid. Such geometric positioning is introduced in the gml:RectifiedGridCoverage.</documentation> + </annotation> + </element> + <element name="RectifiedGridCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> + <annotation> + <documentation>The gml:RectifiedGridCoverage is a discrete point coverage based on a rectified grid. It is similar to the grid coverage except that the points of the grid are geometrically referenced. The rectified grid coverage has a domain that is a gml:RectifiedGrid geometry.</documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/datums.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/datums.xsd new file mode 100644 index 00000000000..a62b866f0c5 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/datums.xsd @@ -0,0 +1,287 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Clemens Portele (interactive instruments) --> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:datums:3.2.1">datums.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.5 +The datums schema components can be divided into three logical parts, which define elements and types for XML encoding of the definitions of: +- Abstract datum +- Geodetic datums, including ellipsoid and prime meridian +- Multiple other concrete types of spatial or temporal datums +These schema components encode the Datum packages of the UML Models of ISO 19111 Clause 10 and ISO/DIS 19136 D.3.10. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="referenceSystems.xsd"/> + <include schemaLocation="measures.xsd"/> + <element name="AbstractDatum" type="gml:AbstractDatumType" abstract="true" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A gml:AbstractDatum specifies the relationship of a coordinate system to the earth, thus creating a coordinate reference system. A datum uses a parameter or set of parameters that determine the location of the origin of the coordinate reference system. Each datum subtype may be associated with only specific types of coordinate systems. This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.</documentation> + </annotation> + </element> + <complexType name="AbstractDatumType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + <element ref="gml:anchorDefinition" minOccurs="0"/> + <element ref="gml:realizationEpoch" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="anchorDefinition" type="gml:CodeType"> + <annotation> + <documentation>gml:anchorDefinition is a description, possibly including coordinates, of the definition used to anchor the datum to the Earth. Also known as the "origin", especially for engineering and image datums. The codeSpace attribute may be used to reference a source of more detailed on this point or surface, or on a set of such descriptions. +- For a geodetic datum, this point is also known as the fundamental point, which is traditionally the point where the relationship between geoid and ellipsoid is defined. In some cases, the "fundamental point" may consist of a number of points. In those cases, the parameters defining the geoid/ellipsoid relationship have been averaged for these points, and the averages adopted as the datum definition. +- For an engineering datum, the anchor definition may be a physical point, or it may be a point with defined coordinates in another CRS.may +- For an image datum, the anchor definition is usually either the centre of the image or the corner of the image. +- For a temporal datum, this attribute is not defined. Instead of the anchor definition, a temporal datum carries a separate time origin of type DateTime.</documentation> + </annotation> + </element> + <element name="realizationEpoch" type="date"> + <annotation> + <documentation>gml:realizationEpoch is the time after which this datum definition is valid. See ISO 19111 Table 32 for details.</documentation> + </annotation> + </element> + <complexType name="DatumPropertyType"> + <annotation> + <documentation>gml:DatumPropertyType is a property type for association roles to a datum, either referencing or containing the definition of that datum.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="GeodeticDatum" type="gml:GeodeticDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>gml:GeodeticDatum is a geodetic datum defines the precise location and orientation in 3-dimensional space of a defined ellipsoid (or sphere), or of a Cartesian coordinate system centered in this ellipsoid (or sphere).</documentation> + </annotation> + </element> + <complexType name="GeodeticDatumType"> + <complexContent> + <extension base="gml:AbstractDatumType"> + <sequence> + <element ref="gml:primeMeridian"/> + <element ref="gml:ellipsoid"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="primeMeridian" type="gml:PrimeMeridianPropertyType"> + <annotation> + <documentation>gml:primeMeridian is an association role to the prime meridian used by this geodetic datum.</documentation> + </annotation> + </element> + <element name="ellipsoid" type="gml:EllipsoidPropertyType"> + <annotation> + <documentation>gml:ellipsoid is an association role to the ellipsoid used by this geodetic datum.</documentation> + </annotation> + </element> + <complexType name="GeodeticDatumPropertyType"> + <annotation> + <documentation>gml:GeodeticDatumPropertyType is a property type for association roles to a geodetic datum, either referencing or containing the definition of that datum.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:GeodeticDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="Ellipsoid" type="gml:EllipsoidType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A gml:Ellipsoid is a geometric figure that may be used to describe the approximate shape of the earth. In mathematical terms, it is a surface formed by the rotation of an ellipse about its minor axis.</documentation> + </annotation> + </element> + <complexType name="EllipsoidType"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:semiMajorAxis"/> + <element ref="gml:secondDefiningParameter"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="semiMajorAxis" type="gml:MeasureType"> + <annotation> + <documentation>gml:semiMajorAxis specifies the length of the semi-major axis of the ellipsoid, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a length, such as metres or feet.</documentation> + </annotation> + </element> + <element name="secondDefiningParameter"> + <annotation> + <documentation>gml:secondDefiningParameter is a property containing the definition of the second parameter that defines the shape of an ellipsoid. An ellipsoid requires two defining parameters: semi-major axis and inverse flattening or semi-major axis and semi-minor axis. When the reference body is a sphere rather than an ellipsoid, only a single defining parameter is required, namely the radius of the sphere; in that case, the semi-major axis "degenerates" into the radius of the sphere. +The inverseFlattening element contains the inverse flattening value of the ellipsoid. This value is a scale factor (or ratio). It uses gml:LengthType with the restriction that the unit of measure referenced by the uom attribute must be suitable for a scale factor, such as percent, permil, or parts-per-million. +The semiMinorAxis element contains the length of the semi-minor axis of the ellipsoid. When the isSphere element is included, the ellipsoid is degenerate and is actually a sphere. The sphere is completely defined by the semi-major axis, which is the radius of the sphere.</documentation> + </annotation> + <complexType> + <sequence> + <element ref="gml:SecondDefiningParameter"/> + </sequence> + </complexType> + </element> + <element name="SecondDefiningParameter"> + <complexType> + <choice> + <element name="inverseFlattening" type="gml:MeasureType"/> + <element name="semiMinorAxis" type="gml:LengthType"/> + <element name="isSphere" type="boolean" default="true"/> + </choice> + </complexType> + </element> + <complexType name="EllipsoidPropertyType"> + <annotation> + <documentation>gml:EllipsoidPropertyType is a property type for association roles to an ellipsoid, either referencing or containing the definition of that ellipsoid.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:Ellipsoid"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="PrimeMeridian" type="gml:PrimeMeridianType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A gml:PrimeMeridian defines the origin from which longitude values are determined. The default value for the prime meridian gml:identifier value is "Greenwich".</documentation> + </annotation> + </element> + <complexType name="PrimeMeridianType"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:greenwichLongitude"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="greenwichLongitude" type="gml:AngleType"> + <annotation> + <documentation>gml:greenwichLongitude is the longitude of the prime meridian measured from the Greenwich meridian, positive eastward. If the value of the prime meridian "name" is "Greenwich" then the value of greenwichLongitude shall be 0 degrees.</documentation> + </annotation> + </element> + <complexType name="PrimeMeridianPropertyType"> + <annotation> + <documentation>gml:PrimeMeridianPropertyType is a property type for association roles to a prime meridian, either referencing or containing the definition of that meridian.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:PrimeMeridian"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="EngineeringDatum" type="gml:EngineeringDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>gml:EngineeringDatum defines the origin of an engineering coordinate reference system, and is used in a region around that origin. This origin may be fixed with respect to the earth (such as a defined point at a construction site), or be a defined point on a moving vehicle (such as on a ship or satellite).</documentation> + </annotation> + </element> + <complexType name="EngineeringDatumType"> + <complexContent> + <extension base="gml:AbstractDatumType"/> + </complexContent> + </complexType> + <complexType name="EngineeringDatumPropertyType"> + <annotation> + <documentation>gml:EngineeringDatumPropertyType is a property type for association roles to an engineering datum, either referencing or containing the definition of that datum.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:EngineeringDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ImageDatum" type="gml:ImageDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>gml:ImageDatum defines the origin of an image coordinate reference system, and is used in a local context only. For an image datum, the anchor definition is usually either the centre of the image or the corner of the image. For more information, see ISO 19111 B.3.5.</documentation> + </annotation> + </element> + <complexType name="ImageDatumType"> + <complexContent> + <extension base="gml:AbstractDatumType"> + <sequence> + <element ref="gml:pixelInCell"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="pixelInCell" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>gml:pixelInCell is a specification of the way an image grid is associated with the image data attributes. The required codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.</documentation> + </annotation> + </element> + <complexType name="ImageDatumPropertyType"> + <annotation> + <documentation>gml:ImageDatumPropertyType is a property type for association roles to an image datum, either referencing or containing the definition of that datum.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ImageDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="VerticalDatum" type="gml:VerticalDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>gml:VerticalDatum is a textual description and/or a set of parameters identifying a particular reference level surface used as a zero-height surface, including its position with respect to the Earth for any of the height types recognized by this International Standard.</documentation> + </annotation> + </element> + <complexType name="VerticalDatumType"> + <complexContent> + <extension base="gml:AbstractDatumType"/> + </complexContent> + </complexType> + <complexType name="VerticalDatumPropertyType"> + <annotation> + <documentation>gml:VerticalDatumPropertyType is property type for association roles to a vertical datum, either referencing or containing the definition of that datum.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:VerticalDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="TemporalDatum" type="gml:TemporalDatumType" substitutionGroup="gml:AbstractDatum"> + <annotation> + <documentation>A gml:TemporalDatum defines the origin of a Temporal Reference System. This type omits the "anchorDefinition" and "realizationEpoch" elements and adds the "origin" element with the dateTime type.</documentation> + </annotation> + </element> + <complexType name="TemporalDatumType"> + <complexContent> + <extension base="gml:TemporalDatumBaseType"> + <sequence> + <element ref="gml:origin"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TemporalDatumBaseType" abstract="true"> + <annotation> + <documentation>The TemporalDatumBaseType partially defines the origin of a temporal coordinate reference system. This type restricts the AbstractDatumType to remove the "anchorDefinition" and "realizationEpoch" elements.</documentation> + </annotation> + <complexContent> + <restriction base="gml:AbstractDatumType"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:remarks" minOccurs="0"/> + <element ref="gml:domainOfValidity" minOccurs="0"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </restriction> + </complexContent> + </complexType> + <element name="origin" type="dateTime"> + <annotation> + <documentation>gml:origin is the date and time origin of this temporal datum.</documentation> + </annotation> + </element> + <complexType name="TemporalDatumPropertyType"> + <annotation> + <documentation>gml:TemporalDatumPropertyType is a property type for association roles to a temporal datum, either referencing or containing the definition of that datum.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TemporalDatum"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/defaultStyle.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/defaultStyle.xsd new file mode 100644 index 00000000000..5e718a60199 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/defaultStyle.xsd @@ -0,0 +1,453 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:smil20="http://www.w3.org/2001/SMIL20/" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:gml:3.2.1">defaultStyle.xsd</appinfo> + <documentation> + GML is an OGC Standard. + Copyright (c) 2007,2010 Open Geospatial Consortium. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <!-- ============================================================== + includes and imports + ============================================================== --> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="measures.xsd"/> + <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil/smil20.xsd"/> + <!-- ============================================================== + the Style property + ============================================================== --> + <element name="defaultStyle" type="gml:DefaultStylePropertyType"> + <annotation> + <documentation>Top-level property. Used in application schemas to "attach" the styling information to GML data. The link between the data and the style should be established through this property only.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="DefaultStylePropertyType"> + <annotation> + <documentation>[complexType of] Top-level property. Used in application schemas to "attach" the styling information to GML data. The link between the data and the style should be established through this property only.</documentation> + </annotation> + <sequence> + <element ref="gml:AbstractStyle" minOccurs="0"/> + </sequence> + <attribute name="about" type="anyURI" use="optional"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <!-- ============================================================== + the Style + ============================================================== --> + <element name="AbstractStyle" type="gml:AbstractStyleType" abstract="true" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The value of the top-level property. It is an abstract element. Used as the head element of the substitution group for extensibility purposes.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="AbstractStyleType" abstract="true"> + <annotation> + <documentation>[complexType of] The value of the top-level property. It is an abstract element. Used as the head element of the substitution group for extensibility purposes.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"/> + </complexContent> + </complexType> + <!-- =========================================================== --> + <element name="Style" type="gml:StyleType" substitutionGroup="gml:AbstractStyle"> + <annotation> + <documentation>Predefined concrete value of the top-level property. Encapsulates all other styling information.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="StyleType"> + <annotation> + <documentation>[complexType of] Predefined concrete value of the top-level property. Encapsulates all other styling information.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractStyleType"> + <sequence> + <element ref="gml:featureStyle" maxOccurs="unbounded"/> + <element ref="gml:graphStyle" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- ============================================================== + Feature Style Property + ============================================================== --> + <element name="featureStyle" type="gml:FeatureStylePropertyType"> + <annotation> + <documentation/> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="FeatureStylePropertyType"> + <annotation> + <documentation/> + </annotation> + <sequence> + <element ref="gml:FeatureStyle" minOccurs="0"/> + </sequence> + <attribute name="about" type="anyURI" use="optional"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <!-- ============================================================== + Feature Style + ============================================================== --> + <element name="FeatureStyle" type="gml:FeatureStyleType" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The style descriptor for features.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="FeatureStyleType"> + <annotation> + <documentation>[complexType of] The style descriptor for features.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element name="featureConstraint" type="string" minOccurs="0"/> + <element ref="gml:geometryStyle" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:topologyStyle" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:labelStyle" minOccurs="0"/> + </sequence> + <attribute name="featureType" type="string" use="optional"/> + <attribute name="baseType" type="string" use="optional"/> + <attribute name="queryGrammar" type="gml:QueryGrammarEnumeration"/> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== --> + <simpleType name="QueryGrammarEnumeration"> + <annotation> + <documentation>Used to specify the grammar of the feature query mechanism.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="xpath"/> + <enumeration value="xquery"/> + <enumeration value="other"/> + </restriction> + </simpleType> + <!-- ============================================================== + Base style descriptor type (for geometry, topology, label, graph) + ============================================================== --> + <complexType name="BaseStyleDescriptorType"> + <annotation> + <documentation>Base complex type for geometry, topology, label and graph styles.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element name="spatialResolution" type="gml:ScaleType" minOccurs="0"/> + <element name="styleVariation" type="gml:StyleVariationType" minOccurs="0" maxOccurs="unbounded"/> + <element ref="smil20:animate" minOccurs="0" maxOccurs="unbounded"/> + <element ref="smil20:animateMotion" minOccurs="0" maxOccurs="unbounded"/> + <element ref="smil20:animateColor" minOccurs="0" maxOccurs="unbounded"/> + <element ref="smil20:set" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- ============================================================== + Geometry Style Property + ============================================================== --> + <element name="geometryStyle" type="gml:GeometryStylePropertyType"> + <annotation> + <documentation/> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="GeometryStylePropertyType"> + <annotation> + <documentation/> + </annotation> + <sequence> + <element ref="gml:GeometryStyle" minOccurs="0"/> + </sequence> + <attribute name="about" type="anyURI" use="optional"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <!-- ============================================================== + Geometry Style + ============================================================== --> + <element name="GeometryStyle" type="gml:GeometryStyleType" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The style descriptor for geometries of a feature.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="GeometryStyleType"> + <annotation> + <documentation>[complexType of] The style descriptor for geometries of a feature.</documentation> + </annotation> + <complexContent> + <extension base="gml:BaseStyleDescriptorType"> + <sequence> + <choice> + <element ref="gml:symbol"/> + <element name="style" type="string"> + <annotation> + <appinfo>deprecated</appinfo> + <documentation>Deprecated in GML version 3.1.0. Use symbol with inline content instead.</documentation> + </annotation> + </element> + </choice> + <element ref="gml:labelStyle" minOccurs="0"/> + </sequence> + <attribute name="geometryProperty" type="string"/> + <attribute name="geometryType" type="string"/> + </extension> + </complexContent> + </complexType> + <!-- ============================================================== + Topology Style Property + ============================================================== --> + <element name="topologyStyle" type="gml:TopologyStylePropertyType"> + <annotation> + <documentation/> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="TopologyStylePropertyType"> + <annotation> + <documentation/> + </annotation> + <sequence> + <element ref="gml:TopologyStyle" minOccurs="0"/> + </sequence> + <attribute name="about" type="anyURI" use="optional"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <!-- ============================================================== + Topology Style + ============================================================== --> + <element name="TopologyStyle" type="gml:TopologyStyleType" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The style descriptor for topologies of a feature. Describes individual topology elements styles.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="TopologyStyleType"> + <annotation> + <documentation>[complexType of] The style descriptor for topologies of a feature. Describes individual topology elements styles.</documentation> + </annotation> + <complexContent> + <extension base="gml:BaseStyleDescriptorType"> + <sequence> + <choice> + <element ref="gml:symbol"/> + <element name="style" type="string"> + <annotation> + <appinfo>deprecated</appinfo> + <documentation>Deprecated in GML version 3.1.0. Use symbol with inline content instead.</documentation> + </annotation> + </element> + </choice> + <element ref="gml:labelStyle" minOccurs="0"/> + </sequence> + <attribute name="topologyProperty" type="string"/> + <attribute name="topologyType" type="string"/> + </extension> + </complexContent> + </complexType> + <!-- ============================================================== + Label Style Property + ============================================================== --> + <element name="labelStyle" type="gml:LabelStylePropertyType"> + <annotation> + <documentation/> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="LabelStylePropertyType"> + <annotation> + <documentation/> + </annotation> + <sequence> + <element ref="gml:LabelStyle" minOccurs="0"/> + </sequence> + <attribute name="about" type="anyURI" use="optional"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <!-- ============================================================== + Label Style + ============================================================== --> + <element name="LabelStyle" type="gml:LabelStyleType" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The style descriptor for labels of a feature, geometry or topology.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="LabelStyleType"> + <annotation> + <documentation>[complexType of] The style descriptor for labels of a feature, geometry or topology.</documentation> + </annotation> + <complexContent> + <extension base="gml:BaseStyleDescriptorType"> + <sequence> + <element name="style" type="string"/> + <element name="label" type="gml:LabelType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- ============================================================== + Graph Style Property + ============================================================== --> + <element name="graphStyle" type="gml:GraphStylePropertyType"> + <annotation> + <documentation/> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="GraphStylePropertyType"> + <annotation> + <documentation/> + </annotation> + <sequence> + <element ref="gml:GraphStyle" minOccurs="0"/> + </sequence> + <attribute name="about" type="anyURI" use="optional"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <!-- ============================================================== + Graph Style + ============================================================== --> + <element name="GraphStyle" type="gml:GraphStyleType" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The style descriptor for a graph consisting of a number of features. Describes graph-specific style attributes.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="GraphStyleType"> + <annotation> + <documentation>[complexType of] The style descriptor for a graph consisting of a number of features. Describes graph-specific style attributes.</documentation> + </annotation> + <complexContent> + <extension base="gml:BaseStyleDescriptorType"> + <sequence> + <element name="planar" type="boolean" minOccurs="0"/> + <element name="directed" type="boolean" minOccurs="0"/> + <element name="grid" type="boolean" minOccurs="0"/> + <element name="minDistance" type="double" minOccurs="0"/> + <element name="minAngle" type="double" minOccurs="0"/> + <element name="graphType" type="gml:GraphTypeType" minOccurs="0"/> + <element name="drawingType" type="gml:DrawingTypeType" minOccurs="0"/> + <element name="lineType" type="gml:LineTypeType" minOccurs="0"/> + <element name="aestheticCriteria" type="gml:AesheticCriteriaType" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- ============================================================== + Common elements + ============================================================== --> + <element name="symbol" type="gml:SymbolType"> + <annotation> + <documentation>The symbol property. Extends the gml:AssociationType to allow for remote referencing of symbols.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="SymbolType"> + <annotation> + <documentation>[complexType of] The symbol property. Allows for remote referencing of symbols.</documentation> + </annotation> + <sequence> + <any processContents="skip" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="symbolType" type="gml:SymbolTypeEnumeration" use="required"/> + <attribute ref="gml:transform" use="optional"/> + <attribute name="about" type="anyURI" use="optional"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <!-- =========================================================== --> + <simpleType name="SymbolTypeEnumeration"> + <annotation> + <documentation>Used to specify the type of the symbol used.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="svg"/> + <enumeration value="xpath"/> + <enumeration value="other"/> + </restriction> + </simpleType> + <!-- =========================================================== --> + <complexType name="LabelType" mixed="true"> + <annotation> + <documentation>Label is mixed -- composed of text and XPath expressions used to extract the useful information from the feature.</documentation> + </annotation> + <sequence> + <element name="LabelExpression" type="string" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute ref="gml:transform" use="optional"/> + </complexType> + <!-- =========================================================== --> + <attribute name="transform" type="string"> + <annotation> + <documentation>Defines the geometric transformation of entities. There is no particular grammar defined for this value.</documentation> + </annotation> + </attribute> + <!-- =========================================================== --> + <complexType name="StyleVariationType"> + <annotation> + <documentation>Used to vary individual graphic parameters and attributes of the style, symbol or text.</documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attribute name="styleProperty" type="string" use="required"/> + <attribute name="featurePropertyRange" type="string" use="optional"/> + </extension> + </simpleContent> + </complexType> + <!-- ============================================================== + Graph parameters types + ============================================================== --> + <simpleType name="GraphTypeType"> + <annotation> + <documentation>Graph-specific styling property.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="TREE"/> + <enumeration value="BICONNECTED"/> + </restriction> + </simpleType> + <!-- =========================================================== --> + <simpleType name="DrawingTypeType"> + <annotation> + <documentation>Graph-specific styling property.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="POLYLINE"/> + <enumeration value="ORTHOGONAL"/> + </restriction> + </simpleType> + <!-- =========================================================== --> + <simpleType name="LineTypeType"> + <annotation> + <documentation>Graph-specific styling property.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="STRAIGHT"/> + <enumeration value="BENT"/> + </restriction> + </simpleType> + <!-- =========================================================== --> + <simpleType name="AesheticCriteriaType"> + <annotation> + <documentation>Graph-specific styling property.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="MIN_CROSSINGS"/> + <enumeration value="MIN_AREA"/> + <enumeration value="MIN_BENDS"/> + <enumeration value="MAX_BENDS"/> + <enumeration value="UNIFORM_BENDS"/> + <enumeration value="MIN_SLOPES"/> + <enumeration value="MIN_EDGE_LENGTH"/> + <enumeration value="MAX_EDGE_LENGTH"/> + <enumeration value="UNIFORM_EDGE_LENGTH"/> + <enumeration value="MAX_ANGULAR_RESOLUTION"/> + <enumeration value="MIN_ASPECT_RATIO"/> + <enumeration value="MAX_SYMMETRIES"/> + </restriction> + </simpleType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/deprecatedTypes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/deprecatedTypes.xsd new file mode 100644 index 00000000000..7dbd79b2017 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/deprecatedTypes.xsd @@ -0,0 +1,1133 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:deprecatedTypes:3.2.1">deprecatedTypes.xsd</appinfo> + <documentation>All global schema components that are part of the GML schema, but were deprecated. See Annex I. + + GML is an OGC Standard. + Copyright (c) 2007,2010 Open Geospatial Consortium. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <element name="Null" type="gml:NilReasonType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="anchorPoint" type="gml:CodeType" substitutionGroup="gml:anchorDefinition"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="datumRef" type="gml:DatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesPrimeMeridian" type="gml:PrimeMeridianPropertyType" substitutionGroup="gml:primeMeridian"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesEllipsoid" type="gml:EllipsoidPropertyType" substitutionGroup="gml:ellipsoid"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="geodeticDatumRef" type="gml:GeodeticDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ellipsoidRef" type="gml:EllipsoidPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="primeMeridianRef" type="gml:PrimeMeridianPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="engineeringDatumRef" type="gml:EngineeringDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="imageDatumRef" type="gml:ImageDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="verticalDatumRef" type="gml:VerticalDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="temporalDatumRef" type="gml:TemporalDatumPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="coordinateOperationRef" type="gml:CoordinateOperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="singleOperationRef" type="gml:SingleOperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="AbstractOperation" type="gml:AbstractCoordinateOperationType" abstract="true" substitutionGroup="gml:AbstractSingleOperation"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="OperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractOperation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="operationRef" type="gml:OperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="generalConversionRef" type="gml:GeneralConversionPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="generalTransformationRef" type="gml:GeneralTransformationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesSingleOperation" type="gml:CoordinateOperationPropertyType" substitutionGroup="gml:coordOperation"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="concatenatedOperationRef" type="gml:ConcatenatedOperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesOperation" type="gml:CoordinateOperationPropertyType" substitutionGroup="gml:coordOperation"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="passThroughOperationRef" type="gml:PassThroughOperationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesMethod" type="gml:OperationMethodPropertyType" substitutionGroup="gml:method"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesValue" type="gml:AbstractGeneralParameterValuePropertyType" substitutionGroup="gml:parameterValue"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="conversionRef" type="gml:ConversionPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="transformationRef" type="gml:TransformationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="dmsAngleValue" type="gml:DMSAngleType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="valueOfParameter" type="gml:OperationParameterPropertyType" substitutionGroup="gml:operationParameter"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="includesValue" type="gml:AbstractGeneralParameterValuePropertyType" substitutionGroup="gml:parameterValue"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="valuesOfGroup" type="gml:OperationParameterGroupPropertyType" substitutionGroup="gml:group"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="methodFormula" type="gml:CodeType" substitutionGroup="gml:formula"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesParameter" type="gml:AbstractGeneralOperationParameterPropertyType" substitutionGroup="gml:generalOperationParameter"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="operationMethodRef" type="gml:OperationMethodPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="abstractGeneralOperationParameterRef" type="gml:AbstractGeneralOperationParameterPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="operationParameterRef" type="gml:OperationParameterPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="includesParameter" type="gml:AbstractGeneralOperationParameterPropertyType" substitutionGroup="gml:parameter"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="operationParameterGroupRef" type="gml:OperationParameterPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="referenceSystemRef" type="gml:CRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="crsRef" type="gml:CRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="coordinateSystemAxisRef" type="gml:CoordinateSystemAxisPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesAxis" type="gml:CoordinateSystemAxisPropertyType" substitutionGroup="gml:axis"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="coordinateSystemRef" type="gml:CoordinateSystemPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ellipsoidalCSRef" type="gml:EllipsoidalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="cartesianCSRef" type="gml:CartesianCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="verticalCSRef" type="gml:VerticalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="TemporalCS" type="gml:TemporalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="TemporalCSType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="TemporalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TemporalCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="temporalCSRef" type="gml:TemporalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="linearCSRef" type="gml:LinearCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="userDefinedCSRef" type="gml:UserDefinedCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="sphericalCSRef" type="gml:SphericalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="polarCSRef" type="gml:PolarCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="cylindricalCSRef" type="gml:CylindricalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="ObliqueCartesianCS" type="gml:ObliqueCartesianCSType" substitutionGroup="gml:AbstractCoordinateSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ObliqueCartesianCSType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractCoordinateSystemType"/> + </complexContent> + </complexType> + <complexType name="ObliqueCartesianCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:ObliqueCartesianCS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="obliqueCartesianCSRef" type="gml:ObliqueCartesianCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="singleCRSRef" type="gml:SingleCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="definedByConversion" type="gml:GeneralConversionPropertyType" substitutionGroup="gml:conversion"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="includesSingleCRS" type="gml:SingleCRSPropertyType" substitutionGroup="gml:componentReferenceSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="compoundCRSRef" type="gml:CompoundCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesEllipsoidalCS" type="gml:EllipsoidalCSPropertyType" substitutionGroup="gml:ellipsoidalCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesCartesianCS" type="gml:CartesianCSPropertyType" substitutionGroup="gml:cartesianCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesSphericalCS" type="gml:SphericalCSPropertyType" substitutionGroup="gml:sphericalCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesGeodeticDatum" type="gml:GeodeticDatumPropertyType" substitutionGroup="gml:geodeticDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesVerticalCS" type="gml:VerticalCSPropertyType" substitutionGroup="gml:verticalCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesVerticalDatum" type="gml:VerticalDatumPropertyType" substitutionGroup="gml:verticalDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="verticalCRSRef" type="gml:VerticalCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="baseGeographicCRS" type="gml:GeographicCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="projectedCRSRef" type="gml:ProjectedCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesCS" type="gml:CoordinateSystemPropertyType" substitutionGroup="gml:coordinateSystem"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="derivedCRSRef" type="gml:DerivedCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesEngineeringDatum" type="gml:EngineeringDatumPropertyType" substitutionGroup="gml:engineeringDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="engineeringCRSRef" type="gml:EngineeringCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesAffineCS" type="gml:AffineCSPropertyType" substitutionGroup="gml:affineCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesImageDatum" type="gml:ImageDatumPropertyType" substitutionGroup="gml:imageDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesObliqueCartesianCS" type="gml:ObliqueCartesianCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="imageCRSRef" type="gml:ImageCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesTimeCS" type="gml:TimeCSPropertyType" substitutionGroup="gml:timeCS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesTemporalCS" type="gml:TemporalCSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="usesTemporalDatum" type="gml:TemporalDatumPropertyType" substitutionGroup="gml:temporalDatum"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="temporalCRSRef" type="gml:TemporalCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="GeographicCRS" type="gml:GeographicCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="GeographicCRSType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <element ref="gml:usesEllipsoidalCS"/> + <element ref="gml:usesGeodeticDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GeographicCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:GeographicCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="geographicCRSRef" type="gml:GeographicCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="GeocentricCRS" type="gml:GeocentricCRSType" substitutionGroup="gml:AbstractSingleCRS"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="GeocentricCRSType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractCRSType"> + <sequence> + <choice> + <element ref="gml:usesCartesianCS"/> + <element ref="gml:usesSphericalCS"/> + </choice> + <element ref="gml:usesGeodeticDatum"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GeocentricCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:GeocentricCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="geocentricCRSRef" type="gml:GeocentricCRSPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <attribute name="uom" type="anyURI"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </attribute> + <simpleType name="SuccessionType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="string"> + <enumeration value="substitution"/> + <enumeration value="division"/> + <enumeration value="fusion"/> + <enumeration value="initiation"/> + </restriction> + </simpleType> + <element name="dmsAngle" type="gml:DMSAngleType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DMSAngleType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence> + <element ref="gml:degrees"/> + <choice minOccurs="0"> + <element ref="gml:decimalMinutes"/> + <sequence> + <element ref="gml:minutes"/> + <element ref="gml:seconds" minOccurs="0"/> + </sequence> + </choice> + </sequence> + </complexType> + <element name="degrees" type="gml:DegreesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DegreesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <simpleContent> + <extension base="gml:DegreeValueType"> + <attribute name="direction"> + <simpleType> + <restriction base="string"> + <enumeration value="N"/> + <enumeration value="E"/> + <enumeration value="S"/> + <enumeration value="W"/> + <enumeration value="+"/> + <enumeration value="-"/> + </restriction> + </simpleType> + </attribute> + </extension> + </simpleContent> + </complexType> + <simpleType name="DegreeValueType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="nonNegativeInteger"> + <maxInclusive value="359"/> + </restriction> + </simpleType> + <element name="decimalMinutes" type="gml:DecimalMinutesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <simpleType name="DecimalMinutesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="decimal"> + <minInclusive value="0.00"/> + <maxExclusive value="60.00"/> + </restriction> + </simpleType> + <element name="minutes" type="gml:ArcMinutesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <simpleType name="ArcMinutesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="nonNegativeInteger"> + <maxInclusive value="59"/> + </restriction> + </simpleType> + <element name="seconds" type="gml:ArcSecondsType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <simpleType name="ArcSecondsType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="decimal"> + <minInclusive value="0.00"/> + <maxExclusive value="60.00"/> + </restriction> + </simpleType> + <complexType name="AngleChoiceType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <choice> + <element ref="gml:angle"/> + <element ref="gml:dmsAngle"/> + </choice> + </complexType> + <attribute name="remoteSchema" type="anyURI"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </attribute> + <element name="member" type="gml:AssociationRoleType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ArrayAssociationType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence> + <element ref="gml:AbstractObject" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="members" type="gml:ArrayAssociationType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="StringOrRefType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <simpleContent> + <extension base="string"> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </extension> + </simpleContent> + </complexType> + <element name="metaDataProperty" type="gml:MetaDataPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="Bag" type="gml:BagType" substitutionGroup="gml:AbstractGML"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="BagType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:member" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:members" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Array" type="gml:ArrayType" substitutionGroup="gml:AbstractGML"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="ArrayType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:members" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="MetaDataPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractMetaData"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attribute name="about" type="anyURI"/> + </complexType> + <element name="AbstractMetaData" type="gml:AbstractMetaDataType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="AbstractMetaDataType" abstract="true" mixed="true"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence/> + <attribute ref="gml:id"/> + </complexType> + <element name="GenericMetaData" type="gml:GenericMetaDataType" substitutionGroup="gml:AbstractMetaData"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="GenericMetaDataType" mixed="true"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent mixed="true"> + <extension base="gml:AbstractMetaDataType"> + <sequence> + <any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="coordinates" type="gml:CoordinatesType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="pointRep" type="gml:PointPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="location" type="gml:LocationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="LocationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence> + <choice> + <element ref="gml:AbstractGeometry"/> + <element ref="gml:LocationKeyWord"/> + <element ref="gml:LocationString"/> + <element ref="gml:Null"/> + </choice> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="LocationString" type="gml:StringOrRefType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="LocationKeyWord" type="gml:CodeType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="priorityLocation" type="gml:PriorityLocationPropertyType" substitutionGroup="gml:location"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="PriorityLocationPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:LocationPropertyType"> + <attribute name="priority" type="string"/> + </extension> + </complexContent> + </complexType> + <element name="featureMember" type="gml:FeaturePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="featureProperty" type="gml:FeaturePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="FeatureArrayPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractFeature"/> + </sequence> + </complexType> + <element name="featureMembers" type="gml:FeatureArrayPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="BoundedFeatureType" abstract="true"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <restriction base="gml:AbstractFeatureType"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + <element ref="gml:boundedBy"/> + <element ref="gml:location" minOccurs="0"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <complexType name="AbstractFeatureCollectionType" abstract="true"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <sequence> + <element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:featureMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractFeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" substitutionGroup="gml:AbstractFeature"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="FeatureCollection" type="gml:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="FeatureCollectionType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractFeatureCollectionType"/> + </complexContent> + </complexType> + <element name="track" type="gml:HistoryPropertyType" substitutionGroup="gml:history"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="DefinitionCollection" type="gml:DictionaryType" substitutionGroup="gml:Definition"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="definitionMember" type="gml:DictionaryEntryType" substitutionGroup="gml:dictionaryEntry"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="indirectEntry" type="gml:IndirectEntryType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="IndirectEntryType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <sequence> + <element ref="gml:DefinitionProxy"/> + </sequence> + </complexType> + <element name="DefinitionProxy" type="gml:DefinitionProxyType" substitutionGroup="gml:Definition"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="DefinitionProxyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element ref="gml:definitionRef"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="definitionRef" type="gml:ReferenceType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="MappingRule" type="gml:StringOrRefType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <simpleType name="IncrementOrder"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <restriction base="string"> + <enumeration value="+x+y"/> + <enumeration value="+y+x"/> + <enumeration value="+x-y"/> + <enumeration value="-x-y"/> + </restriction> + </simpleType> + <element name="centerOf" type="gml:PointPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="position" type="gml:PointPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="extentOf" type="gml:SurfacePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="edgeOf" type="gml:CurvePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="centerLineOf" type="gml:CurvePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiLocation" type="gml:MultiPointPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiCenterOf" type="gml:MultiPointPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiPosition" type="gml:MultiPointPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiCenterLineOf" type="gml:MultiCurvePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiEdgeOf" type="gml:MultiCurvePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiCoverage" type="gml:MultiSurfacePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiExtentOf" type="gml:MultiSurfacePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="polygonPatches" type="gml:SurfacePatchArrayPropertyType" substitutionGroup="gml:patches"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="trianglePatches" type="gml:SurfacePatchArrayPropertyType" substitutionGroup="gml:patches"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiPointDomain" type="gml:DomainSetType" substitutionGroup="gml:domainSet"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiCurveDomain" type="gml:DomainSetType" substitutionGroup="gml:domainSet"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiSurfaceDomain" type="gml:DomainSetType" substitutionGroup="gml:domainSet"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiSolidDomain" type="gml:DomainSetType" substitutionGroup="gml:domainSet"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="gridDomain" type="gml:DomainSetType" substitutionGroup="gml:domainSet"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="rectifiedGridDomain" type="gml:DomainSetType" substitutionGroup="gml:domainSet"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="generalOperationParameter" type="gml:AbstractGeneralOperationParameterPropertyType" substitutionGroup="gml:parameter"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="MovingObjectStatus" type="gml:MovingObjectStatusType" substitutionGroup="gml:AbstractTimeSlice"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <complexType name="MovingObjectStatusType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <complexContent> + <extension base="gml:AbstractTimeSliceType"> + <sequence> + <choice> + <element name="position" type="gml:GeometryPropertyType"/> + <element ref="gml:pos"/> + <element ref="gml:locationName"/> + <element ref="gml:locationReference"/> + <element ref="gml:location"/> + </choice> + <element name="speed" type="gml:MeasureType" minOccurs="0"/> + <element name="bearing" type="gml:DirectionPropertyType" minOccurs="0"/> + <element name="acceleration" type="gml:MeasureType" minOccurs="0"/> + <element name="elevation" type="gml:MeasureType" minOccurs="0"/> + <element ref="gml:status" minOccurs="0"/> + <element ref="gml:statusReference" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="status" type="gml:StringOrRefType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="statusReference" type="gml:ReferenceType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="topoComplexProperty" type="gml:TopoComplexPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiPointProperty" type="gml:MultiPointPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiCurveProperty" type="gml:MultiCurvePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiSurfaceProperty" type="gml:MultiSurfacePropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiSolidProperty" type="gml:MultiSolidPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="pointArrayProperty" type="gml:PointArrayPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="curveArrayProperty" type="gml:CurveArrayPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="surfaceArrayProperty" type="gml:SurfaceArrayPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element name="solidArrayProperty" type="gml:SolidArrayPropertyType"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/dictionary.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/dictionary.xsd new file mode 100644 index 00000000000..8d6f94ab620 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/dictionary.xsd @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:opengis:specification:gml:schema-xsd:dictionary:v3.2.1">dictionary.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 16. +Many applications require definitions of terms which are used within instance documents as the values of certain properties or as reference information to tie properties to standard information values in some way. Units of measure and descriptions of measurable phenomena are two particular examples. +It will often be convenient to use definitions provided by external authorities. These may already be packaged for delivery in various ways, both online and offline. In order that they may be referred to from GML documents it is generally necessary that a URI be available for each definition. Where this is the case then it is usually preferable to refer to these directly. +Alternatively, it may be convenient or necessary to capture definitions in XML, either embedded within an instance document containing features or as a separate document. The definitions may be transcriptions from an external source, or may be new definitions for a local purpose. In order to support this case, some simple components are provided in GML in the form of +- a generic gml:Definition, which may serve as the basis for more specialized definitions +- a generic gml:Dictionary, which allows a set of definitions or references to definitions to be collected +These components may be used directly, but also serve as the basis for more specialised definition elements in GML, in particular: coordinate operations, coordinate reference systems, datums, temporal reference systems, and units of measure. +Note that the GML definition and dictionary components implement a simple nested hierarchy of definitions with identifiers. The latter provide handles which may be used in the description of more complex relationships between terms. However, the GML dictionary components are not intended to provide direct support for complex taxonomies, ontologies or thesauri. Specialised XML tools are available to satisfy the more sophisticated requirements. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="gmlBase.xsd"/> + <element name="Definition" type="gml:DefinitionType" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The basic gml:Definition element specifies a definition, which can be included in or referenced by a dictionary. +The content model for a generic definition is a derivation from gml:AbstractGMLType. +The gml:description property element shall hold the definition if this can be captured in a simple text string, or the gml:descriptionReference property element may carry a link to a description elsewhere. +The gml:identifier element shall provide one identifier identifying this definition. The identifier shall be unique within the dictionaries using this definition. +The gml:name elements shall provide zero or more terms and synonyms for which this is the definition. +The gml:remarks element shall be used to hold additional textual information that is not conceptually part of the definition but is useful in understanding the definition.</documentation> + </annotation> + </element> + <complexType name="DefinitionBaseType"> + <complexContent> + <restriction base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </restriction> + </complexContent> + </complexType> + <complexType name="DefinitionType"> + <complexContent> + <extension base="gml:DefinitionBaseType"> + <sequence> + <element ref="gml:remarks" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="remarks" type="string"/> + <element name="Dictionary" type="gml:DictionaryType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>Sets of definitions may be collected into dictionaries or collections. +A gml:Dictionary is a non-abstract collection of definitions. +The gml:Dictionary content model adds a list of gml:dictionaryEntry properties that contain or reference gml:Definition objects. A database handle (gml:id attribute) is required, in order that this collection may be referred to. The standard gml:identifier, gml:description, gml:descriptionReference and gml:name properties are available to reference or contain more information about this dictionary. The gml:description and gml:descriptionReference property elements may be used for a description of this dictionary. The derived gml:name element may be used for the name(s) of this dictionary. for remote definiton references gml:dictionaryEntry shall be used. If a Definition object contained within a Dictionary uses the descriptionReference property to refer to a remote definition, then this enables the inclusion of a remote definition in a local dictionary, giving a handle and identifier in the context of the local dictionary.</documentation> + </annotation> + </element> + <complexType name="DictionaryType"> + <complexContent> + <extension base="gml:DefinitionType"> + <choice minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:dictionaryEntry"/> + <element ref="gml:indirectEntry"/> + </choice> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="dictionaryEntry" type="gml:DictionaryEntryType"> + <annotation> + <documentation>This property element contains or refers to the definitions which are members of a dictionary. +The content model follows the standard GML property pattern, so a gml:dictionaryEntry may either contain or refer to a single gml:Definition. Since gml:Dictionary is substitutable for gml:Definition, the content of an entry may itself be a lower level dictionary. +Note that if the value is provided by reference, this definition does not carry a handle (gml:id) in this context, so does not allow external references to this specific definition in this context. When used in this way the referenced definition will usually be in a dictionary in the same XML document.</documentation> + </annotation> + </element> + <complexType name="DictionaryEntryType"> + <complexContent> + <extension base="gml:AbstractMemberType"> + <sequence minOccurs="0"> + <element ref="gml:Definition"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </extension> + </complexContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/direction.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/direction.xsd new file mode 100644 index 00000000000..8b0f7f55cff --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/direction.xsd @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:direction:3.2.1">direction.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 18. +The direction schema components provide the GML Application Schema developer with a standard property element to describe direction, and associated objects that may be used to express orientation, direction, heading, bearing or other directional aspects of geographic features. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryBasic0d1d.xsd"/> + <element name="direction" type="gml:DirectionPropertyType"> + <annotation> + <documentation>The property gml:direction is intended as a pre-defined property expressing a direction to be assigned to features defined in a GML application schema.</documentation> + </annotation> + </element> + <complexType name="DirectionPropertyType"> + <choice minOccurs="0"> + <element name="DirectionVector" type="gml:DirectionVectorType"/> + <element name="DirectionDescription" type="gml:DirectionDescriptionType"/> + <element name="CompassPoint" type="gml:CompassPointEnumeration"/> + <element name="DirectionKeyword" type="gml:CodeType"/> + <element name="DirectionString" type="gml:StringOrRefType"/> + </choice> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="DirectionVectorType"> + <annotation> + <documentation>Direction vectors are specified by providing components of a vector.</documentation> + </annotation> + <choice> + <element ref="gml:vector"/> + <sequence> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + <element name="horizontalAngle" type="gml:AngleType"/> + <element name="verticalAngle" type="gml:AngleType"/> + </sequence> + </choice> + </complexType> + <complexType name="DirectionDescriptionType"> + <annotation> + <documentation>direction descriptions are specified by a compass point code, a keyword, a textual description or a reference to a description. +A gml:compassPoint is specified by a simple enumeration. +In addition, thre elements to contain text-based descriptions of direction are provided. +If the direction is specified using a term from a list, gml:keyword should be used, and the list indicated using the value of the codeSpace attribute. +if the direction is decribed in prose, gml:direction or gml:reference should be used, allowing the value to be included inline or by reference.</documentation> + </annotation> + <choice> + <element name="compassPoint" type="gml:CompassPointEnumeration"/> + <element name="keyword" type="gml:CodeType"/> + <element name="description" type="string"/> + <element name="reference" type="gml:ReferenceType"/> + </choice> + </complexType> + <simpleType name="CompassPointEnumeration"> + <annotation> + <documentation>These directions are necessarily approximate, giving direction with a precision of 22.5°. It is thus generally unnecessary to specify the reference frame, though this may be detailed in the definition of a GML application language.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="N"/> + <enumeration value="NNE"/> + <enumeration value="NE"/> + <enumeration value="ENE"/> + <enumeration value="E"/> + <enumeration value="ESE"/> + <enumeration value="SE"/> + <enumeration value="SSE"/> + <enumeration value="S"/> + <enumeration value="SSW"/> + <enumeration value="SW"/> + <enumeration value="WSW"/> + <enumeration value="W"/> + <enumeration value="WNW"/> + <enumeration value="NW"/> + <enumeration value="NNW"/> + </restriction> + </simpleType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/dynamicFeature.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/dynamicFeature.xsd new file mode 100644 index 00000000000..d755067cf12 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/dynamicFeature.xsd @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:dynamicFeature:3.2.1">dynamicFeature.xsd</appinfo> + <documentation>See ISO/DIS 19136 15.6. +A number of types and relationships are defined to represent the time-varying properties of geographic features. +In a comprehensive treatment of spatiotemporal modeling, Langran (see Bibliography) distinguished three principal temporal entities: states, events, and evidence; the schema specified in the following Subclauses incorporates elements for each. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="feature.xsd"/> + <include schemaLocation="direction.xsd"/> + <element name="dataSource" type="gml:StringOrRefType"> + <annotation> + <documentation>Evidence is represented by a simple gml:dataSource or gml:dataSourceReference property that indicates the source of the temporal data. The remote link attributes of the gml:dataSource element have been deprecated along with its current type.</documentation> + </annotation> + </element> + <element name="dataSourceReference" type="gml:ReferenceType"> + <annotation> + <documentation>Evidence is represented by a simple gml:dataSource or gml:dataSourceReference property that indicates the source of the temporal data.</documentation> + </annotation> + </element> + <group name="dynamicProperties"> + <annotation> + <documentation>A convenience group. This allows an application schema developer to include dynamic properties in a content model in a standard fashion.</documentation> + </annotation> + <sequence> + <element ref="gml:validTime" minOccurs="0"/> + <element ref="gml:history" minOccurs="0"/> + <element ref="gml:dataSource" minOccurs="0"/> + <element ref="gml:dataSourceReference" minOccurs="0"/> + </sequence> + </group> + <element name="DynamicFeature" type="gml:DynamicFeatureType" substitutionGroup="gml:AbstractFeature"> + <annotation> + <documentation>States are captured by time-stamped instances of a feature. The content model extends the standard gml:AbstractFeatureType with the gml:dynamicProperties model group. +Each time-stamped instance represents a 'snapshot' of a feature. The dynamic feature classes will normally be extended to suit particular applications. A dynamic feature bears either a time stamp or a history.</documentation> + </annotation> + </element> + <complexType name="DynamicFeatureType"> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <group ref="gml:dynamicProperties"/> + </extension> + </complexContent> + </complexType> + <element name="DynamicFeatureCollection" type="gml:DynamicFeatureCollectionType" substitutionGroup="gml:DynamicFeature"> + <annotation> + <documentation>A gml:DynamicFeatureCollection is a feature collection that has a gml:validTime property (i.e. is a snapshot of the feature collection) or which has a gml:history property that contains one or more gml:AbstractTimeSlices each of which contain values of the time varying properties of the feature collection. Note that the gml:DynamicFeatureCollection may be one of the following: +1. A feature collection which consists of static feature members (members do not change in time) but which has properties of the collection object as a whole that do change in time . +2. A feature collection which consists of dynamic feature members (the members are gml:DynamicFeatures) but which also has properties of the collection as a whole that vary in time.</documentation> + </annotation> + </element> + <complexType name="DynamicFeatureCollectionType"> + <complexContent> + <extension base="gml:DynamicFeatureType"> + <sequence> + <element ref="gml:dynamicMembers"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="dynamicMembers" type="gml:DynamicFeatureMemberType"/> + <complexType name="DynamicFeatureMemberType"> + <complexContent> + <extension base="gml:AbstractFeatureMemberType"> + <sequence> + <element ref="gml:DynamicFeature" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="AbstractTimeSlice" type="gml:AbstractTimeSliceType" abstract="true" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>To describe an event — an action that occurs at an instant or over an interval of time — GML provides the gml:AbtractTimeSlice element. A timeslice encapsulates the time-varying properties of a dynamic feature -- it shall be extended to represent a time stamped projection of a specific feature. The gml:dataSource property describes how the temporal data was acquired. +A gml:AbstractTimeSlice instance is a GML object that encapsulates updates of the dynamic—or volatile—properties that reflect some change event; it thus includes only those feature properties that have actually changed due to some process. +gml:AbstractTimeSlice basically provides a facility for attribute-level time stamping, in contrast to the object-level time stamping of dynamic feature instances. +The time slice can thus be viewed as event or process-oriented, whereas a snapshot is more state or structure-oriented. A timeslice has richer causality, whereas a snapshot merely portrays the status of the whole. +</documentation> + </annotation> + </element> + <complexType name="AbstractTimeSliceType" abstract="true"> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:validTime"/> + <element ref="gml:dataSource" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="history" type="gml:HistoryPropertyType"> + <annotation> + <documentation>A generic sequence of events constitute a gml:history of an object. +The gml:history element contains a set of elements in the substitution group headed by the abstract element gml:AbstractTimeSlice, representing the time-varying properties of interest. The history property of a dynamic feature associates a feature instance with a sequence of time slices (i.e. change events) that encapsulate the evolution of the feature.</documentation> + </annotation> + </element> + <complexType name="HistoryPropertyType"> + <sequence> + <element ref="gml:AbstractTimeSlice" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/feature.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/feature.xsd new file mode 100644 index 00000000000..1892ef6f8f2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/feature.xsd @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:feature:3.2.1">feature.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 9. +A GML feature is a (representation of a) identifiable real-world object in a selected domain of discourse. The feature schema provides a framework for the creation of GML features and feature collections. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryAggregates.xsd"/> + <include schemaLocation="temporal.xsd"/> + <complexType name="AbstractFeatureType" abstract="true"> + <annotation> + <documentation>The basic feature model is given by the gml:AbstractFeatureType. +The content model for gml:AbstractFeatureType adds two specific properties suitable for geographic features to the content model defined in gml:AbstractGMLType. +The value of the gml:boundedBy property describes an envelope that encloses the entire feature instance, and is primarily useful for supporting rapid searching for features that occur in a particular location. +The value of the gml:location property describes the extent, position or relative location of the feature.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:boundedBy" minOccurs="0"/> + <element ref="gml:location" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="AbstractFeature" type="gml:AbstractFeatureType" abstract="true" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>This abstract element serves as the head of a substitution group which may contain any elements whose content model is derived from gml:AbstractFeatureType. This may be used as a variable in the construction of content models. +gml:AbstractFeature may be thought of as "anything that is a GML feature" and may be used to define variables or templates in which the value of a GML property is "any feature". This occurs in particular in a GML feature collection where the feature member properties contain one or multiple copies of gml:AbstractFeature respectively.</documentation> + </annotation> + </element> + <complexType name="FeaturePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:AbstractFeature"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="boundedBy" type="gml:BoundingShapeType" nillable="true"> + <annotation> + <documentation>This property describes the minimum bounding box or rectangle that encloses the entire feature.</documentation> + </annotation> + </element> + <complexType name="BoundingShapeType"> + <sequence> + <choice> + <element ref="gml:Envelope"/> + <element ref="gml:Null"/> + </choice> + </sequence> + <attribute name="nilReason" type="gml:NilReasonType"/> + </complexType> + <element name="EnvelopeWithTimePeriod" type="gml:EnvelopeWithTimePeriodType" substitutionGroup="gml:Envelope"> + <annotation> + <documentation>gml:EnvelopeWithTimePeriod is provided for envelopes that include a temporal extent. It adds two time position properties, gml:beginPosition and gml:endPosition, which describe the extent of a time-envelope. +Since gml:EnvelopeWithTimePeriod is assigned to the substitution group headed by gml:Envelope, it may be used whenever gml:Envelope is valid.</documentation> + </annotation> + </element> + <complexType name="EnvelopeWithTimePeriodType"> + <complexContent> + <extension base="gml:EnvelopeType"> + <sequence> + <element name="beginPosition" type="gml:TimePositionType"/> + <element name="endPosition" type="gml:TimePositionType"/> + </sequence> + <attribute name="frame" type="anyURI" default="#ISO-8601"/> + </extension> + </complexContent> + </complexType> + <element name="locationName" type="gml:CodeType"> + <annotation> + <documentation>The gml:locationName property element is a convenience property where the text value describes the location of the feature. If the location names are selected from a controlled list, then the list shall be identified in the codeSpace attribute.</documentation> + </annotation> + </element> + <element name="locationReference" type="gml:ReferenceType"> + <annotation> + <documentation>The gml:locationReference property element is a convenience property where the text value referenced by the xlink:href attribute describes the location of the feature.</documentation> + </annotation> + </element> + <complexType name="AbstractFeatureMemberType" abstract="true"> + <annotation> + <documentation>To create a collection of GML features, a property type shall be derived by extension from gml:AbstractFeatureMemberType. +By default, this abstract property type does not imply any ownership of the features in the collection. The owns attribute of gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership of a feature in the collection. A collection shall not own a feature already owned by another object.</documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryAggregates.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryAggregates.xsd new file mode 100644 index 00000000000..9ffbdc05315 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryAggregates.xsd @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:geometryAggregates:3.2.1">geometryAggregates.xsd</appinfo> + <documentation>See ISO/DIS 19136 12.3. +Geometric aggregates (i.e. instances of a subtype of gml:AbstractGeometricAggregateType) are arbitrary aggregations of geometry elements. They are not assumed to have any additional internal structure and are used to "collect" pieces of geometry of a specified type. Application schemas may use aggregates for features that use multiple geometric objects in their representations. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryPrimitives.xsd"/> + <complexType name="AbstractGeometricAggregateType" abstract="true"> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="AbstractGeometricAggregate" type="gml:AbstractGeometricAggregateType" abstract="true" substitutionGroup="gml:AbstractGeometry"> + <annotation> + <documentation>gml:AbstractGeometricAggregate is the abstract head of the substitution group for all geometric aggregates.</documentation> + </annotation> + </element> + <complexType name="MultiGeometryType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:geometryMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:geometryMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiGeometry" type="gml:MultiGeometryType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>gml:MultiGeometry is a collection of one or more GML geometry objects of arbitrary type. +The members of the geometric aggregate may be specified either using the "standard" property (gml:geometryMember) or the array property (gml:geometryMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation> + </annotation> + </element> + <element name="geometryMember" type="gml:GeometryPropertyType"> + <annotation> + <documentation>This property element either references a geometry element via the XLink-attributes or contains the geometry element.</documentation> + </annotation> + </element> + <element name="geometryMembers" type="gml:GeometryArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of geometry elements. The order of the elements is significant and shall be preserved when processing the array.</documentation> + </annotation> + </element> + <complexType name="MultiGeometryPropertyType"> + <annotation> + <documentation>A property that has a geometric aggregate as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeometricAggregate"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="MultiPointType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:pointMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:pointMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiPoint" type="gml:MultiPointType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>A gml:MultiPoint consists of one or more gml:Points. +The members of the geometric aggregate may be specified either using the "standard" property (gml:pointMember) or the array property (gml:pointMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation> + </annotation> + </element> + <element name="pointMember" type="gml:PointPropertyType"> + <annotation> + <documentation>This property element either references a Point via the XLink-attributes or contains the Point element.</documentation> + </annotation> + </element> + <element name="pointMembers" type="gml:PointArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of points. The order of the elements is significant and shall be preserved when processing the array.</documentation> + </annotation> + </element> + <complexType name="MultiPointPropertyType"> + <annotation> + <documentation>A property that has a collection of points as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:MultiPoint"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="MultiCurveType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:curveMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:curveMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiCurve" type="gml:MultiCurveType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>A gml:MultiCurve is defined by one or more gml:AbstractCurves. +The members of the geometric aggregate may be specified either using the "standard" property (gml:curveMember) or the array property (gml:curveMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation> + </annotation> + </element> + <element name="curveMembers" type="gml:CurveArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of curves. The order of the elements is significant and shall be preserved when processing the array.</documentation> + </annotation> + </element> + <complexType name="MultiCurvePropertyType"> + <annotation> + <documentation>A property that has a collection of curves as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:MultiCurve"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="MultiSurfaceType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:surfaceMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:surfaceMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiSurface" type="gml:MultiSurfaceType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>A gml:MultiSurface is defined by one or more gml:AbstractSurfaces. +The members of the geometric aggregate may be specified either using the "standard" property (gml:surfaceMember) or the array property (gml:surfaceMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation> + </annotation> + </element> + <element name="surfaceMembers" type="gml:SurfaceArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of surfaces. The order of the elements is significant and shall be preserved when processing the array.</documentation> + </annotation> + </element> + <complexType name="MultiSurfacePropertyType"> + <annotation> + <documentation>A property that has a collection of surfaces as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:MultiSurface"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="MultiSolidType"> + <complexContent> + <extension base="gml:AbstractGeometricAggregateType"> + <sequence> + <element ref="gml:solidMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:solidMembers" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="MultiSolid" type="gml:MultiSolidType" substitutionGroup="gml:AbstractGeometricAggregate"> + <annotation> + <documentation>A gml:MultiSolid is defined by one or more gml:AbstractSolids. +The members of the geometric aggregate may be specified either using the "standard" property (gml:solidMember) or the array property (gml:solidMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation> + </annotation> + </element> + <element name="solidMember" type="gml:SolidPropertyType"> + <annotation> + <documentation>This property element either references a solid via the XLink-attributes or contains the solid element. A solid element is any element, which is substitutable for gml:AbstractSolid.</documentation> + </annotation> + </element> + <element name="solidMembers" type="gml:SolidArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of solids. The order of the elements is significant and shall be preserved when processing the array.</documentation> + </annotation> + </element> + <complexType name="MultiSolidPropertyType"> + <annotation> + <documentation>A property that has a collection of solids as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:MultiSolid"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryBasic0d1d.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryBasic0d1d.xsd new file mode 100644 index 00000000000..2ac83e315bc --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryBasic0d1d.xsd @@ -0,0 +1,277 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:geometryBasic0d1d:3.2.1">geometryBasic0d1d.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 10. +Any geometry element that inherits the semantics of AbstractGeometryType may be viewed as a set of direct positions. +All of the classes derived from AbstractGeometryType inherit an optional association to a coordinate reference system. All direct positions shall directly or indirectly be associated with a coordinate reference system. When geometry elements are aggregated in another geometry element (such as a MultiGeometry or GeometricComplex), which already has a coordinate reference system specified, then these elements are assumed to be in that same coordinate reference system unless otherwise specified. +The geometry model distinguishes geometric primitives, aggregates and complexes. +Geometric primitives, i.e. instances of a subtype of AbstractGeometricPrimitiveType, will be open, that is, they will not contain their boundary points; curves will not contain their end points, surfaces will not contain their boundary curves, and solids will not contain their bounding surfaces. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="measures.xsd"/> + <complexType name="AbstractGeometryType" abstract="true"> + <annotation> + <documentation>All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute (gml:id), one or more names (elements identifier and name) and a description (elements description and descriptionReference) . It may be associated with a spatial reference system (attribute group gml:SRSReferenceGroup). +The following rules shall be adhered to: +- Every geometry type shall derive from this abstract type. +- Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of AbstractGeometry.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"> + <attributeGroup ref="gml:SRSReferenceGroup"/> + </extension> + </complexContent> + </complexType> + <attributeGroup name="SRSReferenceGroup"> + <annotation> + <documentation>The attribute group SRSReferenceGroup is an optional reference to the CRS used by this geometry, with optional additional information to simplify the processing of the coordinates when a more complete definition of the CRS is not needed. +In general the attribute srsName points to a CRS instance of gml:AbstractCoordinateReferenceSystem. For well-known references it is not required that the CRS description exists at the location the URI points to. +If no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of.</documentation> + </annotation> + <attribute name="srsName" type="anyURI"/> + <attribute name="srsDimension" type="positiveInteger"/> + <attributeGroup ref="gml:SRSInformationGroup"/> + </attributeGroup> + <attributeGroup name="SRSInformationGroup"> + <annotation> + <documentation>The attributes uomLabels and axisLabels, defined in the SRSInformationGroup attribute group, are optional additional and redundant information for a CRS to simplify the processing of the coordinate values when a more complete definition of the CRS is not needed. This information shall be the same as included in the complete definition of the CRS, referenced by the srsName attribute. When the srsName attribute is included, either both or neither of the axisLabels and uomLabels attributes shall be included. When the srsName attribute is omitted, both of these attributes shall be omitted. +The attribute axisLabels is an ordered list of labels for all the axes of this CRS. The gml:axisAbbrev value should be used for these axis labels, after spaces and forbidden characters are removed. When the srsName attribute is included, this attribute is optional. When the srsName attribute is omitted, this attribute shall also be omitted. +The attribute uomLabels is an ordered list of unit of measure (uom) labels for all the axes of this CRS. The value of the string in the gml:catalogSymbol should be used for this uom labels, after spaces and forbidden characters are removed. When the axisLabels attribute is included, this attribute shall also be included. When the axisLabels attribute is omitted, this attribute shall also be omitted.</documentation> + </annotation> + <attribute name="axisLabels" type="gml:NCNameList"/> + <attribute name="uomLabels" type="gml:NCNameList"/> + </attributeGroup> + <element name="AbstractGeometry" type="gml:AbstractGeometryType" abstract="true" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>The AbstractGeometry element is the abstract head of the substitution group for all geometry elements of GML. This includes pre-defined and user-defined geometry elements. Any geometry element shall be a direct or indirect extension/restriction of AbstractGeometryType and shall be directly or indirectly in the substitution group of AbstractGeometry.</documentation> + </annotation> + </element> + <complexType name="GeometryPropertyType"> + <annotation> + <documentation>A geometric property may either be any geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same or another document). Note that either the reference or the contained element shall be given, but not both or none. +If a feature has a property that takes a geometry element as its value, this is called a geometry property. A generic type for such a geometry property is GeometryPropertyType.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeometry"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="GeometryArrayPropertyType"> + <annotation> + <documentation>If a feature has a property which takes an array of geometry elements as its value, this is called a geometry array property. A generic type for such a geometry property is GeometryArrayPropertyType. +The elements are always contained inline in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractGeometry"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="DirectPositionType"> + <annotation> + <documentation>Direct position instances hold the coordinates for a position within some coordinate reference system (CRS). Since direct positions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the srsName attribute will in general be missing, if this particular direct position is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS. +if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of, typically a geometric object like a point, curve, etc.</documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleList"> + <attributeGroup ref="gml:SRSReferenceGroup"/> + </extension> + </simpleContent> + </complexType> + <element name="pos" type="gml:DirectPositionType"/> + <complexType name="DirectPositionListType"> + <annotation> + <documentation>posList instances (and other instances with the content model specified by DirectPositionListType) hold the coordinates for a sequence of direct positions within the same coordinate reference system (CRS). +if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of, typically a geometric object like a point, curve, etc. +The optional attribute count specifies the number of direct positions in the list. If the attribute count is present then the attribute srsDimension shall be present, too. +The number of entries in the list is equal to the product of the dimensionality of the coordinate reference system (i.e. it is a derived value of the coordinate reference system definition) and the number of direct positions.</documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleList"> + <attributeGroup ref="gml:SRSReferenceGroup"/> + <attribute name="count" type="positiveInteger"/> + </extension> + </simpleContent> + </complexType> + <element name="posList" type="gml:DirectPositionListType"/> + <group name="geometricPositionGroup"> + <annotation> + <documentation>GML supports two different ways to specify a geometric position: either by a direct position (a data type) or a point (a geometric object). +pos elements are positions that are "owned" by the geometric primitive encapsulating this geometric position. +pointProperty elements contain a point that may be referenced from other geometry elements or reference another point defined elsewhere (reuse of existing points).</documentation> + </annotation> + <choice> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + </choice> + </group> + <group name="geometricPositionListGroup"> + <annotation> + <documentation>GML supports two different ways to specify a list of geometric positions: either by a sequence of geometric positions (by reusing the group definition) or a sequence of direct positions (element posList). +The posList element allows for a compact way to specify the coordinates of the positions, if all positions are represented in the same coordinate reference system.</documentation> + </annotation> + <choice> + <element ref="gml:posList"/> + <group ref="gml:geometricPositionGroup" maxOccurs="unbounded"/> + </choice> + </group> + <complexType name="VectorType"> + <annotation> + <documentation>For some applications the components of the position may be adjusted to yield a unit vector.</documentation> + </annotation> + <simpleContent> + <restriction base="gml:DirectPositionType"/> + </simpleContent> + </complexType> + <element name="vector" type="gml:VectorType"/> + <complexType name="EnvelopeType"> + <choice> + <sequence> + <element name="lowerCorner" type="gml:DirectPositionType"/> + <element name="upperCorner" type="gml:DirectPositionType"/> + </sequence> + <element ref="gml:pos" minOccurs="2" maxOccurs="2"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </element> + <element ref="gml:coordinates"/> + </choice> + <attributeGroup ref="gml:SRSReferenceGroup"/> + </complexType> + <element name="Envelope" type="gml:EnvelopeType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions. The first direct position is the "lower corner" (a coordinate position consisting of all the minimal ordinates for each dimension for all points within the envelope), the second one the "upper corner" (a coordinate position consisting of all the maximal ordinates for each dimension for all points within the envelope). +The use of the properties "coordinates" and "pos" has been deprecated. The explicitly named properties "lowerCorner" and "upperCorner" shall be used instead.</documentation> + </annotation> + </element> + <complexType name="AbstractGeometricPrimitiveType" abstract="true"> + <annotation> + <documentation>gml:AbstractGeometricPrimitiveType is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"/> + </complexContent> + </complexType> + <element name="AbstractGeometricPrimitive" type="gml:AbstractGeometricPrimitiveType" abstract="true" substitutionGroup="gml:AbstractGeometry"> + <annotation> + <documentation>The AbstractGeometricPrimitive element is the abstract head of the substitution group for all (pre- and user-defined) geometric primitives.</documentation> + </annotation> + </element> + <complexType name="GeometricPrimitivePropertyType"> + <annotation> + <documentation>A property that has a geometric primitive as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractGeometricPrimitive"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="PointType"> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"> + <sequence> + <choice> + <element ref="gml:pos"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Point" type="gml:PointType" substitutionGroup="gml:AbstractGeometricPrimitive"> + <annotation> + <documentation>A Point is defined by a single coordinate tuple. The direct position of a point is specified by the pos element which is of type DirectPositionType.</documentation> + </annotation> + </element> + <complexType name="PointPropertyType"> + <annotation> + <documentation>A property that has a point as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:Point"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="pointProperty" type="gml:PointPropertyType"> + <annotation> + <documentation>This property element either references a point via the XLink-attributes or contains the point element. pointProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for Point.</documentation> + </annotation> + </element> + <complexType name="PointArrayPropertyType"> + <annotation> + <documentation>gml:PointArrayPropertyType is a container for an array of points. The elements are always contained inline in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:Point"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="AbstractCurveType" abstract="true"> + <annotation> + <documentation>gml:AbstractCurveType is an abstraction of a curve to support the different levels of complexity. The curve may always be viewed as a geometric primitive, i.e. is continuous.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"/> + </complexContent> + </complexType> + <element name="AbstractCurve" type="gml:AbstractCurveType" abstract="true" substitutionGroup="gml:AbstractGeometricPrimitive"> + <annotation> + <documentation>The AbstractCurve element is the abstract head of the substitution group for all (continuous) curve elements.</documentation> + </annotation> + </element> + <complexType name="CurvePropertyType"> + <annotation> + <documentation>A property that has a curve as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractCurve"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="curveProperty" type="gml:CurvePropertyType"> + <annotation> + <documentation>This property element either references a curve via the XLink-attributes or contains the curve element. curveProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for AbstractCurve.</documentation> + </annotation> + </element> + <complexType name="CurveArrayPropertyType"> + <annotation> + <documentation>A container for an array of curves. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractCurve"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="LineStringType"> + <complexContent> + <extension base="gml:AbstractCurveType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="LineString" type="gml:LineStringType" substitutionGroup="gml:AbstractCurve"> + <annotation> + <documentation>A LineString is a special curve that consists of a single segment with linear interpolation. It is defined by two or more coordinate tuples, with linear interpolation between them. The number of direct positions in the list shall be at least two.</documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryBasic2d.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryBasic2d.xsd new file mode 100644 index 00000000000..5781df5c253 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryBasic2d.xsd @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:geometryBasic2d:3.2.1">geometryBasic2d.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 10. + + GML is an OGC Standard. + Copyright (c) 2007,2010 Open Geospatial Consortium. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryBasic0d1d.xsd"/> + <complexType name="AbstractSurfaceType" abstract="true"> + <annotation> + <documentation>gml:AbstractSurfaceType is an abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"/> + </complexContent> + </complexType> + <element name="AbstractSurface" type="gml:AbstractSurfaceType" abstract="true" substitutionGroup="gml:AbstractGeometricPrimitive"> + <annotation> + <documentation>The AbstractSurface element is the abstract head of the substitution group for all (continuous) surface elements.</documentation> + </annotation> + </element> + <complexType name="SurfacePropertyType"> + <annotation> + <documentation>A property that has a surface as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractSurface"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="surfaceProperty" type="gml:SurfacePropertyType"> + <annotation> + <documentation>This property element either references a surface via the XLink-attributes or contains the surface element. surfaceProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for AbstractSurface.</documentation> + </annotation> + </element> + <complexType name="SurfaceArrayPropertyType"> + <annotation> + <documentation>gml:SurfaceArrayPropertyType is a container for an array of surfaces. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractSurface"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="PolygonType"> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:exterior" minOccurs="0"/> + <element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Polygon" type="gml:PolygonType" substitutionGroup="gml:AbstractSurface"> + <annotation> + <documentation>A Polygon is a special surface that is defined by a single surface patch (see D.3.6). The boundary of this patch is coplanar and the polygon uses planar interpolation in its interior. +The elements exterior and interior describe the surface boundary of the polygon.</documentation> + </annotation> + </element> + <element name="exterior" type="gml:AbstractRingPropertyType"> + <annotation> + <documentation>A boundary of a surface consists of a number of rings. In the normal 2D case, one of these rings is distinguished as being the exterior boundary. In a general manifold this is not always possible, in which case all boundaries shall be listed as interior boundaries, and the exterior will be empty.</documentation> + </annotation> + </element> + <element name="interior" type="gml:AbstractRingPropertyType"> + <annotation> + <documentation>A boundary of a surface consists of a number of rings. The "interior" rings separate the surface / surface patch from the area enclosed by the rings.</documentation> + </annotation> + </element> + <complexType name="AbstractRingType" abstract="true"> + <sequence/> + </complexType> + <element name="AbstractRing" type="gml:AbstractRingType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>An abstraction of a ring to support surface boundaries of different complexity. +The AbstractRing element is the abstract head of the substituition group for all closed boundaries of a surface patch.</documentation> + </annotation> + </element> + <complexType name="AbstractRingPropertyType"> + <annotation> + <documentation>A property with the content model of gml:AbstractRingPropertyType encapsulates a ring to represent the surface boundary property of a surface.</documentation> + </annotation> + <sequence> + <element ref="gml:AbstractRing"/> + </sequence> + </complexType> + <complexType name="LinearRingType"> + <complexContent> + <extension base="gml:AbstractRingType"> + <sequence> + <choice> + <choice minOccurs="4" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="LinearRing" type="gml:LinearRingType" substitutionGroup="gml:AbstractRing"> + <annotation> + <documentation>A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; the first and last coordinates shall be coincident. The number of direct positions in the list shall be at least four.</documentation> + </annotation> + </element> + <complexType name="LinearRingPropertyType"> + <annotation> + <documentation>A property with the content model of gml:LinearRingPropertyType encapsulates a linear ring to represent a component of a surface boundary.</documentation> + </annotation> + <sequence> + <element ref="gml:LinearRing"/> + </sequence> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryComplexes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryComplexes.xsd new file mode 100644 index 00000000000..de4f9457d55 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryComplexes.xsd @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:geometryComplexes:3.2.1">geometryComplexes.xsd</appinfo> + <documentation>See ISO/DIS 19136 12.2. +Geometric complexes (i.e. instances of gml:GeometricComplexType) are closed collections of geometric primitives, i.e. they will contain their boundaries. +A geometric complex (gml:GeometricComplex) is defined by ISO 19107:2003, 6.6.1 as "a set of primitive geometric objects (in a common coordinate system) whose interiors are disjoint. Further, if a primitive is in a geometric complex, then there exists a set of primitives in that complex whose point-wise union is the boundary of this first primitive." +A geometric composite (gml:CompositeCurve, gml:CompositeSurface and gml:CompositeSolid) represents a geometric complex with an underlying core geometry that is isomorphic to a primitive, i.e. it can be viewed as a primitive and as a complex. See ISO 19107:2003, 6.1 and 6.6.3 for more details on the nature of composite geometries. +Geometric complexes and composites are intended to be used in application schemas where the sharing of geometry is important. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryAggregates.xsd"/> + <complexType name="GeometricComplexType"> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <element name="element" type="gml:GeometricPrimitivePropertyType" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="GeometricComplex" type="gml:GeometricComplexType" substitutionGroup="gml:AbstractGeometry"/> + <complexType name="GeometricComplexPropertyType"> + <annotation> + <documentation>A property that has a geometric complex as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <choice> + <element ref="gml:GeometricComplex"/> + <element ref="gml:CompositeCurve"/> + <element ref="gml:CompositeSurface"/> + <element ref="gml:CompositeSolid"/> + </choice> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="CompositeCurveType"> + <complexContent> + <extension base="gml:AbstractCurveType"> + <sequence> + <element ref="gml:curveMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="CompositeCurve" type="gml:CompositeCurveType" substitutionGroup="gml:AbstractCurve"> + <annotation> + <documentation>A gml:CompositeCurve is represented by a sequence of (orientable) curves such that each curve in the sequence terminates at the start point of the subsequent curve in the list. +curveMember references or contains inline one curve in the composite curve. +The curves are contiguous, the collection of curves is ordered. Therefore, if provided, the aggregationType attribute shall have the value "sequence".</documentation> + </annotation> + </element> + <complexType name="CompositeSurfaceType"> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:surfaceMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="CompositeSurface" type="gml:CompositeSurfaceType" substitutionGroup="gml:AbstractSurface"> + <annotation> + <documentation>A gml:CompositeSurface is represented by a set of orientable surfaces. It is geometry type with all the geometric properties of a (primitive) surface. Essentially, a composite surface is a collection of surfaces that join in pairs on common boundary curves and which, when considered as a whole, form a single surface. +surfaceMember references or contains inline one surface in the composite surface. +The surfaces are contiguous.</documentation> + </annotation> + </element> + <complexType name="CompositeSolidType"> + <complexContent> + <extension base="gml:AbstractSolidType"> + <sequence> + <element ref="gml:solidMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="CompositeSolid" type="gml:CompositeSolidType" substitutionGroup="gml:AbstractSolid"> + <annotation> + <documentation>gml:CompositeSolid implements ISO 19107 GM_CompositeSolid (see ISO 19107:2003, 6.6.7) as specified in D.2.3.6. +A gml:CompositeSolid is represented by a set of orientable surfaces. It is a geometry type with all the geometric properties of a (primitive) solid. Essentially, a composite solid is a collection of solids that join in pairs on common boundary surfaces and which, when considered as a whole, form a single solid. +solidMember references or contains one solid in the composite solid. The solids are contiguous.</documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryPrimitives.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryPrimitives.xsd new file mode 100644 index 00000000000..9cbd52cc60b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/geometryPrimitives.xsd @@ -0,0 +1,846 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:geometryPrimitives:3.2.1">geometryPrimitives.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 11. +Beside the "simple" geometric primitives specified in the previous Clause, this Clause specifies additional primitives to describe real world situations which require a more expressive geometry model. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryBasic2d.xsd"/> + <complexType name="CurveType"> + <complexContent> + <extension base="gml:AbstractCurveType"> + <sequence> + <element ref="gml:segments"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Curve" type="gml:CurveType" substitutionGroup="gml:AbstractCurve"> + <annotation> + <documentation>A curve is a 1-dimensional primitive. Curves are continuous, connected, and have a measurable length in terms of the coordinate system. +A curve is composed of one or more curve segments. Each curve segment within a curve may be defined using a different interpolation method. The curve segments are connected to one another, with the end point of each segment except the last being the start point of the next segment in the segment list. +The orientation of the curve is positive. +The element segments encapsulates the segments of the curve.</documentation> + </annotation> + </element> + <complexType name="OrientableCurveType"> + <complexContent> + <extension base="gml:AbstractCurveType"> + <sequence> + <element ref="gml:baseCurve"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + </extension> + </complexContent> + </complexType> + <element name="baseCurve" type="gml:CurvePropertyType"> + <annotation> + <documentation>The property baseCurve references or contains the base curve, i.e. it either references the base curve via the XLink-attributes or contains the curve element. A curve element is any element which is substitutable for AbstractCurve. The base curve has positive orientation.</documentation> + </annotation> + </element> + <element name="OrientableCurve" type="gml:OrientableCurveType" substitutionGroup="gml:AbstractCurve"> + <annotation> + <documentation>OrientableCurve consists of a curve and an orientation. If the orientation is "+", then the OrientableCurve is identical to the baseCurve. If the orientation is "-", then the OrientableCurve is related to another AbstractCurve with a parameterization that reverses the sense of the curve traversal.</documentation> + </annotation> + </element> + <complexType name="AbstractCurveSegmentType" abstract="true"> + <attribute name="numDerivativesAtStart" type="integer" default="0"/> + <attribute name="numDerivativesAtEnd" type="integer" default="0"/> + <attribute name="numDerivativeInterior" type="integer" default="0"/> + </complexType> + <element name="AbstractCurveSegment" type="gml:AbstractCurveSegmentType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>A curve segment defines a homogeneous segment of a curve. +The attributes numDerivativesAtStart, numDerivativesAtEnd and numDerivativesInterior specify the type of continuity as specified in ISO 19107:2003, 6.4.9.3. +The AbstractCurveSegment element is the abstract head of the substituition group for all curve segment elements, i.e. continuous segments of the same interpolation mechanism. +All curve segments shall have an attribute interpolation with type gml:CurveInterpolationType specifying the curve interpolation mechanism used for this segment. This mechanism uses the control points and control parameters to determine the position of this curve segment.</documentation> + </annotation> + </element> + <complexType name="CurveSegmentArrayPropertyType"> + <annotation> + <documentation>gml:CurveSegmentArrayPropertyType is a container for an array of curve segments.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractCurveSegment"/> + </sequence> + </complexType> + <element name="segments" type="gml:CurveSegmentArrayPropertyType"> + <annotation> + <documentation>This property element contains a list of curve segments. The order of the elements is significant and shall be preserved when processing the array.</documentation> + </annotation> + </element> + <simpleType name="CurveInterpolationType"> + <annotation> + <documentation>gml:CurveInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="linear"/> + <enumeration value="geodesic"/> + <enumeration value="circularArc3Points"/> + <enumeration value="circularArc2PointWithBulge"/> + <enumeration value="circularArcCenterPointWithRadius"/> + <enumeration value="elliptical"/> + <enumeration value="clothoid"/> + <enumeration value="conic"/> + <enumeration value="polynomialSpline"/> + <enumeration value="cubicSpline"/> + <enumeration value="rationalSpline"/> + </restriction> + </simpleType> + <complexType name="LineStringSegmentType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="linear"/> + </extension> + </complexContent> + </complexType> + <element name="LineStringSegment" type="gml:LineStringSegmentType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>A LineStringSegment is a curve segment that is defined by two or more control points including the start and end point, with linear interpolation between them. +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="ArcStringType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="3" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + <attribute name="numArc" type="integer"/> + </extension> + </complexContent> + </complexType> + <element name="ArcString" type="gml:ArcStringType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>An ArcString is a curve segment that uses three-point circular arc interpolation ("circularArc3Points"). The number of arcs in the arc string may be explicitly stated in the attribute numArc. The number of control points in the arc string shall be 2 * numArc + 1. +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="ArcType"> + <complexContent> + <restriction base="gml:ArcStringType"> + <sequence> + <choice> + <choice minOccurs="3" maxOccurs="3"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + </sequence> + <attribute name="numArc" type="integer" fixed="1"/> + </restriction> + </complexContent> + </complexType> + <element name="Arc" type="gml:ArcType" substitutionGroup="gml:ArcString"> + <annotation> + <documentation>An Arc is an arc string with only one arc unit, i.e. three control points including the start and end point. As arc is an arc string consisting of a single arc, the attribute "numArc" is fixed to "1".</documentation> + </annotation> + </element> + <complexType name="CircleType"> + <complexContent> + <extension base="gml:ArcType"/> + </complexContent> + </complexType> + <element name="Circle" type="gml:CircleType" substitutionGroup="gml:Arc"> + <annotation> + <documentation>A Circle is an arc whose ends coincide to form a simple closed loop. The three control points shall be distinct non-co-linear points for the circle to be unambiguously defined. The arc is simply extended past the third control point until the first control point is encountered.</documentation> + </annotation> + </element> + <complexType name="ArcStringByBulgeType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="bulge" type="double" maxOccurs="unbounded"/> + <element name="normal" type="gml:VectorType" maxOccurs="unbounded"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc2PointWithBulge"/> + <attribute name="numArc" type="integer"/> + </extension> + </complexContent> + </complexType> + <element name="ArcStringByBulge" type="gml:ArcStringByBulgeType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>This variant of the arc computes the mid points of the arcs instead of storing the coordinates directly. The control point sequence consists of the start and end points of each arc plus the bulge (see ISO 19107:2003, 6.4.17.2). The normal is a vector normal (perpendicular) to the chord of the arc (see ISO 19107:2003, 6.4.17.4). +The interpolation is fixed as "circularArc2PointWithBulge". +The number of arcs in the arc string may be explicitly stated in the attribute numArc. The number of control points in the arc string shall be numArc + 1. +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="ArcByBulgeType"> + <complexContent> + <restriction base="gml:ArcStringByBulgeType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="2"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="bulge" type="double"/> + <element name="normal" type="gml:VectorType"/> + </sequence> + <attribute name="numArc" type="integer" fixed="1"/> + </restriction> + </complexContent> + </complexType> + <element name="ArcByBulge" type="gml:ArcByBulgeType" substitutionGroup="gml:ArcStringByBulge"> + <annotation> + <documentation>An ArcByBulge is an arc string with only one arc unit, i.e. two control points, one bulge and one normal vector. +As arc is an arc string consisting of a single arc, the attribute "numArc" is fixed to "1".</documentation> + </annotation> + </element> + <complexType name="ArcByCenterPointType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="radius" type="gml:LengthType"/> + <element name="startAngle" type="gml:AngleType" minOccurs="0"/> + <element name="endAngle" type="gml:AngleType" minOccurs="0"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArcCenterPointWithRadius"/> + <attribute name="numArc" type="integer" use="required" fixed="1"/> + </extension> + </complexContent> + </complexType> + <element name="ArcByCenterPoint" type="gml:ArcByCenterPointType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>This variant of the arc requires that the points on the arc shall be computed instead of storing the coordinates directly. The single control point is the center point of the arc plus the radius and the bearing at start and end. This representation can be used only in 2D. +The element radius specifies the radius of the arc. +The element startAngle specifies the bearing of the arc at the start. +The element endAngle specifies the bearing of the arc at the end. +The interpolation is fixed as "circularArcCenterPointWithRadius". +Since this type describes always a single arc, the attribute "numArc" is fixed to "1". +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="CircleByCenterPointType"> + <complexContent> + <restriction base="gml:ArcByCenterPointType"> + <sequence> + <choice> + <choice> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="radius" type="gml:LengthType"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <element name="CircleByCenterPoint" type="gml:CircleByCenterPointType" substitutionGroup="gml:ArcByCenterPoint"> + <annotation> + <documentation>A gml:CircleByCenterPoint is an gml:ArcByCenterPoint with identical start and end angle to form a full circle. Again, this representation can be used only in 2D.</documentation> + </annotation> + </element> + <complexType name="CubicSplineType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="2" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="vectorAtStart" type="gml:VectorType"/> + <element name="vectorAtEnd" type="gml:VectorType"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="cubicSpline"/> + <attribute name="degree" type="integer" fixed="3"/> + </extension> + </complexContent> + </complexType> + <element name="CubicSpline" type="gml:CubicSplineType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>The number of control points shall be at least three. +vectorAtStart is the unit tangent vector at the start point of the spline. vectorAtEnd is the unit tangent vector at the end point of the spline. Only the direction of the vectors shall be used to determine the shape of the cubic spline, not their length. +interpolation is fixed as "cubicSpline". +degree shall be the degree of the polynomial used for the interpolation in this spline. Therefore the degree for a cubic spline is fixed to "3". +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="BSplineType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <choice> + <choice minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="degree" type="nonNegativeInteger"/> + <element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="unbounded"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" default="polynomialSpline"/> + <attribute name="isPolynomial" type="boolean"/> + <attribute name="knotType" type="gml:KnotTypesType"/> + </extension> + </complexContent> + </complexType> + <element name="BSpline" type="gml:BSplineType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>A B-Spline is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions as specified in ISO 19107:2003, 6.4.30. Therefore, interpolation may be either "polynomialSpline" or "rationalSpline" depending on the interpolation type; default is "polynomialSpline". +degree shall be the degree of the polynomial used for interpolation in this spline. +knot shall be the sequence of distinct knots used to define the spline basis functions (see ISO 19107:2003, 6.4.26.2). +The attribute isPolynomial shall be set to "true" if this is a polynomial spline (see ISO 19107:2003, 6.4.30.5). +The attribute knotType shall provide the type of knot distribution used in defining this spline (see ISO 19107:2003, 6.4.30.4). +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="KnotType"> + <sequence> + <element name="value" type="double"/> + <element name="multiplicity" type="nonNegativeInteger"/> + <element name="weight" type="double"/> + </sequence> + </complexType> + <complexType name="KnotPropertyType"> + <annotation> + <documentation>gml:KnotPropertyType encapsulates a knot to use it in a geometric type.</documentation> + </annotation> + <sequence> + <element name="Knot" type="gml:KnotType"> + <annotation> + <documentation>A knot is a breakpoint on a piecewise spline curve. +value is the value of the parameter at the knot of the spline (see ISO 19107:2003, 6.4.24.2). +multiplicity is the multiplicity of this knot used in the definition of the spline (with the same weight). +weight is the value of the averaging weight used for this knot of the spline.</documentation> + </annotation> + </element> + </sequence> + </complexType> + <simpleType name="KnotTypesType"> + <annotation> + <documentation>This enumeration type specifies values for the knots' type (see ISO 19107:2003, 6.4.25).</documentation> + </annotation> + <restriction base="string"> + <enumeration value="uniform"/> + <enumeration value="quasiUniform"/> + <enumeration value="piecewiseBezier"/> + </restriction> + </simpleType> + <complexType name="BezierType"> + <complexContent> + <restriction base="gml:BSplineType"> + <sequence> + <choice> + <choice minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:pos"/> + <element ref="gml:pointProperty"/> + <element ref="gml:pointRep"/> + </choice> + <element ref="gml:posList"/> + <element ref="gml:coordinates"/> + </choice> + <element name="degree" type="nonNegativeInteger"/> + <element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="2"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="polynomialSpline"/> + <attribute name="isPolynomial" type="boolean" fixed="true"/> + <attribute name="knotType" type="gml:KnotTypesType" use="prohibited"/> + </restriction> + </complexContent> + </complexType> + <element name="Bezier" type="gml:BezierType" substitutionGroup="gml:BSpline"> + <annotation> + <documentation>Bezier curves are polynomial splines that use Bezier or Bernstein polynomials for interpolation purposes. It is a special case of the B-Spline curve with two knots. +degree shall be the degree of the polynomial used for interpolation in this spline. +knot shall be the sequence of distinct knots used to define the spline basis functions. +interpolation is fixed as "polynomialSpline". +isPolynomial is fixed as "true". +knotType is not relevant for Bezier curve segments. +</documentation> + </annotation> + </element> + <complexType name="OffsetCurveType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <element name="offsetBase" type="gml:CurvePropertyType"/> + <element name="distance" type="gml:LengthType"/> + <element name="refDirection" type="gml:VectorType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="OffsetCurve" type="gml:OffsetCurveType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>An offset curve is a curve at a constant distance from the basis curve. offsetBase is the base curve from which this curve is defined as an offset. distance and refDirection have the same meaning as specified in ISO 19107:2003, 6.4.23. +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="AffinePlacementType"> + <sequence> + <element name="location" type="gml:DirectPositionType"/> + <element name="refDirection" type="gml:VectorType" maxOccurs="unbounded"/> + <element name="inDimension" type="positiveInteger"/> + <element name="outDimension" type="positiveInteger"/> + </sequence> + </complexType> + <element name="AffinePlacement" type="gml:AffinePlacementType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>location, refDirection, inDimension and outDimension have the same meaning as specified in ISO 19107:2003, 6.4.21.</documentation> + </annotation> + </element> + <complexType name="ClothoidType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <sequence> + <element name="refLocation"> + <complexType> + <sequence> + <element ref="gml:AffinePlacement"/> + </sequence> + </complexType> + </element> + <element name="scaleFactor" type="decimal"/> + <element name="startParameter" type="double"/> + <element name="endParameter" type="double"/> + </sequence> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="clothoid"/> + </extension> + </complexContent> + </complexType> + <element name="Clothoid" type="gml:ClothoidType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>A clothoid, or Cornu's spiral, is plane curve whose curvature is a fixed function of its length. +refLocation, startParameter, endParameter and scaleFactor have the same meaning as specified in ISO 19107:2003, 6.4.22. +interpolation is fixed as "clothoid". +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="GeodesicStringType"> + <complexContent> + <extension base="gml:AbstractCurveSegmentType"> + <choice> + <element ref="gml:posList"/> + <group ref="gml:geometricPositionGroup" minOccurs="2" maxOccurs="unbounded"/> + </choice> + <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="geodesic"/> + </extension> + </complexContent> + </complexType> + <element name="GeodesicString" type="gml:GeodesicStringType" substitutionGroup="gml:AbstractCurveSegment"> + <annotation> + <documentation>A sequence of geodesic segments. +The number of control points shall be at least two. +interpolation is fixed as "geodesic". +The content model follows the general pattern for the encoding of curve segments.</documentation> + </annotation> + </element> + <complexType name="GeodesicType"> + <complexContent> + <extension base="gml:GeodesicStringType"/> + </complexContent> + </complexType> + <element name="Geodesic" type="gml:GeodesicType" substitutionGroup="gml:GeodesicString"/> + <complexType name="SurfaceType"> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:patches"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Surface" type="gml:SurfaceType" substitutionGroup="gml:AbstractSurface"> + <annotation> + <documentation>A Surface is a 2-dimensional primitive and is composed of one or more surface patches as specified in ISO 19107:2003, 6.3.17.1. The surface patches are connected to one another. +patches encapsulates the patches of the surface.</documentation> + </annotation> + </element> + <complexType name="OrientableSurfaceType"> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:baseSurface"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + </extension> + </complexContent> + </complexType> + <element name="baseSurface" type="gml:SurfacePropertyType"> + <annotation> + <documentation>The property baseSurface references or contains the base surface. The property baseSurface either references the base surface via the XLink-attributes or contains the surface element. A surface element is any element which is substitutable for gml:AbstractSurface. The base surface has positive orientation.</documentation> + </annotation> + </element> + <element name="OrientableSurface" type="gml:OrientableSurfaceType" substitutionGroup="gml:AbstractSurface"> + <annotation> + <documentation>OrientableSurface consists of a surface and an orientation. If the orientation is "+", then the OrientableSurface is identical to the baseSurface. If the orientation is "-", then the OrientableSurface is a reference to a gml:AbstractSurface with an up-normal that reverses the direction for this OrientableSurface, the sense of "the top of the surface".</documentation> + </annotation> + </element> + <complexType name="AbstractSurfacePatchType" abstract="true"/> + <element name="AbstractSurfacePatch" type="gml:AbstractSurfacePatchType" abstract="true"> + <annotation> + <documentation>A surface patch defines a homogenuous portion of a surface. +The AbstractSurfacePatch element is the abstract head of the substituition group for all surface patch elements describing a continuous portion of a surface. +All surface patches shall have an attribute interpolation (declared in the types derived from gml:AbstractSurfacePatchType) specifying the interpolation mechanism used for the patch using gml:SurfaceInterpolationType.</documentation> + </annotation> + </element> + <complexType name="SurfacePatchArrayPropertyType"> + <annotation> + <documentation>gml:SurfacePatchArrayPropertyType is a container for a sequence of surface patches.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractSurfacePatch"/> + </sequence> + </complexType> + <element name="patches" type="gml:SurfacePatchArrayPropertyType"> + <annotation> + <documentation>The patches property element contains the sequence of surface patches. The order of the elements is significant and shall be preserved when processing the array.</documentation> + </annotation> + </element> + <simpleType name="SurfaceInterpolationType"> + <annotation> + <documentation>gml:SurfaceInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="none"/> + <enumeration value="planar"/> + <enumeration value="spherical"/> + <enumeration value="elliptical"/> + <enumeration value="conic"/> + <enumeration value="tin"/> + <enumeration value="parametricCurve"/> + <enumeration value="polynomialSpline"/> + <enumeration value="rationalSpline"/> + <enumeration value="triangulatedSpline"/> + </restriction> + </simpleType> + <complexType name="PolygonPatchType"> + <complexContent> + <extension base="gml:AbstractSurfacePatchType"> + <sequence> + <element ref="gml:exterior" minOccurs="0"/> + <element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> + </extension> + </complexContent> + </complexType> + <element name="PolygonPatch" type="gml:PolygonPatchType" substitutionGroup="gml:AbstractSurfacePatch"> + <annotation> + <documentation>A gml:PolygonPatch is a surface patch that is defined by a set of boundary curves and an underlying surface to which these curves adhere. The curves shall be coplanar and the polygon uses planar interpolation in its interior. +interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of the patch shall be contained within that plane.</documentation> + </annotation> + </element> + <complexType name="TriangleType"> + <complexContent> + <extension base="gml:AbstractSurfacePatchType"> + <sequence> + <element ref="gml:exterior"/> + </sequence> + <attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> + </extension> + </complexContent> + </complexType> + <element name="Triangle" type="gml:TriangleType" substitutionGroup="gml:AbstractSurfacePatch"> + <annotation> + <documentation>gml:Triangle represents a triangle as a surface patch with an outer boundary consisting of a linear ring. Note that this is a polygon (subtype) with no inner boundaries. The number of points in the linear ring shall be four. +The ring (element exterior) shall be a gml:LinearRing and shall form a triangle, the first and the last position shall be coincident. +interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of the patch shall be contained within that plane.</documentation> + </annotation> + </element> + <complexType name="RectangleType"> + <complexContent> + <extension base="gml:AbstractSurfacePatchType"> + <sequence> + <element ref="gml:exterior"/> + </sequence> + <attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> + </extension> + </complexContent> + </complexType> + <element name="Rectangle" type="gml:RectangleType" substitutionGroup="gml:AbstractSurfacePatch"> + <annotation> + <documentation>gml:Rectangle represents a rectangle as a surface patch with an outer boundary consisting of a linear ring. Note that this is a polygon (subtype) with no inner boundaries. The number of points in the linear ring shall be five. +The ring (element exterior) shall be a gml:LinearRing and shall form a rectangle; the first and the last position shall be coincident. +interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of the patch shall be contained within that plane.</documentation> + </annotation> + </element> + <complexType name="RingType"> + <complexContent> + <extension base="gml:AbstractRingType"> + <sequence> + <element ref="gml:curveMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="Ring" type="gml:RingType" substitutionGroup="gml:AbstractRing"> + <annotation> + <documentation>A ring is used to represent a single connected component of a surface boundary as specified in ISO 19107:2003, 6.3.6. +Every gml:curveMember references or contains one curve, i.e. any element which is substitutable for gml:AbstractCurve. In the context of a ring, the curves describe the boundary of the surface. The sequence of curves shall be contiguous and connected in a cycle. +If provided, the aggregationType attribute shall have the value "sequence".</documentation> + </annotation> + </element> + <element name="curveMember" type="gml:CurvePropertyType"/> + <complexType name="RingPropertyType"> + <annotation> + <documentation>A property with the content model of gml:RingPropertyType encapsulates a ring to represent a component of a surface boundary.</documentation> + </annotation> + <sequence> + <element ref="gml:Ring"/> + </sequence> + </complexType> + <group name="PointGrid"> + <annotation> + <documentation>A gml:PointGrid group contains or references points or positions which are organised into sequences or grids. All rows shall have the same number of positions (columns).</documentation> + </annotation> + <sequence> + <element name="rows"> + <complexType> + <sequence> + <element name="Row" maxOccurs="unbounded"> + <complexType> + <group ref="gml:geometricPositionListGroup"/> + </complexType> + </element> + </sequence> + </complexType> + </element> + </sequence> + </group> + <complexType name="AbstractParametricCurveSurfaceType" abstract="true"> + <complexContent> + <extension base="gml:AbstractSurfacePatchType"> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="AbstractParametricCurveSurface" type="gml:AbstractParametricCurveSurfaceType" abstract="true" substitutionGroup="gml:AbstractSurfacePatch"> + <annotation> + <documentation>The element provides a substitution group head for the surface patches based on parametric curves. All properties are specified in the derived subtypes. All derived subtypes shall conform to the constraints specified in ISO 19107:2003, 6.4.40. +If provided, the aggregationType attribute shall have the value "set".</documentation> + </annotation> + </element> + <complexType name="AbstractGriddedSurfaceType" abstract="true"> + <complexContent> + <extension base="gml:AbstractParametricCurveSurfaceType"> + <sequence> + <group ref="gml:PointGrid"/> + </sequence> + <attribute name="rows" type="integer"/> + <attribute name="columns" type="integer"/> + </extension> + </complexContent> + </complexType> + <element name="AbstractGriddedSurface" type="gml:AbstractGriddedSurfaceType" abstract="true" substitutionGroup="gml:AbstractParametricCurveSurface"> + <annotation> + <documentation>if provided, rows gives the number of rows, columns the number of columns in the parameter grid. The parameter grid is represented by an instance of the gml:PointGrid group. +The element provides a substitution group head for the surface patches based on a grid. All derived subtypes shall conform to the constraints specified in ISO 19107:2003, 6.4.41.</documentation> + </annotation> + </element> + <complexType name="ConeType"> + <complexContent> + <extension base="gml:AbstractGriddedSurfaceType"> + <attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + <attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="linear"/> + </extension> + </complexContent> + </complexType> + <element name="Cone" type="gml:ConeType" substitutionGroup="gml:AbstractGriddedSurface"/> + <complexType name="CylinderType"> + <complexContent> + <extension base="gml:AbstractGriddedSurfaceType"> + <attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + <attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="linear"/> + </extension> + </complexContent> + </complexType> + <element name="Cylinder" type="gml:CylinderType" substitutionGroup="gml:AbstractGriddedSurface"/> + <complexType name="SphereType"> + <complexContent> + <extension base="gml:AbstractGriddedSurfaceType"> + <attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + <attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> + </extension> + </complexContent> + </complexType> + <element name="Sphere" type="gml:SphereType" substitutionGroup="gml:AbstractGriddedSurface"/> + <element name="PolyhedralSurface" type="gml:SurfaceType" substitutionGroup="gml:Surface"> + <annotation> + <documentation>A polyhedral surface is a surface composed of polygon patches connected along their common boundary curves. This differs from the surface type only in the restriction on the types of surface patches acceptable. +polygonPatches encapsulates the polygon patches of the polyhedral surface.</documentation> + </annotation> + </element> + <element name="TriangulatedSurface" type="gml:SurfaceType" substitutionGroup="gml:Surface"> + <annotation> + <documentation>A triangulated surface is a polyhedral surface that is composed only of triangles. There is no restriction on how the triangulation is derived. +trianglePatches encapsulates the triangles of the triangulated surface.</documentation> + </annotation> + </element> + <complexType name="TinType"> + <complexContent> + <extension base="gml:SurfaceType"> + <sequence> + <element name="stopLines" type="gml:LineStringSegmentArrayPropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="breakLines" type="gml:LineStringSegmentArrayPropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="maxLength" type="gml:LengthType"/> + <element name="controlPoint"> + <complexType> + <choice> + <element ref="gml:posList"/> + <group ref="gml:geometricPositionGroup" minOccurs="3" maxOccurs="unbounded"/> + </choice> + </complexType> + </element> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Tin" type="gml:TinType" substitutionGroup="gml:TriangulatedSurface"> + <annotation> + <documentation>A tin is a triangulated surface that uses the Delauny algorithm or a similar algorithm complemented with consideration of stoplines (stopLines), breaklines (breakLines), and maximum length of triangle sides (maxLength). controlPoint shall contain a set of the positions (three or more) used as posts for this TIN (corners of the triangles in the TIN). See ISO 19107:2003, 6.4.39 for details.</documentation> + </annotation> + </element> + <complexType name="LineStringSegmentArrayPropertyType"> + <annotation> + <documentation>gml:LineStringSegmentArrayPropertyType provides a container for line strings.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:LineStringSegment"/> + </sequence> + </complexType> + <complexType name="AbstractSolidType"> + <annotation> + <documentation>gml:AbstractSolidType is an abstraction of a solid to support the different levels of complexity. The solid may always be viewed as a geometric primitive, i.e. is contiguous.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"/> + </complexContent> + </complexType> + <element name="AbstractSolid" type="gml:AbstractSolidType" abstract="true" substitutionGroup="gml:AbstractGeometricPrimitive"> + <annotation> + <documentation>The AbstractSolid element is the abstract head of the substituition group for all (continuous) solid elements.</documentation> + </annotation> + </element> + <complexType name="SolidPropertyType"> + <annotation> + <documentation>A property that has a solid as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractSolid"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="solidProperty" type="gml:SolidPropertyType"> + <annotation> + <documentation>This property element either references a solid via the XLink-attributes or contains the solid element. solidProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for AbstractSolid.</documentation> + </annotation> + </element> + <complexType name="SolidArrayPropertyType"> + <annotation> + <documentation>gml:SolidArrayPropertyType is a container for an array of solids. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported.</documentation> + </annotation> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractSolid"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="SolidType"> + <complexContent> + <extension base="gml:AbstractSolidType"> + <sequence> + <element name="exterior" type="gml:ShellPropertyType" minOccurs="0"/> + <element name="interior" type="gml:ShellPropertyType" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="Solid" type="gml:SolidType" substitutionGroup="gml:AbstractSolid"> + <annotation> + <documentation>A solid is the basis for 3-dimensional geometry. The extent of a solid is defined by the boundary surfaces as specified in ISO 19107:2003, 6.3.18. exterior specifies the outer boundary, interior the inner boundary of the solid.</documentation> + </annotation> + </element> + <complexType name="ShellType"> + <sequence> + <element ref="gml:surfaceMember" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </complexType> + <element name="Shell" type="gml:ShellType" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>A shell is used to represent a single connected component of a solid boundary as specified in ISO 19107:2003, 6.3.8. +Every gml:surfaceMember references or contains one surface, i.e. any element which is substitutable for gml:AbstractSurface. In the context of a shell, the surfaces describe the boundary of the solid. +If provided, the aggregationType attribute shall have the value "set". +</documentation> + </annotation> + </element> + <element name="surfaceMember" type="gml:SurfacePropertyType"> + <annotation> + <documentation>This property element either references a surface via the XLink-attributes or contains the surface element. A surface element is any element, which is substitutable for gml:AbstractSurface.</documentation> + </annotation> + </element> + <complexType name="ShellPropertyType"> + <annotation> + <documentation>A property with the content model of gml:ShellPropertyType encapsulates a shell to represent a component of a solid boundary.</documentation> + </annotation> + <sequence> + <element ref="gml:Shell"/> + </sequence> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml.xsd new file mode 100644 index 00000000000..b319a195a24 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml.xsd @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:gml:3.2.1">gml.xsd</appinfo> + <documentation> + GML is an OGC Standard. + Copyright (c) 2007,2010 Open Geospatial Consortium. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <!-- ====================================================================== --> + <include schemaLocation="dynamicFeature.xsd"/> + <include schemaLocation="topology.xsd"/> + <include schemaLocation="coverage.xsd"/> + <include schemaLocation="coordinateReferenceSystems.xsd"/> + <include schemaLocation="observation.xsd"/> + <include schemaLocation="temporalReferenceSystems.xsd"/> + <include schemaLocation="deprecatedTypes.xsd"/> + <!-- ====================================================================== --> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gmlBase.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gmlBase.xsd new file mode 100644 index 00000000000..da59ed4f352 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gmlBase.xsd @@ -0,0 +1,185 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:gmlBase:3.2.1">gmlBase.xsd</appinfo> + <documentation>See ISO/DIS 19136 7.2. +The gmlBase schema components establish the GML model and syntax, in particular +- a root XML type from which XML types for all GML objects should be derived, +- a pattern and components for GML properties, +- patterns for collections and arrays, and components for generic collections and arrays, +- components for associating metadata with GML objects, +- components for constructing definitions and dictionaries. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="basicTypes.xsd"/> + <import namespace="http://www.w3.org/1999/xlink" schemaLocation="../xlink/xlink.xsd"/> + <element name="AbstractObject" abstract="true"> + <annotation> + <documentation>This element has no type defined, and is therefore implicitly (according to the rules of W3C XML Schema) an XML Schema anyType. It is used as the head of an XML Schema substitution group which unifies complex content and certain simple content elements used for datatypes in GML, including the gml:AbstractGML substitution group.</documentation> + </annotation> + </element> + <element name="AbstractGML" type="gml:AbstractGMLType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>The abstract element gml:AbstractGML is "any GML object having identity". It acts as the head of an XML Schema substitution group, which may include any element which is a GML feature, or other object, with identity. This is used as a variable in content models in GML core and application schemas. It is effectively an abstract superclass for all GML objects.</documentation> + </annotation> + </element> + <complexType name="AbstractGMLType" abstract="true"> + <sequence> + <group ref="gml:StandardObjectProperties"/> + </sequence> + <attribute ref="gml:id" use="required"/> + </complexType> + <group name="StandardObjectProperties"> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:descriptionReference" minOccurs="0"/> + <element ref="gml:identifier" minOccurs="0"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </group> + <attributeGroup name="AssociationAttributeGroup"> + <annotation> + <documentation>XLink components are the standard method to support hypertext referencing in XML. An XML Schema attribute group, gml:AssociationAttributeGroup, is provided to support the use of Xlinks as the method for indicating the value of a property by reference in a uniform manner in GML.</documentation> + </annotation> + <attributeGroup ref="xlink:simpleAttrs"/> + <attribute name="nilReason" type="gml:NilReasonType"/> + <attribute ref="gml:remoteSchema"> + <annotation> + <appinfo>deprecated</appinfo> + </annotation> + </attribute> + </attributeGroup> + <element name="abstractAssociationRole" type="gml:AssociationRoleType" abstract="true"> + <annotation> + <documentation>Applying this pattern shall restrict the multiplicity of objects in a property element using this content model to exactly one. An instance of this type shall contain an element representing an object, or serve as a pointer to a remote object. +Applying the pattern to define an application schema specific property type allows to restrict +- the inline object to specified object types, +- the encoding to "by-reference only" (see 7.2.3.7), +- the encoding to "inline only" (see 7.2.3.8).</documentation> + </annotation> + </element> + <complexType name="AssociationRoleType"> + <sequence minOccurs="0"> + <any namespace="##any"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <attributeGroup name="OwnershipAttributeGroup"> + <annotation> + <documentation>Encoding a GML property inline vs. by-reference shall not imply anything about the "ownership" of the contained or referenced GML Object, i.e. the encoding style shall not imply any "deep-copy" or "deep-delete" semantics. To express ownership over the contained or referenced GML Object, the gml:OwnershipAttributeGroup attribute group may be added to object-valued property elements. If the attribute group is not part of the content model of such a property element, then the value may not be "owned". +When the value of the owns attribute is "true", the existence of inline or referenced object(s) depends upon the existence of the parent object.</documentation> + </annotation> + <attribute name="owns" type="boolean" default="false"/> + </attributeGroup> + <element name="abstractStrictAssociationRole" type="gml:AssociationRoleType" abstract="true"> + <annotation> + <documentation>This element shows how an element + declaration may include a Schematron constraint to limit the property to act + in either inline or by-reference mode, but not both.</documentation> + </annotation> + </element> + <element name="abstractReference" type="gml:ReferenceType" abstract="true"> + <annotation> + <documentation>gml:abstractReference may be used as the head of a subtitution group of more specific elements providing a value by-reference.</documentation> + </annotation> + </element> + <complexType name="ReferenceType"> + <annotation> + <documentation>gml:ReferenceType is intended to be used in application schemas directly, if a property element shall use a "by-reference only" encoding.</documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="abstractInlineProperty" type="gml:InlinePropertyType" abstract="true"> + <annotation> + <documentation>gml:abstractInlineProperty may be used as the head of a subtitution group of more specific elements providing a value inline.</documentation> + </annotation> + </element> + <complexType name="InlinePropertyType"> + <sequence> + <any namespace="##any"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="reversePropertyName" type="string"> + <annotation> + <documentation>If the value of an object property is another object and that object contains also a property for the association between the two objects, then this name of the reverse property may be encoded in a gml:reversePropertyName element in an appinfo annotation of the property element to document the constraint between the two properties. The value of the element shall contain the qualified name of the property element.</documentation> + </annotation> + </element> + <element name="description" type="gml:StringOrRefType"> + <annotation> + <documentation>The value of this property is a text description of the object. gml:description uses gml:StringOrRefType as its content model, so it may contain a simple text string content, or carry a reference to an external description. The use of gml:description to reference an external description has been deprecated and replaced by the gml:descriptionReference property.</documentation> + </annotation> + </element> + <element name="descriptionReference" type="gml:ReferenceType"> + <annotation> + <documentation>The value of this property is a remote text description of the object. The xlink:href attribute of the gml:descriptionReference property references the external description.</documentation> + </annotation> + </element> + <element name="name" type="gml:CodeType"> + <annotation> + <documentation>The gml:name property provides a label or identifier for the object, commonly a descriptive name. An object may have several names, typically assigned by different authorities. gml:name uses the gml:CodeType content model. The authority for a name is indicated by the value of its (optional) codeSpace attribute. The name may or may not be unique, as determined by the rules of the organization responsible for the codeSpace. In common usage there will be one name per authority, so a processing application may select the name from its preferred codeSpace.</documentation> + </annotation> + </element> + <element name="identifier" type="gml:CodeWithAuthorityType"> + <annotation> + <documentation>Often, a special identifier is assigned to an object by the maintaining authority with the intention that it is used in references to the object For such cases, the codeSpace shall be provided. That identifier is usually unique either globally or within an application domain. gml:identifier is a pre-defined property for such identifiers.</documentation> + </annotation> + </element> + <attribute name="id" type="ID"> + <annotation> + <documentation>The attribute gml:id supports provision of a handle for the XML element representing a GML Object. Its use is mandatory for all GML objects. It is of XML type ID, so is constrained to be unique in the XML document within which it occurs.</documentation> + </annotation> + </attribute> + <complexType name="AbstractMemberType" abstract="true"> + <annotation> + <documentation>To create a collection of GML Objects that are not all features, a property type shall be derived by extension from gml:AbstractMemberType. +This abstract property type is intended to be used only in object types where software shall be able to identify that an instance of such an object type is to be interpreted as a collection of objects. +By default, this abstract property type does not imply any ownership of the objects in the collection. The owns attribute of gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership of an object in the collection. A collection shall not own an object already owned by another object. +</documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <attributeGroup name="AggregationAttributeGroup"> + <annotation> + <documentation>A GML Object Collection is any GML Object with a property element in its content model whose content model is derived by extension from gml:AbstractMemberType. +In addition, the complex type describing the content model of the GML Object Collection may also include a reference to the attribute group gml:AggregationAttributeGroup to provide additional information about the semantics of the object collection. This information may be used by applications to group GML objects, and optionally to order and index them. +The allowed values for the aggregationType attribute are defined by gml:AggregationType. See 8.4 of ISO/IEC 11404:1996 for the meaning of the values in the enumeration.</documentation> + </annotation> + <attribute name="aggregationType" type="gml:AggregationType"/> + </attributeGroup> + <simpleType name="AggregationType" final="#all"> + <restriction base="string"> + <enumeration value="set"/> + <enumeration value="bag"/> + <enumeration value="sequence"/> + <enumeration value="array"/> + <enumeration value="record"/> + <enumeration value="table"/> + </restriction> + </simpleType> + <complexType name="AbstractMetadataPropertyType" abstract="true"> + <annotation> + <documentation>To associate metadata described by any XML Schema with a GML object, a property element shall be defined whose content model is derived by extension from gml:AbstractMetadataPropertyType. +The value of such a property shall be metadata. The content model of such a property type, i.e. the metadata application schema shall be specified by the GML Application Schema. +By default, this abstract property type does not imply any ownership of the metadata. The owns attribute of gml:OwnershipAttributeGroup may be used on a metadata property element instance to assert ownership of the metadata. +If metadata following the conceptual model of ISO 19115 is to be encoded in a GML document, the corresponding Implementation Specification specified in ISO/TS 19139 shall be used to encode the metadata information. +</documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="targetElement" type="string"/> + <element name="associationName" type="string"/> + <element name="defaultCodeSpace" type="anyURI"/> + <element name="gmlProfileSchema" type="anyURI"/> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml_32_geometries.rdf b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml_32_geometries.rdf new file mode 100644 index 00000000000..51bf90ec000 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml_32_geometries.rdf @@ -0,0 +1,368 @@ +<?xml version="1.0"?> +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:geo="http://www.opengis.net/ont/geosparql#" + xmlns:gml="http://www.opengis.net/ont/gml#" + xml:base="http://www.opengis.net/ont/gml"> + <!-- + GeoSPARQL 1.0 is an OGC Standard. + Copyright (c) 2012 Open Geospatial Consortium. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + Version: 1.0.1 + --> + <owl:Ontology rdf:about=""> + <owl:imports rdf:resource="http://www.opengis.net/ont/geosparql"/> + </owl:Ontology> + <owl:Class rdf:ID="Point"> + <rdfs:subClassOf> + <owl:Class rdf:ID="AbstractGeometricPrimitive"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Point</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="AbstractGriddedSurface"> + <rdfs:subClassOf> + <owl:Class rdf:ID="AbstractParametricCurveSurface"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Abstract Gridded Surface</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="PolyhedralSurface"> + <rdfs:subClassOf> + <owl:Class rdf:ID="Surface"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Polyhedral Surface</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Arc"> + <rdfs:subClassOf> + <owl:Class rdf:ID="ArcString"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Arc</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="PolynomialSpline"> + <rdfs:subClassOf> + <owl:Class rdf:ID="SplineCurve"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Polynomial Spline</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="MultiCurve"> + <rdfs:subClassOf> + <owl:Class rdf:ID="MultiGeometry"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Multi-Curve</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="CompositeSurface"> + <rdfs:subClassOf> + <owl:Class rdf:ID="Composite"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:ID="OrientableSurface"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Composite Surface</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#ArcString"> + <rdfs:subClassOf> + <owl:Class rdf:ID="AbstractCurveSegment"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Arc String</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Cylinder"> + <rdfs:subClassOf rdf:resource="#AbstractGriddedSurface"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Cylinder</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Shell"> + <rdfs:subClassOf rdf:resource="#CompositeSurface"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Shell</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Polygon"> + <rdfs:subClassOf> + <owl:Class rdf:about="#Surface"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Polygon</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Tin"> + <rdfs:subClassOf> + <owl:Class rdf:ID="TriangulatedSurface"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Triangulated Irregular Network</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#MultiGeometry"> + <rdfs:subClassOf> + <owl:Class rdf:ID="AbstractGeometry"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Multi-Geometry</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Bezier"> + <rdfs:subClassOf> + <owl:Class rdf:ID="BSpline"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Bezier</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Curve"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractGeometricPrimitive"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:ID="OrientableCurve"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Curve</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#BSpline"> + <rdfs:subClassOf> + <owl:Class rdf:about="#SplineCurve"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">BSpline</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="LineStringSegment"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractCurveSegment"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Line String Segment</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Geodesic"> + <rdfs:subClassOf> + <owl:Class rdf:ID="GeodesicString"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Geodesic</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="AbstractSurfacePatch"> + <rdfs:subClassOf> + <rdf:Description rdf:about="http://www.opengis.net/ont/geosparql#Geometry"> + <rdfs:isDefinedBy rdf:resource=""/> + </rdf:Description> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Abstract Surface Patch</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="GeometricComplex"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractGeometry"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Geometric Complex</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="ArcByBulge"> + <rdfs:subClassOf> + <owl:Class rdf:ID="ArcStringByBulge"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Arc by Bulge</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="CircleByCenterPoint"> + <rdfs:subClassOf> + <owl:Class rdf:ID="ArcByCenterPoint"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">CircleByCenterPoint</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="MultiPoint"> + <rdfs:subClassOf rdf:resource="#MultiGeometry"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Multi-Point</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#ArcByCenterPoint"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractCurveSegment"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Arc by Center Point</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="OffsetCurve"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractCurveSegment"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Offset Curve</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#SplineCurve"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractCurveSegment"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Spline Curve</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#Composite"> + <rdfs:subClassOf rdf:resource="#GeometricComplex"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Composite</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="LineString"> + <rdfs:subClassOf rdf:resource="#LineStringSegment"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Line String</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Circle"> + <rdfs:subClassOf rdf:resource="#Arc"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Circle</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#OrientableCurve"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractGeometricPrimitive"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Orientable Curve</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#OrientableSurface"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractGeometricPrimitive"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Orientable Surface</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Clothoid"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractCurveSegment"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Clothoid</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#ArcStringByBulge"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractCurveSegment"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Arc String by Bulge</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#TriangulatedSurface"> + <rdfs:subClassOf rdf:resource="#PolyhedralSurface"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Triangulated Surface</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Triangle"> + <rdfs:subClassOf> + <owl:Class rdf:ID="PolygonPatch"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Triangle</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="CubicSpline"> + <rdfs:subClassOf rdf:resource="#PolynomialSpline"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Cubic Spline</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#AbstractGeometry"> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Geometry"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Abstract Geometry</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Cone"> + <rdfs:subClassOf rdf:resource="#AbstractGriddedSurface"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Cone</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="CompositeSolid"> + <rdfs:subClassOf rdf:resource="#Composite"/> + <rdfs:subClassOf> + <owl:Class rdf:ID="Solid"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Composite Solid</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#AbstractGeometricPrimitive"> + <rdfs:subClassOf rdf:resource="#AbstractGeometry"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Abstract Geometric Primitive</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="LinearRing"> + <rdfs:subClassOf> + <owl:Class rdf:ID="Ring"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Linear Ring</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#AbstractParametricCurveSurface"> + <rdfs:subClassOf rdf:resource="#AbstractSurfacePatch"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Abstract Parametric Curve Surface</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#GeodesicString"> + <rdfs:subClassOf> + <owl:Class rdf:about="#AbstractCurveSegment"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Geodesic String</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="MultiSolid"> + <rdfs:subClassOf rdf:resource="#MultiGeometry"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Multi-Solid</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#Solid"> + <rdfs:subClassOf rdf:resource="#AbstractGeometricPrimitive"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Solid</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="CompositeCurve"> + <rdfs:subClassOf rdf:resource="#Composite"/> + <rdfs:subClassOf rdf:resource="#OrientableCurve"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Composite Curve</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Rectangle"> + <rdfs:subClassOf> + <owl:Class rdf:about="#PolygonPatch"/> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Rectangle</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="Sphere"> + <rdfs:subClassOf rdf:resource="#AbstractGriddedSurface"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Sphere</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#Ring"> + <rdfs:subClassOf rdf:resource="#CompositeCurve"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Ring</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#PolygonPatch"> + <rdfs:subClassOf rdf:resource="#AbstractSurfacePatch"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Polygon Patch</rdfs:label> + </owl:Class> + <owl:Class rdf:ID="MultiSurface"> + <rdfs:subClassOf rdf:resource="#MultiGeometry"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Multi-Surface</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#AbstractCurveSegment"> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Geometry"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Abstract Curve Segment</rdfs:label> + </owl:Class> + <owl:Class rdf:about="#Surface"> + <rdfs:subClassOf rdf:resource="#AbstractGeometricPrimitive"/> + <rdfs:subClassOf rdf:resource="#OrientableSurface"/> + <rdfs:isDefinedBy rdf:resource=""/> + <rdfs:label xml:lang="en">Surface</rdfs:label> + </owl:Class> + <rdf:Description rdf:about="http://www.opengis.net/ont/geosparql#Feature"> + <rdfs:isDefinedBy rdf:resource=""/> + </rdf:Description> + <rdf:Description rdf:about="http://www.opengis.net/ont/geosparql#SpatialObject"> + <rdfs:isDefinedBy rdf:resource=""/> + </rdf:Description> +</rdf:RDF> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml_3_2_1-ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml_3_2_1-ReadMe.txt new file mode 100644 index 00000000000..a0a6eb2ef78 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/gml_3_2_1-ReadMe.txt @@ -0,0 +1,58 @@ +OpenGIS(r) GML schema version 3.2.1 / ISO 19136 - ReadMe.txt + +The schema has been validated with Xerces-J, Xerces C++ and XSV. + +------------------------------------------------------------------- + +2012-07-21 Kevin Stegemoller + + * v2.0.0 - v3.2.1 WARNING XLink change is NOT BACKWARD COMPATIBLE. + * changed OGC XLink (xlink:simpleLink) to W3C XLink (xlink:simpleAttrs) + per an approved TC and PC motion during the Dec. 2011 Brussels meeting. + see http://www.opengeospatial.org/blog/1597 + * implement 11-025: retroactively require/add all leaf documents of an + XML namespace shall explicitly <include/> the all-components schema + * v3.2.1: updated xsd:schema:@version to 3.2.1.2 (06-135r7 s#13.4) + +2007-09-06 Kevin Stegemoller + + GML 3.2.1 (ISO 19136) + * Published GML 3.2.1 schemas from OGC 07-036 + * validated with oXygen 8.2 (xerces-J 2.9.0) - Kevin Stegemoller + * validated with Xerces-J, Xerces-C++ and XSV - Clemens Portele + +2007-08-17 Kevin Stegemoller + + Changes made to these GML 3.2.1 / ISO 19136 schemas: + * added ReadMe.txt + * changed gmd.xsd references to "../../iso/19139/20070417/gmd/gmd.xsd" + * changed xlink references to be relative to /xlink/1.0.0/xlinks.xsd + available from schemas.opengis.net/xlink/1.0.0/xlinks.xsd (REMOVED 2012-07-21). + * removed xlinks schema and directory + + Changes made to these ISO 19139 schemas by OGC: + * added ReadMe.txt + * changed ISO_19136 path to /gml/3.2.1/ + * changed xlink references to be relative to /xlink/1.0.0/xlinks.xsd + available from schemas.opengis.net/xlink/1.0.0/xlinks.xsd (REMOVED 2012-07-21). + * removed xlinks schema and directory + +OGC GML 3.2.1 / ISO 19136 schemas files will be published at: +- http://schemas.opengis.net/gml/3.2.1/ +- http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19136_Schemas/ + +Files in the folder "ISO/19139/20070417" are also published at +- http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/ + +------------------------------------------------------------------- + +The Open Geospatial Consortium, Inc. official schema repository is at + http://schemas.opengis.net/ . +Policies, Procedures, Terms, and Conditions of OGC(r) are available + http://www.opengeospatial.org/ogc/policies/ . +Additional rights of use are described at + http://www.opengeospatial.org/legal/ . + +Copyright (c) 2007 Open Geospatial Consortium. + +------------------------------------------------------------------- diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/grids.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/grids.xsd new file mode 100644 index 00000000000..7592e0ec641 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/grids.xsd @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:grids:3.2.1">grids.xsd</appinfo> + <documentation>See ISO/DIS 19136 20.2. +An implicit description of geometry is one in which the items of the geometry do not explicitly appear in the encoding. Instead, a compact notation records a set of parameters, and a set of objects may be generated using a rule with these parameters. This Clause provides grid geometries that are used in the description of gridded coverages and other applications. +In GML two grid structures are defined, namely gml:Grid and gml:RectifiedGrid. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryBasic0d1d.xsd"/> + <element name="Grid" type="gml:GridType" substitutionGroup="gml:AbstractImplicitGeometry"> + <annotation> + <documentation>The gml:Grid implicitly defines an unrectified grid, which is a network composed of two or more sets of curves in which the members of each set intersect the members of the other sets in an algorithmic way. The region of interest within the grid is given in terms of its gml:limits, being the grid coordinates of diagonally opposed corners of a rectangular region. gml:axisLabels is provided with a list of labels of the axes of the grid (gml:axisName has been deprecated). gml:dimension specifies the dimension of the grid. +The gml:limits element contains a single gml:GridEnvelope. The gml:low and gml:high property elements of the envelope are each integerLists, which are coordinate tuples, the coordinates being measured as offsets from the origin of the grid along each axis, of the diagonally opposing corners of a "rectangular" region of interest.</documentation> + </annotation> + </element> + <element name="AbstractImplicitGeometry" type="gml:AbstractGeometryType" abstract="true" substitutionGroup="gml:AbstractGeometry"/> + <complexType name="GridType"> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <element name="limits" type="gml:GridLimitsType"/> + <choice> + <element name="axisLabels" type="gml:NCNameList"/> + <element name="axisName" type="string" maxOccurs="unbounded"/> + </choice> + </sequence> + <attribute name="dimension" type="positiveInteger" use="required"/> + </extension> + </complexContent> + </complexType> + <complexType name="GridLimitsType"> + <sequence> + <element name="GridEnvelope" type="gml:GridEnvelopeType"/> + </sequence> + </complexType> + <complexType name="GridEnvelopeType"> + <sequence> + <element name="low" type="gml:integerList"/> + <element name="high" type="gml:integerList"/> + </sequence> + </complexType> + <element name="RectifiedGrid" type="gml:RectifiedGridType" substitutionGroup="gml:Grid"> + <annotation> + <documentation>A rectified grid is a grid for which there is an affine transformation between the grid coordinates and the coordinates of an external coordinate reference system. It is defined by specifying the position (in some geometric space) of the grid "origin" and of the vectors that specify the post locations. +Note that the grid limits (post indexes) and axis name properties are inherited from gml:GridType and that gml:RectifiedGrid adds a gml:origin property (contains or references a gml:Point) and a set of gml:offsetVector properties.</documentation> + </annotation> + </element> + <complexType name="RectifiedGridType"> + <complexContent> + <extension base="gml:GridType"> + <sequence> + <element name="origin" type="gml:PointPropertyType"/> + <element name="offsetVector" type="gml:VectorType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/measures.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/measures.xsd new file mode 100644 index 00000000000..c3a91fb3cf2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/measures.xsd @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" xml:lang="en" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:measures:3.2.1">measures.xsd</appinfo> + <documentation>See ISO/DIS 19136 17.3. +gml:MeasureType is defined in the basicTypes schema. The measure types defined here correspond with a set of convenience measure types described in ISO/TS 19103. The XML implementation is based on the XML Schema simple type "double" which supports both decimal and scientific notation, and includes an XML attribute "uom" which refers to the units of measure for the value. Note that, there is no requirement to store values using any particular format, and applications receiving elements of this type may choose to coerce the data to any other type as convenient. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="units.xsd"/> + <element name="measure" type="gml:MeasureType"> + <annotation> + <documentation>The value of a physical quantity, together with its unit.</documentation> + </annotation> + </element> + <complexType name="LengthType"> + <annotation> + <documentation>This is a prototypical definition for a specific measure type defined as a vacuous extension (i.e. aliases) of gml:MeasureType. In this case, the content model supports the description of a length (or distance) quantity, with its units. The unit of measure referenced by uom shall be suitable for a length, such as metres or feet.</documentation> + </annotation> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="ScaleType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="TimeType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="GridLengthType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="AreaType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="VolumeType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="SpeedType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <complexType name="AngleType"> + <simpleContent> + <extension base="gml:MeasureType"/> + </simpleContent> + </complexType> + <element name="angle" type="gml:AngleType"> + <annotation> + <documentation>The gml:angle property element is used to record the value of an angle quantity as a single number, with its units.</documentation> + </annotation> + </element> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/observation.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/observation.xsd new file mode 100644 index 00000000000..944c9898ab6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/observation.xsd @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:observation:3.2.1">observation.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 19. +A GML observation models the act of observing, often with a camera, a person or some form of instrument. An observation feature describes the "metadata" associated with an information capture event, together with a value for the result of the observation. This covers a broad range of cases, from a tourist photo (not the photo but the act of taking the photo), to images acquired by space borne sensors or the measurement of a temperature 5 meters below the surfaces of a lake. +The basic structures introduced in this schema are intended to serve as the foundation for more comprehensive schemas for scientific, technical and engineering measurement schemas. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="feature.xsd"/> + <include schemaLocation="direction.xsd"/> + <include schemaLocation="valueObjects.xsd"/> + <element name="Observation" type="gml:ObservationType" substitutionGroup="gml:AbstractFeature"> + <annotation> + <documentation>The content model is a straightforward extension of gml:AbstractFeatureType; it automatically has the gml:identifier, gml:description, gml:descriptionReference, gml:name, and gml:boundedBy properties. +The gml:validTime element describes the time of the observation. Note that this may be a time instant or a time period. +The gml:using property contains or references a description of a sensor, instrument or procedure used for the observation. +The gml:target property contains or references the specimen, region or station which is the object of the observation. This property is particularly useful for remote observations, such as photographs, where a generic location property might apply to the location of the camera or the location of the field of view, and thus may be ambiguous. +The gml:subject element is provided as a convenient synonym for gml:target. This is the term commonly used in phtotography. +The gml:resultOf property indicates the result of the observation. The value may be inline, or a reference to a value elsewhere. +</documentation> + </annotation> + </element> + <complexType name="ObservationType"> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <sequence> + <element ref="gml:validTime"/> + <element ref="gml:using" minOccurs="0"/> + <element ref="gml:target" minOccurs="0"/> + <element ref="gml:resultOf"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="using" type="gml:ProcedurePropertyType"/> + <complexType name="ProcedurePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:AbstractFeature"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="target" type="gml:TargetPropertyType"/> + <element name="subject" type="gml:TargetPropertyType" substitutionGroup="gml:target"/> + <complexType name="TargetPropertyType"> + <choice minOccurs="0"> + <element ref="gml:AbstractFeature"/> + <element ref="gml:AbstractGeometry"/> + </choice> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="resultOf" type="gml:ResultType"/> + <complexType name="ResultType"> + <sequence minOccurs="0"> + <any namespace="##any"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="DirectedObservation" type="gml:DirectedObservationType" substitutionGroup="gml:Observation"> + <annotation> + <documentation>A gml:DirectedObservation is the same as an observation except that it adds an additional gml:direction property. This is the direction in which the observation was acquired. Clearly this applies only to certain types of observations such as visual observations by people, or observations obtained from terrestrial cameras.</documentation> + </annotation> + </element> + <complexType name="DirectedObservationType"> + <complexContent> + <extension base="gml:ObservationType"> + <sequence> + <element ref="gml:direction"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="DirectedObservationAtDistance" type="gml:DirectedObservationAtDistanceType" substitutionGroup="gml:DirectedObservation"> + <annotation> + <documentation>gml:DirectedObservationAtDistance adds an additional distance property. This is the distance from the observer to the subject of the observation. Clearly this applies only to certain types of observations such as visual observations by people, or observations obtained from terrestrial cameras.</documentation> + </annotation> + </element> + <complexType name="DirectedObservationAtDistanceType"> + <complexContent> + <extension base="gml:DirectedObservationType"> + <sequence> + <element name="distance" type="gml:MeasureType"/> + </sequence> + </extension> + </complexContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/readme.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/readme.txt new file mode 100644 index 00000000000..72721e1dc94 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/readme.txt @@ -0,0 +1,38 @@ +19139 XSchemas TS RC (2006 May 4) +----------------------------------------------- + +OGC GML 3.2.0 version => ISO 19136 XSchemas DIS (2005 november) + -- http://www.isotc211.org/2005/ + +These schemas from ISO 19139 version 2005-DIS (Draft International Standard) +dated 2006 May 4. For the sake of convenience, GML 3.2 XML schemas (version +19136 DIS - 2005 november) are (temporarily) provided with the 19139 set of +schemas. They were retrieved from http://www.isotc211.org/2005/ . Once these +schemas are finalized they will become OGC GML 3.2.1 and ISO/TS 19136. + +2012-07-21 + * WARNING XLink change is NOT BACKWARD COMPATIBLE. + * Changed OGC XLink (xlink:simpleLink) to W3C XLink (xlink:simpleAttrs) + per an approved TC and PC motion during the Dec. 2011 Brussels meeting. + This involved changing the XLink schemaLocation + from http://schemas.opengis.net/xlink/1.0.0/xlinks.xsd + to http://www.w3.org/1999/xlink.xsd + as well as the attributes xlink:simpleLink to xlink:simpleAttrs. + See http://www.opengeospatial.org/blog/1597 + +2007-08-16 + Changes made to these ISO 19139 schemas by OGC: + * Changed xlink references from ../xlink/xlinks.xsd to ../../../../xlink/1.0.0/xlinks.xsd + so they use schemas.opengis.net/xlink/1.0.0/xlinks.xsd (REMOVED 2012-07-21). + (see W3C XLink 1.0) + * Removed xlinks directory and schema + * Replaced 19139-GML_readme.txt with this document. + + +In Folder "gml": the GML Schema; the root document of the GML Schema is file +"gml/gml.xsd" + +Imported schemas: +- Folder "xlink": the W3C XLink schema (see W3C XLink 1.0) +- iso19139 schemas: the GMD schema and contained schemas (see ISO/TS 19139) + diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/referenceSystems.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/referenceSystems.xsd new file mode 100644 index 00000000000..8efa13a470b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/referenceSystems.xsd @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:referenceSystems:3.2.1">referenceSystems.xsd</appinfo> + <documentation>See ISO/DIS 19136 13.2. +The reference systems schema components have two logical parts, which define elements and types for XML encoding of the definitions of: +- Identified Object, inherited by the ten types of GML objects used for coordinate reference systems and coordinate operations +- High-level part of the definitions of coordinate reference systems +This schema encodes the Identified Object and Reference System packages of the UML Model for ISO 19111. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="dictionary.xsd"/> + <import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <complexType name="IdentifiedObjectType" abstract="true"> + <annotation> + <documentation>gml:IdentifiedObjectType provides identification properties of a CRS-related object. In gml:DefinitionType, the gml:identifier element shall be the primary name by which this object is identified, encoding the "name" attribute in the UML model. +Zero or more of the gml:name elements can be an unordered set of "identifiers", encoding the "identifier" attribute in the UML model. Each of these gml:name elements can reference elsewhere the object's defining information or be an identifier by which this object can be referenced. +Zero or more other gml:name elements can be an unordered set of "alias" alternative names by which this CRS related object is identified, encoding the "alias" attributes in the UML model. An object may have several aliases, typically used in different contexts. The context for an alias is indicated by the value of its (optional) codeSpace attribute. +Any needed version information shall be included in the codeSpace attribute of a gml:identifier and gml:name elements. In this use, the gml:remarks element in the gml:DefinitionType shall contain comments on or information about this object, including data source information.</documentation> + </annotation> + <complexContent> + <extension base="gml:DefinitionType"/> + </complexContent> + </complexType> + <element name="AbstractCRS" type="gml:AbstractCRSType" abstract="true" substitutionGroup="gml:Definition"> + <annotation> + <documentation>gml:AbstractCRS specifies a coordinate reference system which is usually single but may be compound. This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.</documentation> + </annotation> + </element> + <complexType name="AbstractCRSType" abstract="true"> + <complexContent> + <extension base="gml:IdentifiedObjectType"> + <sequence> + <element ref="gml:domainOfValidity" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:scope" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="domainOfValidity"> + <annotation> + <documentation>The gml:domainOfValidity property implements an association role to an EX_Extent object as encoded in ISO/TS 19139, either referencing or containing the definition of that extent.</documentation> + </annotation> + <complexType> + <sequence minOccurs="0"> + <element ref="gmd:EX_Extent"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + </element> + <element name="scope" type="string"> + <annotation> + <documentation>The gml:scope property provides a description of the usage, or limitations of usage, for which this CRS-related object is valid. If unknown, enter "not known".</documentation> + </annotation> + </element> + <complexType name="CRSPropertyType"> + <annotation> + <documentation>gml:CRSPropertyType is a property type for association roles to a CRS abstract coordinate reference system, either referencing or containing the definition of that CRS.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractCRS"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/smil/smil20-language.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/smil/smil20-language.xsd new file mode 100644 index 00000000000..8c9685f8b8b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/smil/smil20-language.xsd @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +=================== OpenGIS ============================ + This schema is here because there are errors in publicly available smil schemas at w3c site. + One is acknowledged by w3c - it is typographical error described in SMIL errata document at: + http://www.w3.org/2001/07/REC-SMIL20-20010731-errata + under: + E30: Correction in the SMIL 2.0 utility Schema, section B.3.48 (revised 29 03 2002) + Others (at least one) are assumed after failed validation using Visual Studio .NET. + These smil schemas are reorganized to include in minimum number of files all and only definitions required by + defaultStyle.xsd. It was done to enable the validation of GML3.0 schemas. + When w3c fixes the public schemas these will be discarded + comment: Milan Trninic, Galdos Systems Inc., May 2002 +=================== OpenGIS ============================ +--> +<!-- +XML Schema for the SMIL 2.0 Language + +This is SMIL 2.0 +Copyright: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. +See http://www.w3.org/Consortium/Legal/. + +Public URI: http://www.w3.org/2001/SMIL20/smil20-language.xsd +Author: Aaron Michael Cohen (Intel) + +Revision: 2001/07/15 + +Note: <any> wildcard element content is missing from most of the SMIL 2.0 elements because of a conflict +between substitutionGroups and wildcard content. +--> +<schema targetNamespace="http://www.w3.org/2001/SMIL20/Language" xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" xmlns:smil20="http://www.w3.org/2001/SMIL20/" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> + <!-- import the smil20 namespaces --> + <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/> + <element name="animate" type="smil20lang:animateType"/> + <complexType name="animateType"> + <complexContent> + <extension base="smil20:animatePrototype"> + <choice minOccurs="0" maxOccurs="unbounded"> + <any namespace="##other" processContents="lax"/> + </choice> + <attributeGroup ref="smil20lang:CoreAttrs"/> + <attributeGroup ref="smil20lang:TimingAttrs"/> + <attributeGroup ref="smil20:animTargetAttrs"/> + <attributeGroup ref="smil20:animModeAttrs"/> + <attributeGroup ref="smil20:skipContentAttrs"/> + <anyAttribute namespace="##any" processContents="strict"/> + </extension> + </complexContent> + </complexType> + <attributeGroup name="CoreAttrs"> + <attributeGroup ref="smil20:structureModuleAttrs"/> + <attributeGroup ref="smil20:alternateContentAttrs"/> + </attributeGroup> + <attributeGroup name="TimingAttrs"> + <attributeGroup ref="smil20lang:BasicTimingAttrs"/> + <attributeGroup ref="smil20:syncBehaviorAttrs"/> + <attributeGroup ref="smil20:syncBehaviorDefaultAttrs"/> + <attributeGroup ref="smil20:restartTimingAttrs"/> + <attributeGroup ref="smil20:restartDefaultAttrs"/> + <attributeGroup ref="smil20:fillTimingAttrs"/> + <attributeGroup ref="smil20:fillDefaultAttrs"/> + </attributeGroup> + <attributeGroup name="BasicTimingAttrs"> + <attributeGroup ref="smil20:beginEndTimingAttrs"/> + <attributeGroup ref="smil20:durTimingAttrs"/> + <attributeGroup ref="smil20:repeatTimingAttrs"/> + <attributeGroup ref="smil20:deprecatedRepeatTiming"/> + <attributeGroup ref="smil20:minMaxTimingAttrs"/> + </attributeGroup> + <element name="animateMotion" type="smil20lang:animateMotionType"/> + <complexType name="animateMotionType"> + <complexContent> + <extension base="smil20:animateMotionPrototype"> + <choice minOccurs="0" maxOccurs="unbounded"> + <any namespace="##other" processContents="lax"/> + </choice> + <attributeGroup ref="smil20lang:CoreAttrs"/> + <attributeGroup ref="smil20lang:TimingAttrs"/> + <attributeGroup ref="smil20:animTargetAttrs"/> + <attributeGroup ref="smil20:animModeAttrs"/> + <attributeGroup ref="smil20:skipContentAttrs"/> + <anyAttribute namespace="##any" processContents="strict"/> + </extension> + </complexContent> + </complexType> + <element name="animateColor" type="smil20lang:animateColorType"/> + <complexType name="animateColorType"> + <complexContent> + <extension base="smil20:animateColorPrototype"> + <choice minOccurs="0" maxOccurs="unbounded"> + <any namespace="##other" processContents="lax"/> + </choice> + <attributeGroup ref="smil20lang:CoreAttrs"/> + <attributeGroup ref="smil20lang:TimingAttrs"/> + <attributeGroup ref="smil20:animTargetAttrs"/> + <attributeGroup ref="smil20:animModeAttrs"/> + <attributeGroup ref="smil20:skipContentAttrs"/> + <anyAttribute namespace="##any" processContents="strict"/> + </extension> + </complexContent> + </complexType> + <element name="set" type="smil20lang:setType"/> + <complexType name="setType"> + <complexContent> + <extension base="smil20:setPrototype"> + <choice minOccurs="0" maxOccurs="unbounded"> + <any namespace="##other" processContents="lax"/> + </choice> + <attributeGroup ref="smil20lang:CoreAttrs"/> + <attributeGroup ref="smil20lang:TimingAttrs"/> + <attributeGroup ref="smil20:animTargetAttrs"/> + <attributeGroup ref="smil20:skipContentAttrs"/> + <anyAttribute namespace="##any" processContents="strict"/> + </extension> + </complexContent> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/smil/smil20.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/smil/smil20.xsd new file mode 100644 index 00000000000..c3bb8975829 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/smil/smil20.xsd @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +=================== OpenGIS ============================ + This schema is here because there are errors in publicly available smil schemas at w3c site. + One is acknowledged by w3c - it is typographical error described in SMIL errata document at: + http://www.w3.org/2001/07/REC-SMIL20-20010731-errata + under: + E30: Correction in the SMIL 2.0 utility Schema, section B.3.48 (revised 29 03 2002) + Others (at least one) are assumed after failed validation using Visual Studio .NET. + These smil schemas are reorganized to include in minimum number of files all and only definitions required by + defaultStyle.xsd. It was done to enable the validation of GML3.0 schemas. + When w3c fixes the public schemas these will be discarded + comment: Milan Trninic, Galdos Systems Inc., May 2002 + + comment#2: Milan Trninic, Galdos Systems Inc., Dec 2002 + In order to validate with xerces, changed the "x:" prefix to "xml:" in the namespace declaration and reference to "lang" attribute +=================== OpenGIS ============================ +--> +<!-- +XML Schema for the SMIL 2.0 modules + +This is SMIL 2.0 +Copyright: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. +See http://www.w3.org/Consortium/Legal/. + +Public URI: http://www.w3.org/2001/SMIL20/smil20.xsd +Author: Aaron Michael Cohen (Intel) +Revision: 2001/07/31 +--> +<schema targetNamespace="http://www.w3.org/2001/SMIL20/" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:smil20="http://www.w3.org/2001/SMIL20/" xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" elementFormDefault="qualified"> + <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/> + <!-- ============================================================= + struct.xsd + ============================================================== --> + <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../xml/xml.xsd"/> + <attributeGroup name="structureModuleAttrs"> + <attribute name="id" type="ID" use="optional"/> + <attribute name="class" type="string" use="optional"/> + <attribute ref="xml:lang" use="optional"/> + </attributeGroup> + <!-- ============================================================= + content.xsd + ============================================================== --> + <attributeGroup name="skipContentAttrs"> + <attribute name="skip-content" type="boolean" use="optional" default="true"/> + </attributeGroup> + <!-- ============================================================= + media.xsd + ============================================================== --> + <attributeGroup name="alternateContentAttrs"> + <attribute name="alt" type="string" use="optional"/> + <attribute name="longdesc" type="anyURI" use="optional"/> + </attributeGroup> + <!-- ============================================================= + utility.xsd + ============================================================== --> + <simpleType name="nonNegativeDecimalType"> + <restriction base="decimal"> + <minInclusive value="0.0"/> + </restriction> + </simpleType> + <!-- ============================================================= + animate.xsd + ============================================================== --> + <element name="animate" type="smil20lang:animateType" substitutionGroup="smil20lang:animate"/> + <complexType name="animatePrototype"> + <attributeGroup ref="smil20:animNamedTargetAttrs"/> + <attributeGroup ref="smil20:animAddAccumAttrs"/> + <attributeGroup ref="smil20:animValuesAttrs"/> + </complexType> + <attributeGroup name="animNamedTargetAttrs"> + <attribute name="attributeName" type="string" use="required"/> + <attribute name="attributeType" use="optional" default="auto"> + <simpleType> + <restriction base="string"> + <enumeration value="XML"/> + <enumeration value="CSS"/> + <enumeration value="auto"/> + </restriction> + </simpleType> + </attribute> + </attributeGroup> + <attributeGroup name="animAddAccumAttrs"> + <attribute name="additive" use="optional" default="replace"> + <simpleType> + <restriction base="string"> + <enumeration value="replace"/> + <enumeration value="sum"/> + </restriction> + </simpleType> + </attribute> + <attribute name="accumulate" use="optional" default="none"> + <simpleType> + <restriction base="string"> + <enumeration value="none"/> + <enumeration value="sum"/> + </restriction> + </simpleType> + </attribute> + </attributeGroup> + <attributeGroup name="animValuesAttrs"> + <attributeGroup ref="smil20:animSetValuesAttrs"/> + <attribute name="from" type="string" use="optional"/> + <attribute name="by" type="string" use="optional"/> + <attribute name="values" type="string" use="optional"/> + </attributeGroup> + <attributeGroup name="animSetValuesAttrs"> + <attribute name="to" type="string" use="optional"/> + </attributeGroup> + <attributeGroup name="animTargetAttrs"> + <attribute name="targetElement" type="IDREF" use="optional"/> + </attributeGroup> + <attributeGroup name="animModeAttrs"> + <attribute name="calcMode" use="optional" default="linear"> + <simpleType> + <restriction base="string"> + <enumeration value="discrete"/> + <enumeration value="linear"/> + <enumeration value="paced"/> + </restriction> + </simpleType> + </attribute> + </attributeGroup> + <element name="animateMotion" type="smil20lang:animateMotionType" substitutionGroup="smil20lang:animateMotion"/> + <complexType name="animateMotionPrototype"> + <attributeGroup ref="smil20:animAddAccumAttrs"/> + <attributeGroup ref="smil20:animValuesAttrs"/> + <attribute name="origin" type="string" use="optional"/> + </complexType> + <element name="animateColor" type="smil20lang:animateColorType" substitutionGroup="smil20lang:animateColor"/> + <complexType name="animateColorPrototype"> + <attributeGroup ref="smil20:animNamedTargetAttrs"/> + <attributeGroup ref="smil20:animAddAccumAttrs"/> + <attributeGroup ref="smil20:animValuesAttrs"/> + </complexType> + <element name="set" type="smil20lang:setType" substitutionGroup="smil20lang:set"/> + <complexType name="setPrototype"> + <attributeGroup ref="smil20:animNamedTargetAttrs"/> + <attributeGroup ref="smil20:animSetValuesAttrs"/> + </complexType> + <!-- ============================================================= + timing.xsd + ============================================================== --> + <attributeGroup name="syncBehaviorAttrs"> + <attribute name="syncBehavior" type="smil20:syncBehaviorType" default="default"/> + <attribute name="syncTolerance" type="string" use="optional"/> + </attributeGroup> + <simpleType name="syncBehaviorType"> + <restriction base="string"> + <enumeration value="canSlip"/> + <enumeration value="locked"/> + <enumeration value="independent"/> + <enumeration value="default"/> + </restriction> + </simpleType> + <attributeGroup name="syncBehaviorDefaultAttrs"> + <attribute name="syncBehaviorDefault" type="smil20:syncBehaviorDefaultType" default="inherit"/> + <attribute name="syncToleranceDefault" type="string" default="inherit"/> + </attributeGroup> + <simpleType name="syncBehaviorDefaultType"> + <restriction base="string"> + <enumeration value="canSlip"/> + <enumeration value="locked"/> + <enumeration value="independent"/> + <enumeration value="inherit"/> + </restriction> + </simpleType> + <attributeGroup name="restartTimingAttrs"> + <attribute name="restart" type="smil20:restartTimingType" default="default"/> + </attributeGroup> + <simpleType name="restartTimingType"> + <restriction base="string"> + <enumeration value="never"/> + <enumeration value="always"/> + <enumeration value="whenNotActive"/> + <enumeration value="default"/> + </restriction> + </simpleType> + <attributeGroup name="restartDefaultAttrs"> + <attribute name="restartDefault" type="smil20:restartDefaultType" default="inherit"/> + </attributeGroup> + <simpleType name="restartDefaultType"> + <restriction base="string"> + <enumeration value="never"/> + <enumeration value="always"/> + <enumeration value="whenNotActive"/> + <enumeration value="inherit"/> + </restriction> + </simpleType> + <attributeGroup name="fillTimingAttrs"> + <attribute name="fill" type="smil20:fillTimingAttrsType" default="default"/> + </attributeGroup> + <simpleType name="fillTimingAttrsType"> + <restriction base="string"> + <enumeration value="remove"/> + <enumeration value="freeze"/> + <enumeration value="hold"/> + <enumeration value="auto"/> + <enumeration value="default"/> + <enumeration value="transition"/> + </restriction> + </simpleType> + <attributeGroup name="fillDefaultAttrs"> + <attribute name="fillDefault" type="smil20:fillDefaultType" default="inherit"/> + </attributeGroup> + <simpleType name="fillDefaultType"> + <restriction base="string"> + <enumeration value="remove"/> + <enumeration value="freeze"/> + <enumeration value="hold"/> + <enumeration value="auto"/> + <enumeration value="inherit"/> + <enumeration value="transition"/> + </restriction> + </simpleType> + <attributeGroup name="beginEndTimingAttrs"> + <attribute name="begin" type="string"/> + <attribute name="end" type="string"/> + </attributeGroup> + <attributeGroup name="durTimingAttrs"> + <attribute name="dur" type="string"/> + </attributeGroup> + <attributeGroup name="repeatTimingAttrs"> + <attribute name="repeatDur" type="string"/> + <attribute name="repeatCount" type="smil20:nonNegativeDecimalType"/> + </attributeGroup> + <attributeGroup name="deprecatedRepeatTiming"> + <attribute name="repeat" type="nonNegativeInteger"/> + </attributeGroup> + <attributeGroup name="minMaxTimingAttrs"> + <attribute name="min" type="string"/> + <attribute name="max" type="string"/> + </attributeGroup> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporal.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporal.xsd new file mode 100644 index 00000000000..11c4ae3b3bf --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporal.xsd @@ -0,0 +1,269 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:temporal:3.2.1">temporal.xsd</appinfo> + <documentation>See ISO/DIS 19136 15.2. +The GML temporal schemas include components for describing temporal geometry and topology, temporal reference systems, and the temporal characteristics of geographic data. The model underlying the representation constitutes a profile of the conceptual schema described in ISO 19108. The underlying spatiotemporal model strives to accommodate both feature-level and attribute-level time stamping; basic support for tracking moving objects is also included. +Time is measured on two types of scales: interval and ordinal. An interval scale offers a basis for measuring duration, an ordinal scale provides information only about relative position in time. +Two other ISO standards are relevant to describing temporal objects: ISO 8601 describes encodings for time instants and time periods, as text strings with particular structure and punctuation; ISO 11404 provides a detailed description of time intervals as part of a general discussion of language independent datatypes. +The temporal schemas cover two interrelated topics and provide basic schema components for representing temporal instants and periods, temporal topology, and reference systems; more specialized schema components defines components used for dynamic features. Instances of temporal geometric types are used as values for the temporal properties of geographic features. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="gmlBase.xsd"/> + <element name="AbstractTimeObject" type="gml:AbstractTimeObjectType" abstract="true" substitutionGroup="gml:AbstractGML"> + <annotation> + <documentation>gml:AbstractTimeObject acts as the head of a substitution group for all temporal primitives and complexes.</documentation> + </annotation> + </element> + <complexType name="AbstractTimeObjectType" abstract="true"> + <complexContent> + <extension base="gml:AbstractGMLType"/> + </complexContent> + </complexType> + <element name="AbstractTimePrimitive" type="gml:AbstractTimePrimitiveType" abstract="true" substitutionGroup="gml:AbstractTimeObject"> + <annotation> + <documentation>gml:AbstractTimePrimitive acts as the head of a substitution group for geometric and topological temporal primitives.</documentation> + </annotation> + </element> + <complexType name="AbstractTimePrimitiveType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimeObjectType"> + <sequence> + <element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimePrimitivePropertyType"> + <annotation> + <documentation>gml:TimePrimitivePropertyType provides a standard content model for associations between an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive and another object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractTimePrimitive"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="validTime" type="gml:TimePrimitivePropertyType"> + <annotation> + <documentation>gml:validTime is a convenience property element.</documentation> + </annotation> + </element> + <complexType name="RelatedTimeType"> + <annotation> + <documentation>gml:RelatedTimeType provides a content model for indicating the relative position of an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive. It extends the generic gml:TimePrimitivePropertyType with an XML attribute relativePosition, whose value is selected from the set of 13 temporal relationships identified by Allen (1983)</documentation> + </annotation> + <complexContent> + <extension base="gml:TimePrimitivePropertyType"> + <attribute name="relativePosition"> + <simpleType> + <restriction base="string"> + <enumeration value="Before"/> + <enumeration value="After"/> + <enumeration value="Begins"/> + <enumeration value="Ends"/> + <enumeration value="During"/> + <enumeration value="Equals"/> + <enumeration value="Contains"/> + <enumeration value="Overlaps"/> + <enumeration value="Meets"/> + <enumeration value="OverlappedBy"/> + <enumeration value="MetBy"/> + <enumeration value="BegunBy"/> + <enumeration value="EndedBy"/> + </restriction> + </simpleType> + </attribute> + </extension> + </complexContent> + </complexType> + <element name="AbstractTimeComplex" type="gml:AbstractTimeComplexType" abstract="true" substitutionGroup="gml:AbstractTimeObject"> + <annotation> + <documentation>gml:AbstractTimeComplex is an aggregation of temporal primitives and acts as the head of a substitution group for temporal complexes.</documentation> + </annotation> + </element> + <complexType name="AbstractTimeComplexType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimeObjectType"/> + </complexContent> + </complexType> + <element name="AbstractTimeGeometricPrimitive" type="gml:AbstractTimeGeometricPrimitiveType" abstract="true" substitutionGroup="gml:AbstractTimePrimitive"> + <annotation> + <documentation>gml:TimeGeometricPrimitive acts as the head of a substitution group for geometric temporal primitives. +A temporal geometry shall be associated with a temporal reference system through the frame attribute that provides a URI reference that identifies a description of the reference system. Following ISO 19108, the Gregorian calendar with UTC is the default reference system, but others may also be used. The GPS calendar is an alternative reference systems in common use. +The two geometric primitives in the temporal dimension are the instant and the period. GML components are defined to support these as follows.</documentation> + </annotation> + </element> + <complexType name="AbstractTimeGeometricPrimitiveType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimePrimitiveType"> + <attribute name="frame" type="anyURI" default="#ISO-8601"/> + </extension> + </complexContent> + </complexType> + <element name="TimeInstant" type="gml:TimeInstantType" substitutionGroup="gml:AbstractTimeGeometricPrimitive"> + <annotation> + <documentation>gml:TimeInstant acts as a zero-dimensional geometric primitive that represents an identifiable position in time.</documentation> + </annotation> + </element> + <complexType name="TimeInstantType" final="#all"> + <complexContent> + <extension base="gml:AbstractTimeGeometricPrimitiveType"> + <sequence> + <element ref="gml:timePosition"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeInstantPropertyType"> + <annotation> + <documentation>gml:TimeInstantPropertyType provides for associating a gml:TimeInstant with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeInstant"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="TimePeriod" type="gml:TimePeriodType" substitutionGroup="gml:AbstractTimeGeometricPrimitive"> + <annotation> + <documentation>gml:TimePeriod acts as a one-dimensional geometric primitive that represents an identifiable extent in time. +The location in of a gml:TimePeriod is described by the temporal positions of the instants at which it begins and ends. The length of the period is equal to the temporal distance between the two bounding temporal positions. +Both beginning and end may be described in terms of their direct position using gml:TimePositionType which is an XML Schema simple content type, or by reference to an indentifiable time instant using gml:TimeInstantPropertyType. +Alternatively a limit of a gml:TimePeriod may use the conventional GML property model to make a reference to a time instant described elsewhere, or a limit may be indicated as a direct position.</documentation> + </annotation> + </element> + <complexType name="TimePeriodType"> + <complexContent> + <extension base="gml:AbstractTimeGeometricPrimitiveType"> + <sequence> + <choice> + <element name="beginPosition" type="gml:TimePositionType"/> + <element name="begin" type="gml:TimeInstantPropertyType"/> + </choice> + <choice> + <element name="endPosition" type="gml:TimePositionType"/> + <element name="end" type="gml:TimeInstantPropertyType"/> + </choice> + <group ref="gml:timeLength" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimePeriodPropertyType"> + <annotation> + <documentation>gml:TimePeriodPropertyType provides for associating a gml:TimePeriod with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimePeriod"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TimePositionType" final="#all"> + <annotation> + <documentation>The method for identifying a temporal position is specific to each temporal reference system. gml:TimePositionType supports the description of temporal position according to the subtypes described in ISO 19108. +Values based on calendars and clocks use lexical formats that are based on ISO 8601, as described in XML Schema Part 2:2001. A decimal value may be used with coordinate systems such as GPS time or UNIX time. A URI may be used to provide a reference to some era in an ordinal reference system . +In common with many of the components modelled as data types in the ISO 19100 series of International Standards, the corresponding GML component has simple content. However, the content model gml:TimePositionType is defined in several steps. +Three XML attributes appear on gml:TimePositionType: +A time value shall be associated with a temporal reference system through the frame attribute that provides a URI reference that identifies a description of the reference system. Following ISO 19108, the Gregorian calendar with UTC is the default reference system, but others may also be used. Components for describing temporal reference systems are described in 14.4, but it is not required that the reference system be described in this, as the reference may refer to anything that may be indentified with a URI. +For time values using a calendar containing more than one era, the (optional) calendarEraName attribute provides the name of the calendar era. +Inexact temporal positions may be expressed using the optional indeterminatePosition attribute. This takes a value from an enumeration.</documentation> + </annotation> + <simpleContent> + <extension base="gml:TimePositionUnion"> + <attribute name="frame" type="anyURI" default="#ISO-8601"/> + <attribute name="calendarEraName" type="string"/> + <attribute name="indeterminatePosition" type="gml:TimeIndeterminateValueType"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="TimeIndeterminateValueType"> + <annotation> + <documentation>These values are interpreted as follows: +- "unknown" indicates that no specific value for temporal position is provided. +- "now" indicates that the specified value shall be replaced with the current temporal position whenever the value is accessed. +- "before" indicates that the actual temporal position is unknown, but it is known to be before the specified value. +- "after" indicates that the actual temporal position is unknown, but it is known to be after the specified value. +A value for indeterminatePosition may +- be used either alone, or +- qualify a specific value for temporal position.</documentation> + </annotation> + <restriction base="string"> + <enumeration value="after"/> + <enumeration value="before"/> + <enumeration value="now"/> + <enumeration value="unknown"/> + </restriction> + </simpleType> + <simpleType name="TimePositionUnion"> + <annotation> + <documentation>The simple type gml:TimePositionUnion is a union of XML Schema simple types which instantiate the subtypes for temporal position described in ISO 19108. + An ordinal era may be referenced via URI. A decimal value may be used to indicate the distance from the scale origin . time is used for a position that recurs daily (see ISO 19108:2002 5.4.4.2). + Finally, calendar and clock forms that support the representation of time in systems based on years, months, days, hours, minutes and seconds, in a notation following ISO 8601, are assembled by gml:CalDate</documentation> + </annotation> + <union memberTypes="gml:CalDate time dateTime anyURI decimal"/> + </simpleType> + <simpleType name="CalDate"> + <union memberTypes="date gYearMonth gYear"/> + </simpleType> + <element name="timePosition" type="gml:TimePositionType"> + <annotation> + <documentation>This element is used directly as a property of gml:TimeInstant (see 15.2.2.3), and may also be used in application schemas.</documentation> + </annotation> + </element> + <group name="timeLength"> + <annotation> + <documentation>The length of a time period.</documentation> + </annotation> + <choice> + <element ref="gml:duration"/> + <element ref="gml:timeInterval"/> + </choice> + </group> + <element name="duration" type="duration"> + <annotation> + <documentation>gml:duration conforms to the ISO 8601 syntax for temporal length as implemented by the XML Schema duration type.</documentation> + </annotation> + </element> + <element name="timeInterval" type="gml:TimeIntervalLengthType"> + <annotation> + <documentation> gml:timeInterval conforms to ISO 11404 which is based on floating point values for temporal length. +ISO 11404 syntax specifies the use of a positiveInteger together with appropriate values for radix and factor. The resolution of the time interval is to one radix ^(-factor) of the specified time unit. +The value of the unit is either selected from the units for time intervals from ISO 31-1:1992, or is another suitable unit. The encoding is defined for GML in gml:TimeUnitType. The second component of this union type provides a method for indicating time units other than the six standard units given in the enumeration.</documentation> + </annotation> + </element> + <complexType name="TimeIntervalLengthType" final="#all"> + <simpleContent> + <extension base="decimal"> + <attribute name="unit" type="gml:TimeUnitType" use="required"/> + <attribute name="radix" type="positiveInteger"/> + <attribute name="factor" type="integer"/> + </extension> + </simpleContent> + </complexType> + <simpleType name="TimeUnitType"> + <union> + <simpleType> + <restriction base="string"> + <enumeration value="year"/> + <enumeration value="month"/> + <enumeration value="day"/> + <enumeration value="hour"/> + <enumeration value="minute"/> + <enumeration value="second"/> + </restriction> + </simpleType> + <simpleType> + <restriction base="string"> + <pattern value="other:\w{2,}"/> + </restriction> + </simpleType> + </union> + </simpleType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporalReferenceSystems.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporalReferenceSystems.xsd new file mode 100644 index 00000000000..88f610b54ab --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporalReferenceSystems.xsd @@ -0,0 +1,189 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:temporalReferenceSystems:3.2.1">temporalReferenceSystems.xsd</appinfo> + <documentation>See ISO/DIS 19136 15.5. +A value in the time domain is measured relative to a temporal reference system. Common types of reference systems include calendars, ordinal temporal reference systems, and temporal coordinate systems (time elapsed since some epoch). The primary temporal reference system for use with geographic information is the Gregorian Calendar and 24 hour local or Coordinated Universal Time (UTC), but special applications may entail the use of alternative reference systems. The Julian day numbering system is a temporal coordinate system that has an origin earlier than any known calendar, at noon on 1 January 4713 BC in the Julian proleptic calendar, and is useful in transformations between dates in different calendars. +In GML seven concrete elements are used to describe temporal reference systems: gml:TimeReferenceSystem, gml:TimeCoordinateSystem, gml:TimeCalendar, gml:TimeCalendarEra, gml:TimeClock, gml:TimeOrdinalReferenceSystem, and gml:TimeOrdinalEra. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="temporalTopology.xsd"/> + <include schemaLocation="dictionary.xsd"/> + <element name="TimeReferenceSystem" type="gml:TimeReferenceSystemType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A reference system is characterized in terms of its domain of validity: the spatial and temporal extent over which it is applicable. The basic GML element for temporal reference systems is gml:TimeReferenceSystem. Its content model extends gml:DefinitionType with one additional property, gml:domainOfValidity.</documentation> + </annotation> + </element> + <complexType name="TimeReferenceSystemType"> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element name="domainOfValidity" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TimeCoordinateSystem" type="gml:TimeCoordinateSystemType" substitutionGroup="gml:TimeReferenceSystem"> + <annotation> + <documentation>A temporal coordinate system shall be based on a continuous interval scale defined in terms of a single time interval. +The differences to ISO 19108 TM_CoordinateSystem are: +- the origin is specified either using the property gml:originPosition whose value is a direct time position, or using the property gml:origin whose model is gml:TimeInstantPropertyType; this permits more flexibility in representation and also supports referring to a value fixed elsewhere; +- the interval uses gml:TimeIntervalLengthType. +</documentation> + </annotation> + </element> + <complexType name="TimeCoordinateSystemType"> + <complexContent> + <extension base="gml:TimeReferenceSystemType"> + <sequence> + <choice> + <element name="originPosition" type="gml:TimePositionType"/> + <element name="origin" type="gml:TimeInstantPropertyType"/> + </choice> + <element name="interval" type="gml:TimeIntervalLengthType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TimeCalendar" type="gml:TimeCalendarType" substitutionGroup="gml:TimeReferenceSystem"> + <annotation> + <documentation>A calendar is a discrete temporal reference system that provides a basis for defining temporal position to a resolution of one day. +gml:TimeCalendar adds one property to those inherited from gml:TimeReferenceSystem. A gml:referenceFrame provides a link to a gml:TimeCalendarEra that it uses. A gml:TimeCalendar may reference more than one calendar era. +The referenceFrame element follows the standard GML property model, allowing the association to be instantiated either using an inline description using the gml:TimeCalendarEra element, or a link to a gml:TimeCalendarEra which is explicit elsewhere.</documentation> + </annotation> + </element> + <complexType name="TimeCalendarType"> + <complexContent> + <extension base="gml:TimeReferenceSystemType"> + <sequence> + <element name="referenceFrame" type="gml:TimeCalendarEraPropertyType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TimeCalendarEra" type="gml:TimeCalendarEraType"> + <annotation> + <documentation>gml:TimeCalendarEra inherits basic properties from gml:DefinitionType and has the following additional properties: +- gml:referenceEvent is the name or description of a mythical or historic event which fixes the position of the base scale of the calendar era. This is given as text or using a link to description held elsewhere. +- gml:referenceDate specifies the date of the referenceEvent expressed as a date in the given calendar. In most calendars, this date is the origin (i.e., the first day) of the scale, but this is not always true. +- gml:julianReference specifies the Julian date that corresponds to the reference date. The Julian day number is an integer value; the Julian date is a decimal value that allows greater resolution. Transforming calendar dates to and from Julian dates provides a relatively simple basis for transforming dates from one calendar to another. +- gml:epochOfUse is the period for which the calendar era was used as a basis for dating.</documentation> + </annotation> + </element> + <complexType name="TimeCalendarEraType"> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element name="referenceEvent" type="gml:StringOrRefType"/> + <element name="referenceDate" type="gml:CalDate"/> + <element name="julianReference" type="decimal"/> + <element name="epochOfUse" type="gml:TimePeriodPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeCalendarPropertyType"> + <annotation> + <documentation>gml:TimeCalendarPropertyType provides for associating a gml:TimeCalendar with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeCalendar"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="TimeCalendarEraPropertyType"> + <annotation> + <documentation>gml:TimeCalendarEraPropertyType provides for associating a gml:TimeCalendarEra with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeCalendarEra"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="TimeClock" type="gml:TimeClockType" substitutionGroup="gml:TimeReferenceSystem"> + <annotation> + <documentation>A clock provides a basis for defining temporal position within a day. A clock shall be used with a calendar in order to provide a complete description of a temporal position within a specific day. +gml:TimeClock adds the following properties to those inherited from gml:TimeReferenceSystemType: +- gml:referenceEvent is the name or description of an event, such as solar noon or sunrise, which fixes the position of the base scale of the clock. +- gml:referenceTime specifies the time of day associated with the reference event expressed as a time of day in the given clock. The reference time is usually the origin of the clock scale. +- gml:utcReference specifies the 24 hour local or UTC time that corresponds to the reference time. +- gml:dateBasis contains or references the calendars that use this clock.</documentation> + </annotation> + </element> + <complexType name="TimeClockType" final="#all"> + <complexContent> + <extension base="gml:TimeReferenceSystemType"> + <sequence> + <element name="referenceEvent" type="gml:StringOrRefType"/> + <element name="referenceTime" type="time"/> + <element name="utcReference" type="time"/> + <element name="dateBasis" type="gml:TimeCalendarPropertyType" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeClockPropertyType"> + <annotation> + <documentation>gml:TimeClockPropertyType provides for associating a gml:TimeClock with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeClock"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="TimeOrdinalReferenceSystem" type="gml:TimeOrdinalReferenceSystemType" substitutionGroup="gml:TimeReferenceSystem"> + <annotation> + <documentation>In some applications of geographic information — such as geology and archaeology — relative position in time is known more precisely than absolute time or duration. The order of events in time can be well established, but the magnitude of the intervals between them cannot be accurately determined; in such cases, the use of an ordinal temporal reference system is appropriate. An ordinal temporal reference system is composed of a sequence of named coterminous eras, which may in turn be composed of sequences of member eras at a finer scale, giving the whole a hierarchical structure of eras of verying resolution. +An ordinal temporal reference system whose component eras are not further subdivided is effectively a temporal topological complex constrained to be a linear graph. An ordinal temporal reference system some or all of whose component eras are subdivided is effectively a temporal topological complex with the constraint that parallel branches may only be constructed in pairs where one is a single temporal ordinal era and the other is a sequence of temporal ordinal eras that are called "members" of the "group". This constraint means that within a single temporal ordinal reference system, the relative position of all temporal ordinal eras is unambiguous. +The positions of the beginning and end of a given era may calibrate the relative time scale. +gml:TimeOrdinalReferenceSystem adds one or more gml:component properties to the generic temporal reference system model.</documentation> + </annotation> + </element> + <complexType name="TimeOrdinalReferenceSystemType"> + <complexContent> + <extension base="gml:TimeReferenceSystemType"> + <sequence> + <element name="component" type="gml:TimeOrdinalEraPropertyType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TimeOrdinalEra" type="gml:TimeOrdinalEraType"> + <annotation> + <documentation>Its content model follows the pattern of gml:TimeEdge, inheriting standard properties from gml:DefinitionType, and adding gml:start, gml:end and gml:extent properties, a set of gml:member properties which indicate ordered gml:TimeOrdinalEra elements, and a gml:group property which points to the parent era. +The recursive inclusion of gml:TimeOrdinalEra elements allow the construction of an arbitrary depth hierarchical ordinal reference schema, such that an ordinal era at a given level of the hierarchy includes a sequence of shorter, coterminous ordinal eras.</documentation> + </annotation> + </element> + <complexType name="TimeOrdinalEraType"> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" maxOccurs="unbounded"/> + <element name="start" type="gml:TimeNodePropertyType" minOccurs="0"/> + <element name="end" type="gml:TimeNodePropertyType" minOccurs="0"/> + <element name="extent" type="gml:TimePeriodPropertyType" minOccurs="0"/> + <element name="member" type="gml:TimeOrdinalEraPropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="group" type="gml:ReferenceType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeOrdinalEraPropertyType"> + <annotation> + <documentation>gml:TimeOrdinalEraPropertyType provides for associating a gml:TimeOrdinalEra with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeOrdinalEra"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporalTopology.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporalTopology.xsd new file mode 100644 index 00000000000..b38392c44dc --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/temporalTopology.xsd @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:temporalTopology:3.2.1">temporalTopology.xsd</appinfo> + <documentation>See ISO/DIS 19136 15.3. +Temporal topology is described in terms of time complexes, nodes, and edges, and the connectivity between these. Temporal topology does not directly provide information about temporal position. It is used in the case of describing a lineage or a history (e.g. a family tree expressing evolution of species, an ecological cycle, a lineage of lands or buildings, or a history of separation and merger of administrative boundaries). The following Subclauses specifies the temporal topology as temporal characteristics of features in compliance with ISO 19108. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="temporal.xsd"/> + <element name="AbstractTimeTopologyPrimitive" type="gml:AbstractTimeTopologyPrimitiveType" abstract="true" substitutionGroup="gml:AbstractTimePrimitive"> + <annotation> + <documentation>gml:TimeTopologyPrimitive acts as the head of a substitution group for topological temporal primitives. +Temporal topology primitives shall imply the ordering information between features or feature properties. The temporal connection of features can be examined if they have temporal topology primitives as values of their properties. Usually, an instantaneous feature associates with a time node, and a static feature associates with a time edge. A feature with both modes associates with the temporal topology primitive: a supertype of time nodes and time edges. +A topological primitive is always connected to one or more other topological primitives, and is, therefore, always a member of a topological complex. In a GML instance, this will often be indicated by the primitives being described by elements that are descendents of an element describing a complex. However, in order to support the case where a temporal topological primitive is described in another context, the optional complex property is provided, which carries a reference to the parent temporal topological complex.</documentation> + </annotation> + </element> + <complexType name="AbstractTimeTopologyPrimitiveType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimePrimitiveType"> + <sequence> + <element name="complex" type="gml:ReferenceType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeTopologyPrimitivePropertyType"> + <annotation> + <documentation>gml:TimeTopologyPrimitivePropertyType provides for associating a gml:AbstractTimeTopologyPrimitive with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:AbstractTimeTopologyPrimitive"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="TimeTopologyComplex" type="gml:TimeTopologyComplexType" substitutionGroup="gml:AbstractTimeComplex"> + <annotation> + <documentation>A temporal topology complex shall be the connected acyclic directed graph composed of temporal topological primitives, i.e. time nodes and time edges. Because a time edge may not exist without two time nodes on its boundaries, static features have time edges from a temporal topology complex as the values of their temporal properties, regardless of explicit declarations. +A temporal topology complex expresses a linear or a non-linear graph. A temporal linear graph, composed of a sequence of time edges, provides a lineage described only by "substitution" of feature instances or feature element values. A time node as the start or the end of the graph connects with at least one time edge. A time node other than the start and the end shall connect to at least two time edges: one of starting from the node, and another ending at the node. +A temporal topological complex is a set of connected temporal topological primitives. The member primtives are indicated, either by reference or by value, using the primitive property.</documentation> + </annotation> + </element> + <complexType name="TimeTopologyComplexType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTimeComplexType"> + <sequence> + <element name="primitive" type="gml:TimeTopologyPrimitivePropertyType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeTopologyComplexPropertyType"> + <annotation> + <documentation>gml:TimeTopologyComplexPropertyType provides for associating a gml:TimeTopologyComplex with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeTopologyComplex"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="TimeNode" type="gml:TimeNodeType" substitutionGroup="gml:AbstractTimeTopologyPrimitive"> + <annotation> + <documentation>A time node is a zero-dimensional topological primitive that represents an identifiable node in time (it is equivalent to a point in space). A node may act as the termination or initiation of any number of time edges. A time node may be realised as a geometry, its position, whose value is a time instant.</documentation> + </annotation> + </element> + <complexType name="TimeNodeType"> + <complexContent> + <extension base="gml:AbstractTimeTopologyPrimitiveType"> + <sequence> + <element name="previousEdge" type="gml:TimeEdgePropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="nextEdge" type="gml:TimeEdgePropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element name="position" type="gml:TimeInstantPropertyType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeNodePropertyType"> + <annotation> + <documentation>gml:TimeNodePropertyType provides for associating a gml:TimeNode with an object</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeNode"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="TimeEdge" type="gml:TimeEdgeType" substitutionGroup="gml:AbstractTimeTopologyPrimitive"> + <annotation> + <documentation>A time edge is a one-dimensional topological primitive. It is an open interval that starts and ends at a node. The edge may be realised as a geometry whose value is a time period.</documentation> + </annotation> + </element> + <complexType name="TimeEdgeType"> + <complexContent> + <extension base="gml:AbstractTimeTopologyPrimitiveType"> + <sequence> + <element name="start" type="gml:TimeNodePropertyType"/> + <element name="end" type="gml:TimeNodePropertyType"/> + <element name="extent" type="gml:TimePeriodPropertyType" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="TimeEdgePropertyType"> + <annotation> + <documentation>gml:TimeEdgePropertyType provides for associating a gml:TimeEdge with an object.</documentation> + </annotation> + <sequence minOccurs="0"> + <element ref="gml:TimeEdge"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/topology.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/topology.xsd new file mode 100644 index 00000000000..c528e6cfea3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/topology.xsd @@ -0,0 +1,386 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:topology:3.2.1">topology.xsd</appinfo> + <documentation>See ISO/DIS 19136 Clause 14. +Topology is the branch of mathematics describing the properties of objects which are invariant under continuous deformation. For example, a circle is topologically equivalent to an ellipse because one can be transformed into the other by stretching. In geographic modelling, the foremost use of topology is in accelerating computational geometry. The constructs of topology allow characterisation of the spatial relationships between objects using simple combinatorial or algebraic algorithms. Topology, realised by the appropriate geometry, also allows a compact and unambiguous mechanism for expressing shared geometry among geographic features. +There are four instantiable classes of primitive topology objects, one for each dimension up to 3D. In addition, topological complexes are supported, too. +There is strong symmetry in the (topological boundary and coboundary) relationships between topology primitives of adjacent dimensions. Topology primitives are bounded by directed primitives of one lower dimension. The coboundary of each topology primitive is formed from directed topology primitives of one higher dimension. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryComplexes.xsd"/> + <complexType name="AbstractTopologyType" abstract="true"> + <annotation> + <documentation>This abstract type supplies the root or base type for all topological elements including primitives and complexes. It inherits AbstractGMLType and hence can be identified using the gml:id attribute.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGMLType"/> + </complexContent> + </complexType> + <element name="AbstractTopology" type="gml:AbstractTopologyType" abstract="true" substitutionGroup="gml:AbstractGML"/> + <complexType name="AbstractTopoPrimitiveType" abstract="true"> + <complexContent> + <extension base="gml:AbstractTopologyType"/> + </complexContent> + </complexType> + <element name="AbstractTopoPrimitive" type="gml:AbstractTopoPrimitiveType" abstract="true" substitutionGroup="gml:AbstractTopology"> + <annotation> + <documentation>gml:AbstractTopoPrimitive acts as the base type for all topological primitives. Topology primitives are the atomic (smallest possible) units of a topology complex. +Each topology primitive may contain references to other topology primitives of codimension 2 or more (gml:isolated). Conversely, nodes may have faces as containers and nodes and edges may have solids as containers (gml:container).</documentation> + </annotation> + </element> + <complexType name="NodeOrEdgePropertyType"> + <choice minOccurs="0"> + <element ref="gml:Node"/> + <element ref="gml:Edge"/> + </choice> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="NodePropertyType"> + <choice minOccurs="0"> + <element ref="gml:Node"/> + </choice> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="FaceOrTopoSolidPropertyType"> + <choice minOccurs="0"> + <element ref="gml:Face"/> + <element ref="gml:TopoSolid"/> + </choice> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TopoSolidPropertyType"> + <choice minOccurs="0"> + <element ref="gml:TopoSolid"/> + </choice> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="NodeType"> + <complexContent> + <extension base="gml:AbstractTopoPrimitiveType"> + <sequence> + <element name="container" type="gml:FaceOrTopoSolidPropertyType" minOccurs="0"/> + <element ref="gml:directedEdge" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>In the case of planar topology, a gml:Node must have a clockwise sequence of gml:directedEdge properties, to ensure a lossless topology representation as defined by Kuijpers, et. al. (see OGC 05-102 Topology IPR).</documentation> + </annotation> + </element> + <element ref="gml:pointProperty" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="Node" type="gml:NodeType" substitutionGroup="gml:AbstractTopoPrimitive"> + <annotation> + <documentation>gml:Node represents the 0-dimensional primitive. +The optional coboundary of a node (gml:directedEdge) is a sequence of directed edges which are incident on this node. Edges emanating from this node appear in the node coboundary with a negative orientation. +If provided, the aggregationType attribute shall have the value "sequence". +A node may optionally be realised by a 0-dimensional geometric primitive (gml:pointProperty).</documentation> + </annotation> + </element> + <element name="directedNode" type="gml:DirectedNodePropertyType"> + <annotation> + <documentation>A gml:directedNode property element describes the boundary of topology edges and is used in the support of topological point features via the gml:TopoPoint expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included node is used: start ("-") or end ("+") node.</documentation> + </annotation> + </element> + <complexType name="DirectedNodePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Node"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="EdgeType"> + <complexContent> + <extension base="gml:AbstractTopoPrimitiveType"> + <sequence> + <element name="container" type="gml:TopoSolidPropertyType" minOccurs="0"/> + <element ref="gml:directedNode" minOccurs="2" maxOccurs="2"/> + <element ref="gml:directedFace" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:curveProperty" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="Edge" type="gml:EdgeType" substitutionGroup="gml:AbstractTopoPrimitive"> + <annotation> + <documentation>gml:Edge represents the 1-dimensional primitive. +The topological boundary of an Edge (gml:directedNode) consists of a negatively directed start Node and a positively directed end Node. +The optional coboundary of an edge (gml:directedFace) is a circular sequence of directed faces which are incident on this edge in document order. In the 2D case, the orientation of the face on the left of the edge is "+"; the orientation of the face on the right on its right is "-". +If provided, the aggregationType attribute shall have the value "sequence". +An edge may optionally be realised by a 1-dimensional geometric primitive (gml:curveProperty).</documentation> + </annotation> + </element> + <element name="directedEdge" type="gml:DirectedEdgePropertyType"> + <annotation> + <documentation>A gml:directedEdge property element describes the boundary of topology faces, the coBoundary of topology nodes and is used in the support of topological line features via the gml:TopoCurve expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included edge is used, i.e. forward or reverse.</documentation> + </annotation> + </element> + <complexType name="DirectedEdgePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Edge"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="FaceType"> + <complexContent> + <extension base="gml:AbstractTopoPrimitiveType"> + <sequence> + <element name="isolated" type="gml:NodePropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:directedEdge" maxOccurs="unbounded"/> + <element ref="gml:directedTopoSolid" minOccurs="0" maxOccurs="2"/> + <element ref="gml:surfaceProperty" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + <attribute name="universal" type="boolean" use="optional" default="false"> + <annotation> + <documentation>If the topological representation exists an unbounded manifold (e.g. Euclidean plane), a gml:Face must indicate whether it is a universal face or not, to ensure a lossless topology representation as defined by Kuijpers, et. al. (see OGC 05-102 Topology IPR). The optional universal attribute of type boolean is used to indicate this. NOTE The universal face is normally not part of any feature, and is used to represent the unbounded portion of the data set. Its interior boundary (it has no exterior boundary) would normally be considered the exterior boundary of the map represented by the data set. </documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> + <element name="Face" type="gml:FaceType" substitutionGroup="gml:AbstractTopoPrimitive"> + <annotation> + <documentation>gml:Face represents the 2-dimensional topology primitive. +The topological boundary of a face (gml:directedEdge) consists of a sequence of directed edges. If provided, the aggregationType attribute shall have the value "sequence". +The optional coboundary of a face (gml:directedTopoSolid) is a pair of directed solids which are bounded by this face. A positively directed solid corresponds to a solid which lies in the direction of the negatively directed normal to the face in any geometric realisation. +A face may optionally be realised by a 2-dimensional geometric primitive (gml:surfaceProperty).</documentation> + </annotation> + </element> + <element name="directedFace" type="gml:DirectedFacePropertyType"> + <annotation> + <documentation>The gml:directedFace property element describes the boundary of topology solids, in the coBoundary of topology edges and is used in the support of surface features via the gml:TopoSurface expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included face is used i.e. inward or outward with respect to the surface normal in any geometric realisation.</documentation> + </annotation> + </element> + <complexType name="DirectedFacePropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Face"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TopoSolidType"> + <complexContent> + <extension base="gml:AbstractTopoPrimitiveType"> + <sequence> + <element name="isolated" type="gml:NodeOrEdgePropertyType" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:directedFace" maxOccurs="unbounded"/> + <element ref="gml:solidProperty" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + <attribute name="universal" type="boolean" use="optional" default="false"> + <annotation> + <documentation>A gml:TopoSolid must indicate whether it is a universal topo-solid or not, to ensure a lossless topology representation as defined by Kuijpers, et. al. (see OGC 05-102 Topology IPR). The optional universal attribute of type boolean is used to indicate this and the default is fault. NOTE The universal topo-solid is normally not part of any feature, and is used to represent the unbounded portion of the data set. Its interior boundary (it has no exterior boundary) would normally be considered the exterior boundary of the data set.</documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> + <element name="TopoSolid" type="gml:TopoSolidType" substitutionGroup="gml:AbstractTopoPrimitive"> + <annotation> + <documentation>gml:TopoSolid represents the 3-dimensional topology primitive. +The topological boundary of a solid (gml:directedFace) consists of a set of directed faces. +A solid may optionally be realised by a 3-dimensional geometric primitive (gml:solidProperty).</documentation> + </annotation> + </element> + <element name="directedTopoSolid" type="gml:DirectedTopoSolidPropertyType"> + <annotation> + <documentation>The gml:directedSolid property element describes the coBoundary of topology faces and is used in the support of volume features via the gml:TopoVolume expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included solid appears in the face coboundary. In the context of a gml:TopoVolume the orientation attribute has no meaning.</documentation> + </annotation> + </element> + <complexType name="DirectedTopoSolidPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:TopoSolid"/> + </sequence> + <attribute name="orientation" type="gml:SignType" default="+"/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TopoPointType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:directedNode"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="TopoPoint" type="gml:TopoPointType"> + <annotation> + <documentation>The intended use of gml:TopoPoint is to appear within a point feature to express the structural and possibly geometric relationships of this feature to other features via shared node definitions.</documentation> + </annotation> + </element> + <complexType name="TopoPointPropertyType"> + <sequence> + <element ref="gml:TopoPoint"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoPointProperty" type="gml:TopoPointPropertyType"> + <annotation> + <documentation>The gml:topoPointProperty property element may be used in features to express their relationship to the referenced topology node.</documentation> + </annotation> + </element> + <complexType name="TopoCurveType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:directedEdge" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoCurve" type="gml:TopoCurveType"> + <annotation> + <documentation>gml:TopoCurve represents a homogeneous topological expression, a sequence of directed edges, which if realised are isomorphic to a geometric curve primitive. The intended use of gml:TopoCurve is to appear within a line feature to express the structural and geometric relationships of this feature to other features via the shared edge definitions. +If provided, the aggregationType attribute shall have the value "sequence".</documentation> + </annotation> + </element> + <complexType name="TopoCurvePropertyType"> + <sequence> + <element ref="gml:TopoCurve"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoCurveProperty" type="gml:TopoCurvePropertyType"> + <annotation> + <documentation>The gml:topoCurveProperty property element may be used in features to express their relationship to the referenced topology edges.</documentation> + </annotation> + </element> + <complexType name="TopoSurfaceType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:directedFace" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoSurface" type="gml:TopoSurfaceType"> + <annotation> + <documentation>gml:TopoSurface represents a homogeneous topological expression, a set of directed faces, which if realised are isomorphic to a geometric surface primitive. The intended use of gml:TopoSurface is to appear within a surface feature to express the structural and possibly geometric relationships of this surface feature to other features via the shared face definitions.</documentation> + </annotation> + </element> + <complexType name="TopoSurfacePropertyType"> + <sequence> + <element ref="gml:TopoSurface"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoSurfaceProperty" type="gml:TopoSurfacePropertyType"> + <annotation> + <documentation>The gml:topoSurfaceProperty property element may be used in features to express their relationship to the referenced topology faces.</documentation> + </annotation> + </element> + <complexType name="TopoVolumeType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:directedTopoSolid" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoVolume" type="gml:TopoVolumeType"> + <annotation> + <documentation>gml:TopoVolume represents a homogeneous topological expression, a set of directed topologic solids, which if realised are isomorphic to a geometric solid primitive. The intended use of gml:TopoVolume is to appear within a solid feature to express the structural and geometric relationships of this solid feature to other features via the shared solid definitions.</documentation> + </annotation> + </element> + <complexType name="TopoVolumePropertyType"> + <sequence> + <element ref="gml:TopoVolume"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoVolumeProperty" type="gml:TopoVolumePropertyType"> + <annotation> + <documentation>The gml:topoVolumeProperty element may be used in features to express their relationship to the referenced topology volume.</documentation> + </annotation> + </element> + <complexType name="TopoComplexType"> + <complexContent> + <extension base="gml:AbstractTopologyType"> + <sequence> + <element ref="gml:maximalComplex"/> + <element ref="gml:superComplex" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:subComplex" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:topoPrimitiveMember" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:topoPrimitiveMembers" minOccurs="0"/> + </sequence> + <attribute name="isMaximal" type="boolean" default="false"/> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="TopoComplex" type="gml:TopoComplexType" substitutionGroup="gml:AbstractTopology"> + <annotation> + <documentation>gml:TopoComplex is a collection of topological primitives. +Each complex holds a reference to its maximal complex (gml:maximalComplex) and optionally to sub- or super-complexes (gml:subComplex, gml:superComplex). +A topology complex contains its primitive and sub-complex members. +</documentation> + </annotation> + </element> + <element name="subComplex" type="gml:TopoComplexPropertyType"> + <annotation> + <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding for relationships between topology complexes as described for gml:TopoComplex above.</documentation> + </annotation> + </element> + <element name="superComplex" type="gml:TopoComplexPropertyType"> + <annotation> + <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding for relationships between topology complexes as described for gml:TopoComplex above.</documentation> + </annotation> + </element> + <element name="maximalComplex" type="gml:TopoComplexPropertyType"> + <annotation> + <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding for relationships between topology complexes as described for gml:TopoComplex above.</documentation> + </annotation> + </element> + <element name="topoPrimitiveMember" type="gml:TopoPrimitiveMemberType"> + <annotation> + <documentation>The gml:topoPrimitiveMember property element encodes for the relationship between a topology complex and a single topology primitive.</documentation> + </annotation> + </element> + <complexType name="TopoPrimitiveMemberType"> + <sequence minOccurs="0"> + <element ref="gml:AbstractTopoPrimitive"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="topoPrimitiveMembers" type="gml:TopoPrimitiveArrayAssociationType"> + <annotation> + <documentation>The gml:topoPrimitiveMembers property element encodes the relationship between a topology complex and an arbitrary number of topology primitives.</documentation> + </annotation> + </element> + <complexType name="TopoPrimitiveArrayAssociationType"> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="gml:AbstractTopoPrimitive"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <complexType name="TopoComplexPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:TopoComplex"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/units.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/units.xsd new file mode 100644 index 00000000000..84eca23a04f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/units.xsd @@ -0,0 +1,162 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:units:3.2.1">units.xsd</appinfo> + <documentation>See ISO/DIS 17.2. +Several GML Schema components concern or require a reference scale or units of measure. Units are required for quantities that may occur as values of properties of feature types, as the results of observations, in the range parameters of a coverage, and for measures used in Coordinate Reference System definitions. +The basic unit definition is an extension of the general gml:Definition element defined in 16.2.1. Three specialized elements for unit definition are further derived from this. +This model is based on the SI system of units [ISO 1000], which distinguishes between Base Units and Derived Units. +- Base Units are the preferred units for a set of orthogonal fundamental quantities which define the particular system of units, which may not be derived by combination of other base units. +- Derived Units are the preferred units for other quantities in the system, which may be defined by algebraic combination of the base units. +In some application areas Conventional units are used, which may be converted to the preferred units using a scaling factor or a formula which defines a re-scaling and offset. The set of preferred units for all physical quantity types in a particular system of units is composed of the union of its base units and derived units. +Unit definitions are substitutable for the gml:Definition element declared as part of the dictionary model. A dictionary that contains only unit definitions and references to unit definitions is a units dictionary. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="dictionary.xsd"/> + <element name="unitOfMeasure" type="gml:UnitOfMeasureType"> + <annotation> + <documentation>The element gml:unitOfMeasure is a property element to refer to a unit of measure. This is an empty element which carries a reference to a unit of measure definition.</documentation> + </annotation> + </element> + <complexType name="UnitOfMeasureType"> + <sequence/> + <attribute name="uom" type="gml:UomIdentifier" use="required"/> + </complexType> + <element name="UnitDefinition" type="gml:UnitDefinitionType" substitutionGroup="gml:Definition"> + <annotation> + <documentation>A gml:UnitDefinition is a general definition of a unit of measure. This generic element is used only for units for which no relationship with other units or units systems is known. +The content model of gml:UnitDefinition adds three additional properties to gml:Definition, gml:quantityType, gml:quantityTypeReference and gml:catalogSymbol. +The gml:catalogSymbol property optionally gives the short symbol used for this unit. This element is usually used when the relationship of this unit to other units or units systems is unknown.</documentation> + </annotation> + </element> + <complexType name="UnitDefinitionType"> + <complexContent> + <extension base="gml:DefinitionType"> + <sequence> + <element ref="gml:quantityType" minOccurs="0"/> + <element ref="gml:quantityTypeReference" minOccurs="0"/> + <element ref="gml:catalogSymbol" minOccurs="0"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="quantityType" type="gml:StringOrRefType"> + <annotation> + <documentation>The gml:quantityType property indicates the phenomenon to which the units apply. This element contains an informal description of the phenomenon or type of physical quantity that is measured or observed. When the physical quantity is the result of an observation or measurement, this term is known as observable type or measurand. +The use of gml:quantityType for references to remote values is deprecated.</documentation> + </annotation> + </element> + <element name="quantityTypeReference" type="gml:ReferenceType"> + <annotation> + <documentation>The gml:quantityTypeReference property indicates the phenomenon to which the units apply. The content is a reference to a remote value.</documentation> + </annotation> + </element> + <element name="catalogSymbol" type="gml:CodeType"> + <annotation> + <documentation>The catalogSymbol is the preferred lexical symbol used for this unit of measure. +The codeSpace attribute in gml:CodeType identifies a namespace for the catalog symbol value, and might reference the external catalog. The string value in gml:CodeType contains the value of a symbol that should be unique within this catalog namespace. This symbol often appears explicitly in the catalog, but it could be a combination of symbols using a specified algebra of units.</documentation> + </annotation> + </element> + <element name="BaseUnit" type="gml:BaseUnitType" substitutionGroup="gml:UnitDefinition"> + <annotation> + <documentation>A base unit is a unit of measure that cannot be derived by combination of other base units within a particular system of units. For example, in the SI system of units, the base units are metre, kilogram, second, Ampere, Kelvin, mole, and candela, for the physical quantity types length, mass, time interval, electric current, thermodynamic temperature, amount of substance and luminous intensity, respectively. +gml:BaseUnit extends generic gml:UnitDefinition with the property gml:unitsSystem, which carries a reference to the units system to which this base unit is asserted to belong. </documentation> + </annotation> + </element> + <complexType name="BaseUnitType"> + <complexContent> + <extension base="gml:UnitDefinitionType"> + <sequence> + <element name="unitsSystem" type="gml:ReferenceType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="DerivedUnit" type="gml:DerivedUnitType" substitutionGroup="gml:UnitDefinition"> + <annotation> + <documentation>Derived units are defined by combination of other units. Derived units are used for quantities other than those corresponding to the base units, such as hertz (s-1) for frequency, Newton (kg.m/s2) for force. Derived units based directly on base units are usually preferred for quantities other than the fundamental quantities within a system. If a derived unit is not the preferred unit, the gml:ConventionalUnit element should be used instead. +The gml:DerivedUnit extends gml:UnitDefinition with the property gml:derivationUnitTerms.</documentation> + </annotation> + </element> + <complexType name="DerivedUnitType"> + <complexContent> + <extension base="gml:UnitDefinitionType"> + <sequence> + <element ref="gml:derivationUnitTerm" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="derivationUnitTerm" type="gml:DerivationUnitTermType"> + <annotation> + <documentation>A set of gml:derivationUnitTerm elements describes a derived unit of measure. Each element carries an integer exponent. The terms are combined by raising each referenced unit to the power of its exponent and forming the product. +This unit term references another unit of measure (uom) and provides an integer exponent applied to that unit in defining the compound unit. The exponent may be positive or negative, but not zero.</documentation> + </annotation> + </element> + <complexType name="DerivationUnitTermType"> + <complexContent> + <extension base="gml:UnitOfMeasureType"> + <attribute name="exponent" type="integer"/> + </extension> + </complexContent> + </complexType> + <element name="ConventionalUnit" type="gml:ConventionalUnitType" substitutionGroup="gml:UnitDefinition"> + <annotation> + <documentation>Conventional units that are neither base units nor defined by direct combination of base units are used in many application domains. For example electronVolt for energy, feet and nautical miles for length. In most cases there is a known, usually linear, conversion to a preferred unit which is either a base unit or derived by direct combination of base units. +The gml:ConventionalUnit extends gml:UnitDefinition with a property that describes a conversion to a preferred unit for this physical quantity. When the conversion is exact, the element gml:conversionToPreferredUnit should be used, or when the conversion is not exact the element gml:roughConversionToPreferredUnit is available. Both of these elements have the same content model. The gml:derivationUnitTerm property defined above is included to allow a user to optionally record how this unit may be derived from other ("more primitive") units.</documentation> + </annotation> + </element> + <complexType name="ConventionalUnitType"> + <complexContent> + <extension base="gml:UnitDefinitionType"> + <sequence> + <choice> + <element ref="gml:conversionToPreferredUnit"/> + <element ref="gml:roughConversionToPreferredUnit"/> + </choice> + <element ref="gml:derivationUnitTerm" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="conversionToPreferredUnit" type="gml:ConversionToPreferredUnitType"> + <annotation> + <documentation>The elements gml:conversionToPreferredUnit and gml:roughConversionToPreferredUnit represent parameters used to convert conventional units to preferred units for this physical quantity type. A preferred unit is either a Base Unit or a Derived Unit that is selected for all values of one physical quantity type.</documentation> + </annotation> + </element> + <element name="roughConversionToPreferredUnit" type="gml:ConversionToPreferredUnitType"> + <annotation> + <documentation>The elements gml:conversionToPreferredUnit and gml:roughConversionToPreferredUnit represent parameters used to convert conventional units to preferred units for this physical quantity type. A preferred unit is either a Base Unit or a Derived Unit that is selected for all values of one physical quantity type.</documentation> + </annotation> + </element> + <complexType name="ConversionToPreferredUnitType"> + <annotation> + <documentation>The inherited attribute uom references the preferred unit that this conversion applies to. The conversion of a unit to the preferred unit for this physical quantity type is specified by an arithmetic conversion (scaling and/or offset). The content model extends gml:UnitOfMeasureType, which has a mandatory attribute uom which identifies the preferred unit for the physical quantity type that this conversion applies to. The conversion is specified by a choice of +- gml:factor, which defines the scale factor, or +- gml:formula, which defines a formula +by which a value using the conventional unit of measure can be converted to obtain the corresponding value using the preferred unit of measure. +The formula defines the parameters of a simple formula by which a value using the conventional unit of measure can be converted to the corresponding value using the preferred unit of measure. The formula element contains elements a, b, c and d, whose values use the XML Schema type double. These values are used in the formula y = (a + bx) / (c + dx), where x is a value using this unit, and y is the corresponding value using the base unit. The elements a and d are optional, and if values are not provided, those parameters are considered to be zero. If values are not provided for both a and d, the formula is equivalent to a fraction with numerator and denominator parameters.</documentation> + </annotation> + <complexContent> + <extension base="gml:UnitOfMeasureType"> + <choice> + <element name="factor" type="double"/> + <element name="formula" type="gml:FormulaType"/> + </choice> + </extension> + </complexContent> + </complexType> + <complexType name="FormulaType"> + <sequence> + <element name="a" type="double" minOccurs="0"/> + <element name="b" type="double"/> + <element name="c" type="double"/> + <element name="d" type="double" minOccurs="0"/> + </sequence> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/valueObjects.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/valueObjects.xsd new file mode 100644 index 00000000000..204bdfdc8b2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gml/valueObjects.xsd @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2"> + <annotation> + <appinfo source="urn:x-ogc:specification:gml:schema-xsd:valueObjects:3.2.1">valueObjects.xsd</appinfo> + <documentation>See ISO/DIS 19136 17.5. +The elements declared in this Clause build on other GML schema components, in particular gml:AbstractTimeObject, gml:AbstractGeometry, and the following types: gml:MeasureType, gml:MeasureListType, gml:CodeType, gml:CodeOrNilReasonListType, gml:BooleanOrNilReasonListType, gml:IntegerOrNilReasonList. +Of particular interest are elements that are the heads of substitution groups, and one named choice group. These are the primary reasons for the value objects schema, since they may act as variables in the definition of content models, such as Observations, when it is desired to permit alternative value types to occur some of which may have complex content such as arrays, geometry and time objects, and where it is useful not to prescribe the actual value type in advance. The members of the groups include quantities, category classifications, boolean, count, temporal and spatial values, and aggregates of these. +The value objects are defined in a hierarchy. The following relationships are defined: +- Concrete elements gml:Quantity, gml:Category, gml:Count and gml:Boolean are substitutable for the abstract element gml:AbstractScalarValue. +- Concrete elements gml:QuantityList, gml:CategoryList, gml:CountList and gml:BooleanList are substitutable for the abstract element gml:AbstractScalarValueList. +- Concrete element gml:ValueArray is substitutable for the concrete element gml:CompositeValue. +- Abstract elements gml:AbstractScalarValue and gml:AbstractScalarValueList, and concrete elements gml:CompositeValue, gml:ValueExtent, gml:CategoryExtent, gml:CountExtent and gml:QuantityExtent are substitutable for abstract element gml:AbstractValue. +- Abstract elements gml:AbstractValue, gml:AbstractTimeObject and gml:AbstractGeometry are all in a choice group named gml:Value, which is used for compositing in gml:CompositeValue and gml:ValueExtent. +- Schemas which need values may use the abstract element gml:AbstractValue in a content model in order to permit any of the gml:AbstractScalarValues, gml:AbstractScalarValueLists, gml:CompositeValue or gml:ValueExtent to occur in an instance, or the named group gml:Value to also permit gml:AbstractTimeObjects, gml:AbstractGeometrys. + +GML is an OGC Standard. +Copyright (c) 2007,2010 Open Geospatial Consortium. +To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + </documentation> + </annotation> + <include schemaLocation="gml.xsd"/> + <include schemaLocation="geometryBasic0d1d.xsd"/> + <include schemaLocation="temporal.xsd"/> + <element name="Boolean" substitutionGroup="gml:AbstractScalarValue" nillable="true"> + <complexType> + <simpleContent> + <extension base="boolean"> + <attribute name="nilReason" type="gml:NilReasonType"/> + </extension> + </simpleContent> + </complexType> + </element> + <element name="BooleanList" type="gml:booleanOrNilReasonList" substitutionGroup="gml:AbstractScalarValueList"/> + <element name="Category" substitutionGroup="gml:AbstractScalarValue" nillable="true"> + <annotation> + <documentation>A gml:Category has an optional XML attribute codeSpace, whose value is a URI which identifies a dictionary, codelist or authority for the term.</documentation> + </annotation> + <complexType> + <simpleContent> + <extension base="gml:CodeType"> + <attribute name="nilReason" type="gml:NilReasonType"/> + </extension> + </simpleContent> + </complexType> + </element> + <element name="CategoryList" type="gml:CodeOrNilReasonListType" substitutionGroup="gml:AbstractScalarValueList"/> + <element name="Count" substitutionGroup="gml:AbstractScalarValue" nillable="true"> + <complexType> + <simpleContent> + <extension base="integer"> + <attribute name="nilReason" type="gml:NilReasonType"/> + </extension> + </simpleContent> + </complexType> + </element> + <element name="CountList" type="gml:integerOrNilReasonList" substitutionGroup="gml:AbstractScalarValueList"/> + <element name="Quantity" substitutionGroup="gml:AbstractScalarValue" nillable="true"> + <annotation> + <documentation>An XML attribute uom ("unit of measure") is required, whose value is a URI which identifies the definition of a ratio scale or units by which the numeric value shall be multiplied, or an interval or position scale on which the value occurs.</documentation> + </annotation> + <complexType> + <simpleContent> + <extension base="gml:MeasureType"> + <attribute name="nilReason" type="gml:NilReasonType"/> + </extension> + </simpleContent> + </complexType> + </element> + <element name="QuantityList" type="gml:MeasureOrNilReasonListType" substitutionGroup="gml:AbstractScalarValueList"/> + <element name="AbstractValue" type="anyType" abstract="true" substitutionGroup="gml:AbstractObject"> + <annotation> + <documentation>gml:AbstractValue is an abstract element which acts as the head of a substitution group which contains gml:AbstractScalarValue, gml:AbstractScalarValueList, gml:CompositeValue and gml:ValueExtent, and (transitively) the elements in their substitution groups. +These elements may be used in an application schema as variables, so that in an XML instance document any member of its substitution group may occur.</documentation> + </annotation> + </element> + <element name="AbstractScalarValue" type="anyType" abstract="true" substitutionGroup="gml:AbstractValue"> + <annotation> + <documentation>gml:AbstractScalarValue is an abstract element which acts as the head of a substitution group which contains gml:Boolean, gml:Category, gml:Count and gml:Quantity, and (transitively) the elements in their substitution groups.</documentation> + </annotation> + </element> + <element name="AbstractScalarValueList" type="anyType" abstract="true" substitutionGroup="gml:AbstractValue"> + <annotation> + <documentation>gml:AbstractScalarValueList is an abstract element which acts as the head of a substitution group which contains gml:BooleanList, gml:CategoryList, gml:CountList and gml:QuantityList, and (transitively) the elements in their substitution groups.</documentation> + </annotation> + </element> + <group name="Value"> + <annotation> + <documentation>This is a convenience choice group which unifies generic values defined in this Clause with spatial and temporal objects and the measures described above, so that any of these may be used within aggregate values.</documentation> + </annotation> + <choice> + <element ref="gml:AbstractValue"/> + <element ref="gml:AbstractGeometry"/> + <element ref="gml:AbstractTimeObject"/> + <element ref="gml:Null"/> + </choice> + </group> + <element name="valueProperty" type="gml:ValuePropertyType"> + <annotation> + <documentation>Property that refers to, or contains, a Value. Convenience element for general use.</documentation> + </annotation> + </element> + <element name="valueComponent" type="gml:ValuePropertyType"> + <annotation> + <documentation>Property that refers to, or contains, a Value.</documentation> + </annotation> + </element> + <complexType name="ValuePropertyType"> + <sequence minOccurs="0"> + <group ref="gml:Value"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="valueComponents" type="gml:ValueArrayPropertyType"> + <annotation> + <documentation>Property that contains Values.</documentation> + </annotation> + </element> + <complexType name="ValueArrayPropertyType"> + <sequence maxOccurs="unbounded"> + <group ref="gml:Value"/> + </sequence> + <attributeGroup ref="gml:OwnershipAttributeGroup"/> + </complexType> + <element name="CompositeValue" type="gml:CompositeValueType" substitutionGroup="gml:AbstractValue"> + <annotation> + <documentation>gml:CompositeValue is an aggregate value built from other values . It contains zero or an arbitrary number of gml:valueComponent elements, and zero or one gml:valueComponents property elements. It may be used for strongly coupled aggregates (vectors, tensors) or for arbitrary collections of values.</documentation> + </annotation> + </element> + <complexType name="CompositeValueType"> + <complexContent> + <extension base="gml:AbstractGMLType"> + <sequence> + <element ref="gml:valueComponent" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:valueComponents" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AggregationAttributeGroup"/> + </extension> + </complexContent> + </complexType> + <element name="ValueArray" type="gml:ValueArrayType" substitutionGroup="gml:CompositeValue"> + <annotation> + <documentation>A Value Array is used for homogeneous arrays of primitive and aggregate values. +The member values may be scalars, composites, arrays or lists. +ValueArray has the same content model as CompositeValue, but the member values shall be homogeneous. The element declaration contains a Schematron constraint which expresses this restriction precisely. Since the members are homogeneous, the gml:referenceSystem (uom, codeSpace) may be specified on the gml:ValueArray itself and inherited by all the members if desired.</documentation> + </annotation> + </element> + <complexType name="ValueArrayType"> + <complexContent> + <extension base="gml:CompositeValueType"> + <attributeGroup ref="gml:referenceSystem"/> + </extension> + </complexContent> + </complexType> + <attributeGroup name="referenceSystem"> + <attribute name="codeSpace" type="anyURI"/> + <attribute name="uom" type="gml:UomIdentifier"/> + </attributeGroup> + <element name="CategoryExtent" type="gml:CategoryExtentType" substitutionGroup="gml:AbstractValue"/> + <complexType name="CategoryExtentType"> + <simpleContent> + <restriction base="gml:CodeOrNilReasonListType"> + <length value="2"/> + </restriction> + </simpleContent> + </complexType> + <element name="CountExtent" type="gml:CountExtentType" substitutionGroup="gml:AbstractValue"/> + <simpleType name="CountExtentType"> + <restriction base="gml:integerOrNilReasonList"> + <length value="2"/> + </restriction> + </simpleType> + <element name="QuantityExtent" type="gml:QuantityExtentType" substitutionGroup="gml:AbstractValue"/> + <complexType name="QuantityExtentType"> + <simpleContent> + <restriction base="gml:MeasureOrNilReasonListType"> + <length value="2"/> + </restriction> + </simpleContent> + </complexType> + <complexType name="BooleanPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Boolean"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="CategoryPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Category"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="QuantityPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Quantity"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <complexType name="CountPropertyType"> + <sequence minOccurs="0"> + <element ref="gml:Count"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> +</schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/ReadMe.txt new file mode 100644 index 00000000000..16a0ede8efb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/ReadMe.txt @@ -0,0 +1,47 @@ +ISO(c) GMX schema ReadMe.txt +------------------------------------------------------------------------------ + +Geographic Metadata XML (GMX) Schema + +GMX is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. + +GMX includes all the definitions of http://www.isotc211.org/2005/gmx +namespace. The root document of this namespace is the file gmx.xsd. + +The most current schemas are available at: +http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/ + +------------------------------------------------------------------------------- + +2012-07-13 Nicolas Lesage on behalf of the ISO/TC 211 XML Maintenance Group + * Update of readme.txt file and schema annotations + * Use of absolute schema locations of imported namespaces + * Simplification of the schema location of included XML Schemas + * Adoption of W3C Implementation of XLink: + - schemaLocation changed to: http://www.w3.org/1999/xlink.xsd + - xlink:simpleLink renamed xlink:simpleAttrs + * Addition of the version attribute to the schema element. The value of + this attribute is expected to be the date of the last release of the + XML schemas (e.g. 2012-07-13 for this release) + * Include root XML Schema document in all schema documents + + Validation: Schemas have been validated with XML Spy 2010 Rel. 2 (MSXML 6.0) + +2009-03-16 Marcellin Prudham & Nicolas Lesage + * Change of GML namespace: http://www.opengis.net/gml (GML 3.2) => + http://www.opengis.net/gml/3.2 (GML 3.2.1=ISO 19136) + + Note: ISO/TS 19139:2007 (published 2007-04-17) normatively reference + ISO 19136 which was published 2007-08-23. The major change applied to + ISO 19136 is the change of the namespace URI. Previous release of GMX + are not compliant with ISO/TS 19139:2007 + + Validation: Schemas have been validated with XSV 2.10, Xerces J 2.7.1 and + XML Spy 2009 (2009-03-02, IGN / France - Nicolas Lesage / Marcellin Prudham) + +2006-05-04 Marie-Pierre Escher & Nicolas Lesage + * First official release of GMX + * GMX XML Schema files were generated from ISO/TC 211 UML class diagrams + in accordance with ISO/TS 19139:2007. The XML Schema generator is a + Rational Rose Plug-in developed by IGN France (nicolas.lesage@ign.fr). diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/catalogues.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/catalogues.xsd new file mode 100644 index 00000000000..4f6d6c21925 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/catalogues.xsd @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Metadata XML (GMX) Schema is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMX includes all the definitions of http://www.isotc211.org/2005/gmx namespace. The root document of this namespace is the file gmx.xsd. This catalogues.xsd schema implements the UML conceptual schema defined in 7.4.4.1 of ISO/TS 19139:2007. It contains the implementation of CT_Catalogue, CT_CodelistCatalogue, CT_UomCatalogue and CT_CrsCatalogue.</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="gmx.xsd"/> + <xs:include schemaLocation="uomItem.xsd"/> + <xs:include schemaLocation="codelistItem.xsd"/> + <xs:include schemaLocation="crsItem.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="AbstractCT_Catalogue_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="scope" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/> + <xs:element name="fieldOfApplication" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="versionNumber" type="gco:CharacterString_PropertyType"/> + <xs:element name="versionDate" type="gco:Date_PropertyType"/> + <xs:element name="language" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="characterSet" type="gmd:MD_CharacterSetCode_PropertyType" minOccurs="0"/> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="subCatalogue" type="gmx:CT_Catalogue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractCT_Catalogue" type="gmx:AbstractCT_Catalogue_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="CT_Catalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:AbstractCT_Catalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CT_CodelistCatalogue_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractCT_Catalogue_Type"> + <xs:sequence> + <xs:element name="codelistItem" type="gmx:CT_Codelist_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CT_CodelistCatalogue" type="gmx:CT_CodelistCatalogue_Type" substitutionGroup="gmx:AbstractCT_Catalogue"/> + <!-- ........................................................................ --> + <xs:complexType name="CT_CodelistCatalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CT_CodelistCatalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CT_CrsCatalogue_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractCT_Catalogue_Type"> + <xs:sequence> + <xs:element name="crs" type="gmx:CT_CRS_PropertyType" maxOccurs="unbounded"/> + <xs:element name="coordinateSystem" type="gmx:CT_CoordinateSystem_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="axis" type="gmx:CT_CoordinateSystemAxis_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="datum" type="gmx:CT_Datum_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="ellipsoid" type="gmx:CT_Ellipsoid_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="primeMeridian" type="gmx:CT_PrimeMeridian_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="operation" type="gmx:CT_Operation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="operationMethod" type="gmx:CT_OperationMethod_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="parameters" type="gmx:CT_OperationParameters_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CT_CrsCatalogue" type="gmx:CT_CrsCatalogue_Type" substitutionGroup="gmx:AbstractCT_Catalogue"/> + <!-- ........................................................................ --> + <xs:complexType name="CT_CrsCatalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CT_CrsCatalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CT_UomCatalogue_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractCT_Catalogue_Type"> + <xs:sequence> + <xs:element name="uomItem" type="gmx:UnitDefinition_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CT_UomCatalogue" type="gmx:CT_UomCatalogue_Type" substitutionGroup="gmx:AbstractCT_Catalogue"/> + <!-- ........................................................................ --> + <xs:complexType name="CT_UomCatalogue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CT_UomCatalogue"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/codelistItem.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/codelistItem.xsd new file mode 100644 index 00000000000..20528e5986f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/codelistItem.xsd @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Metadata XML (GMX) Schema is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMX includes all the definitions of http://www.isotc211.org/2005/gmx namespace. The root document of this namespace is the file gmx.xsd. This codelistItem.xsd schema implements the UML conceptual schema defined in 7.4.4.4 of ISO/TS 19139:2007. It contains the implementation of CT_Codelist and CT_CodelistValue.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <xs:include schemaLocation="gmx.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_CodelistValue_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_Codelist_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeListDictionary"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CodeDefinition_Type"> + <xs:complexContent> + <xs:extension base="gml:DefinitionType"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CodeDefinition" type="gmx:CodeDefinition_Type" substitutionGroup="gml:Definition"/> + <!-- ........................................................................ --> + <xs:complexType name="CodeDefinition_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CodeListDictionary_Type"> + <xs:annotation> + <xs:documentation>Constraints: - 1) metadataProperty.card = 0 - 2) dictionaryEntry.card = 0</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:DictionaryType"> + <xs:sequence> + <xs:element name="codeEntry" type="gmx:CodeDefinition_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CodeListDictionary" type="gmx:CodeListDictionary_Type" substitutionGroup="gml:Dictionary"/> + <!-- ........................................................................ --> + <xs:complexType name="CodeListDictionary_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeListDictionary"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_CodeDefinition_Type"> + <xs:complexContent> + <xs:extension base="gmx:CodeDefinition_Type"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CodeAlternativeExpression_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CodeDefinition" type="gmx:ML_CodeDefinition_Type" substitutionGroup="gmx:CodeDefinition"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CodeDefinition_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CodeDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_CodeListDictionary_Type"> + <xs:annotation> + <xs:documentation>Constraint: codeEntry.type = ML_CodeListDefinition</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gmx:CodeListDictionary_Type"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:ClAlternativeExpression_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CodeListDictionary" type="gmx:ML_CodeListDictionary_Type" substitutionGroup="gmx:CodeListDictionary"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CodeListDictionary_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CodeListDictionary"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!--===================== Alternative Expresssion type ===============================--> + <xs:complexType name="ClAlternativeExpression_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:DefinitionType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ClAlternativeExpression" type="gmx:ClAlternativeExpression_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="ClAlternativeExpression_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ClAlternativeExpression"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <xs:complexType name="CodeAlternativeExpression_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:DefinitionType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CodeAlternativeExpression" type="gmx:CodeAlternativeExpression_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CodeAlternativeExpression_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CodeAlternativeExpression"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--===End Of File===--> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/crsItem.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/crsItem.xsd new file mode 100644 index 00000000000..897f76f01bc --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/crsItem.xsd @@ -0,0 +1,1031 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Metadata XML (GMX) Schema is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMX includes all the definitions of http://www.isotc211.org/2005/gmx namespace. The root document of this namespace is the file gmx.xsd. This crsItem.xsd schema implements the UML conceptual schema defined in 7.4.4.3 of ISO/TS 19139:2007. It contains the implementation of CT_CRS, CT_CoordinateSystem, CT_CoordinateSystemAxis, CT_Datum, CT_Ellipsoid, CT_PrimeMeridian, CT_Operation, CT_OperationMethod and CT_OperationParameters.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <xs:include schemaLocation="gmx.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_CRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_CoordinateSystem_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractCoordinateSystem"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_CoordinateSystemAxis_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:CoordinateSystemAxis"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_Datum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_Ellipsoid_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:Ellipsoid"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_PrimeMeridian_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:PrimeMeridian"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_Operation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractCoordinateOperation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_OperationMethod_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:OperationMethod"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="CT_OperationParameters_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractGeneralOperationParameter"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--============================= Multilingual types ===============================--> + <!--============================== GML extensions ===============================--> + <!--================ GML XSchema: coordinateReferenceSystems.xsd ==================--> + <xs:complexType name="ML_CompoundCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:CompoundCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CompoundCRS" type="gmx:ML_CompoundCRS_Type" substitutionGroup="gml:CompoundCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CompoundCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CompoundCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--### gml:GeocentricCRS and gml:GeographicCRS were deprecated in 19136 DIS and replaced with gml:GeodeticCRS ###--> + <!--<xs:complexType name="ML_GeocentricCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:GeocentricCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType>--> + <!-- ........................................................................ --> + <!--<xs:element name="ML_GeocentricCRS" type="gmx:ML_GeocentricCRS_Type" substitutionGroup="gml:GeocentricCRS"/>--> + <!-- ........................................................................ --> + <!--<xs:complexType name="ML_GeocentricCRS_PropertyType"> + <xs:sequence> + <xs:element ref="gmx:ML_GeocentricCRS" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType>--> + <!-- =========================================================================== --> + <!--### gml:GeocentricCRS and gml:GeographicCRS were deprecated in 19136 DIS and replaced with gml:GeodeticCRS ###--> + <!--<xs:complexType name="ML_GeographicCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:GeographicCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType>--> + <!-- ........................................................................ --> + <!--<xs:element name="ML_GeographicCRS" type="gmx:ML_GeographicCRS_Type" substitutionGroup="gml:GeographicCRS"/>--> + <!-- ........................................................................ --> + <!--<xs:complexType name="ML_GeographicCRS_PropertyType"> + <xs:sequence> + <xs:element ref="gmx:ML_GeographicCRS" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType>--> + <!-- =========================================================================== --> + <xs:complexType name="ML_GeodeticCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:GeodeticCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_GeodeticCRS" type="gmx:ML_GeodeticCRS_Type" substitutionGroup="gml:GeodeticCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_GeodeticCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_GeodeticCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_EngineeringCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:EngineeringCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_EngineeringCRS" type="gmx:ML_EngineeringCRS_Type" substitutionGroup="gml:EngineeringCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_EngineeringCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_EngineeringCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_VerticalCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:VerticalCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_VerticalCRS" type="gmx:ML_VerticalCRS_Type" substitutionGroup="gml:VerticalCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_VerticalCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_VerticalCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_TemporalCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:TemporalCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_TemporalCRS" type="gmx:ML_TemporalCRS_Type" substitutionGroup="gml:TemporalCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_TemporalCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_TemporalCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_ImageCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:ImageCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ImageCRS" type="gmx:ML_ImageCRS_Type" substitutionGroup="gml:ImageCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ImageCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ImageCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_ProjectedCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:ProjectedCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ProjectedCRS" type="gmx:ML_ProjectedCRS_Type" substitutionGroup="gml:ProjectedCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ProjectedCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ProjectedCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_DerivedCRS_Type"> + <xs:complexContent> + <xs:extension base="gml:DerivedCRSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CrsAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_DerivedCRS" type="gmx:ML_DerivedCRS_Type" substitutionGroup="gml:DerivedCRS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_DerivedCRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_DerivedCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--====================== GML XSchema: coordinateSystems.xsd =====================--> + <xs:complexType name="ML_CoordinateSystemAxis_Type"> + <xs:complexContent> + <xs:extension base="gml:CoordinateSystemAxisType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAxisAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CoordinateSystemAxis" type="gmx:ML_CoordinateSystemAxis_Type" substitutionGroup="gml:CoordinateSystemAxis"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CoordinateSystemAxis_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CoordinateSystemAxis"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_EllipsoidalCS_Type"> + <xs:complexContent> + <xs:extension base="gml:EllipsoidalCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_EllipsoidalCS" type="gmx:ML_EllipsoidalCS_Type" substitutionGroup="gml:EllipsoidalCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_EllipsoidalCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_EllipsoidalCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_CartesianCS_Type"> + <xs:complexContent> + <xs:extension base="gml:CartesianCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CartesianCS" type="gmx:ML_CartesianCS_Type" substitutionGroup="gml:CartesianCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CartesianCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CartesianCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_AffineCS_Type"> + <xs:complexContent> + <xs:extension base="gml:AffineCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_AffineCS" type="gmx:ML_AffineCS_Type" substitutionGroup="gml:AffineCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_AffineCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_AffineCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_UserDefinedCS_Type"> + <xs:complexContent> + <xs:extension base="gml:UserDefinedCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_UserDefinedCS" type="gmx:ML_UserDefinedCS_Type" substitutionGroup="gml:UserDefinedCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_UserDefinedCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_UserDefinedCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_VerticalCS_Type"> + <xs:complexContent> + <xs:extension base="gml:VerticalCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_VerticalCS" type="gmx:ML_VerticalCS_Type" substitutionGroup="gml:VerticalCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_VerticalCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_VerticalCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_TimeCS_Type"> + <xs:complexContent> + <xs:extension base="gml:TimeCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_TimeCS" type="gmx:ML_TimeCS_Type" substitutionGroup="gml:TimeCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_TimeCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_TimeCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_CylindricalCS_Type"> + <xs:complexContent> + <xs:extension base="gml:CylindricalCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_CylindricalCS" type="gmx:ML_CylindricalCS_Type" substitutionGroup="gml:CylindricalCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_CylindricalCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_CylindricalCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_SphericalCS_Type"> + <xs:complexContent> + <xs:extension base="gml:SphericalCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_SphericalCS" type="gmx:ML_SphericalCS_Type" substitutionGroup="gml:SphericalCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_SphericalCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_SphericalCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_PolarCS_Type"> + <xs:complexContent> + <xs:extension base="gml:PolarCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_PolarCS" type="gmx:ML_PolarCS_Type" substitutionGroup="gml:PolarCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_PolarCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_PolarCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_LinearCS_Type"> + <xs:complexContent> + <xs:extension base="gml:LinearCSType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:CoordinateSystemAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_LinearCS" type="gmx:ML_LinearCS_Type" substitutionGroup="gml:LinearCS"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_LinearCS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_LinearCS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--========================== GML XSchema: datums.xsd ===========================--> + <xs:complexType name="ML_Ellipsoid_Type"> + <xs:complexContent> + <xs:extension base="gml:EllipsoidType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:EllipsoidAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_Ellipsoid" type="gmx:ML_Ellipsoid_Type" substitutionGroup="gml:Ellipsoid"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_Ellipsoid_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_Ellipsoid"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_PrimeMeridian_Type"> + <xs:complexContent> + <xs:extension base="gml:PrimeMeridianType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:PrimeMeridianAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_PrimeMeridian" type="gmx:ML_PrimeMeridian_Type" substitutionGroup="gml:PrimeMeridian"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_PrimeMeridian_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_PrimeMeridian"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_TemporalDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:TemporalDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_TemporalDatum" type="gmx:ML_TemporalDatum_Type" substitutionGroup="gml:TemporalDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_TemporalDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_TemporalDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_VerticalDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:VerticalDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_VerticalDatum" type="gmx:ML_VerticalDatum_Type" substitutionGroup="gml:VerticalDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_VerticalDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_VerticalDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_ImageDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:ImageDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ImageDatum" type="gmx:ML_ImageDatum_Type" substitutionGroup="gml:ImageDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ImageDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ImageDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_EngineeringDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:EngineeringDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_EngineeringDatum" type="gmx:ML_EngineeringDatum_Type" substitutionGroup="gml:EngineeringDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_EngineeringDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_EngineeringDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_GeodeticDatum_Type"> + <xs:complexContent> + <xs:extension base="gml:GeodeticDatumType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:DatumAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_GeodeticDatum" type="gmx:ML_GeodeticDatum_Type" substitutionGroup="gml:GeodeticDatum"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_GeodeticDatum_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_GeodeticDatum"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--==================== GML XSchema: coordinateOperations.xsd ======================--> + <xs:complexType name="ML_ConcatenatedOperation_Type"> + <xs:complexContent> + <xs:extension base="gml:ConcatenatedOperationType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ConcatenatedOperation" type="gmx:ML_ConcatenatedOperation_Type" substitutionGroup="gml:ConcatenatedOperation"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ConcatenatedOperation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ConcatenatedOperation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_PassThroughOperation_Type"> + <xs:complexContent> + <xs:extension base="gml:PassThroughOperationType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_PassThroughOperation" type="gmx:ML_PassThroughOperation_Type" substitutionGroup="gml:PassThroughOperation"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_PassThroughOperation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_PassThroughOperation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_Transformation_Type"> + <xs:complexContent> + <xs:extension base="gml:TransformationType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_Transformation" type="gmx:ML_Transformation_Type" substitutionGroup="gml:Transformation"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_Transformation_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_Transformation"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_Conversion_Type"> + <xs:complexContent> + <xs:extension base="gml:ConversionType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_Conversion" type="gmx:ML_Conversion_Type" substitutionGroup="gml:Conversion"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_Conversion_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_Conversion"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_OperationMethod_Type"> + <xs:complexContent> + <xs:extension base="gml:OperationMethodType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationMethodAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_OperationMethod" type="gmx:ML_OperationMethod_Type" substitutionGroup="gml:OperationMethod"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_OperationMethod_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_OperationMethod"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_OperationParameterGroup_Type"> + <xs:complexContent> + <xs:extension base="gml:OperationParameterGroupType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationParameterAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_OperationParameterGroup" type="gmx:ML_OperationParameterGroup_Type" substitutionGroup="gml:OperationParameterGroup"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_OperationParameterGroup_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_OperationParameterGroup"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_OperationParameter_Type"> + <xs:complexContent> + <xs:extension base="gml:OperationParameterType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:OperationParameterAlt_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_OperationParameter" type="gmx:ML_OperationParameter_Type" substitutionGroup="gml:OperationParameter"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_OperationParameter_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_OperationParameter"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!--===================== Alternative Expresssion types ==============================--> + <xs:complexType name="CrsAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:AbstractCRSType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CrsAlt" type="gmx:CrsAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CrsAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CrsAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CoordinateSystemAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:IdentifiedObjectType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attributeGroup ref="gml:AggregationAttributeGroup"/> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CoordinateSystemAlt" type="gmx:CoordinateSystemAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CoordinateSystemAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CoordinateSystemAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="CoordinateSystemAxisAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:CoordinateSystemAxisType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="CoordinateSystemAxisAlt" type="gmx:CoordinateSystemAxisAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="CoordinateSystemAxisAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:CoordinateSystemAxisAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="DatumAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:AbstractDatumType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="DatumAlt" type="gmx:DatumAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="DatumAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:DatumAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="EllipsoidAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:IdentifiedObjectType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="EllipsoidAlt" type="gmx:EllipsoidAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="EllipsoidAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:EllipsoidAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="PrimeMeridianAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:IdentifiedObjectType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="PrimeMeridianAlt" type="gmx:PrimeMeridianAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="PrimeMeridianAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:PrimeMeridianAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="OperationAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:AbstractCoordinateOperationType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="OperationAlt" type="gmx:OperationAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="OperationAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:OperationAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="OperationMethodAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:IdentifiedObjectType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="OperationMethodAlt" type="gmx:OperationMethodAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="OperationMethodAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:OperationMethodAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="OperationParameterAlt_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:OperationParameterType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="OperationParameterAlt" type="gmx:OperationParameterAlt_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="OperationParameterAlt_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:OperationParameterAlt"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- === End of file === --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/extendedTypes.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/extendedTypes.xsd new file mode 100644 index 00000000000..4d92aa55a46 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/extendedTypes.xsd @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Metadata XML (GMX) Schema is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMX includes all the definitions of http://www.isotc211.org/2005/gmx namespace. The root document of this namespace is the file gmx.xsd. This extendedTypes.xsd schema contains the XML definitions of FileName, Anchor and MimeFileType classes. These classes are fully described in 7.2 of ISO/TS 19139:2007.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../xlink/xlink.xsd"/> + <xs:include schemaLocation="gmx.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ======================== Handcrafted types =================================== --> + <!-- ========================================================================== --> + <!-- ====================== The FileName prototype ================================ --> + <!--It is used to point to a source file and is substitutable for CharacterString--> + <!--================= Type ==================--> + <xs:complexType name="FileName_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="src" type="xs:anyURI"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="FileName" type="gmx:FileName_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="FileName_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:FileName"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- ====================== The MimeFileType prototype ============================= --> + <!--It is used to provide information on file types and is substitutable for CharacterString--> + <!--================= Type ==================--> + <xs:complexType name="MimeFileType_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MimeFileType" type="gmx:MimeFileType_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="MimeFileType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MimeFileType"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- ========================================================================== --> + <!-- ======================= The Anchor prototype ================================ --> + <!--It is used to point to a registred definition--> + <!--================= Type ==================--> + <xs:complexType name="Anchor_Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attributeGroup ref="xlink:simpleAttrs"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="Anchor" type="gmx:Anchor_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="Anchor_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:Anchor"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!--======= End of Schema ======--> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/gmx.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/gmx.xsd new file mode 100644 index 00000000000..0df5b3756cb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/gmx.xsd @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Metadata XML (GMX) Schema is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMX includes all the definitions of http://www.isotc211.org/2005/gmx namespace. The root document of this namespace is the file gmx.xsd.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="gmxUsage.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/gmxUsage.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/gmxUsage.xsd new file mode 100644 index 00000000000..824e10b82d4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/gmxUsage.xsd @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Metadata XML (GMX) Schema is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMX includes all the definitions of http://www.isotc211.org/2005/gmx namespace. The root document of this namespace is the file gmx.xsd. This gmxUsage.xsd schema implements the UML conceptual schema defined in 7.4.1 of ISO/TS 19139:2007. It contains the implementation of the following classes: MX_Dataset, MX_Aggregate, MX_DataFile and MX_ScopeCode.</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="gmx.xsd"/> + <xs:include schemaLocation="catalogues.xsd"/> + <xs:include schemaLocation="extendedTypes.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="MX_Aggregate_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractDS_Aggregate_Type"> + <xs:sequence> + <xs:element name="aggregateCatalogue" type="gmx:CT_Catalogue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="aggregateFile" type="gmx:MX_SupportFile_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_Aggregate" type="gmx:MX_Aggregate_Type" substitutionGroup="gmd:AbstractDS_Aggregate"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_Aggregate_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_Aggregate"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MX_DataSet_Type"> + <xs:complexContent> + <xs:extension base="gmd:DS_DataSet_Type"> + <xs:sequence> + <xs:element name="dataFile" type="gmx:MX_DataFile_PropertyType" maxOccurs="unbounded"/> + <xs:element name="datasetCatalogue" type="gmx:CT_Catalogue_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="supportFile" type="gmx:MX_SupportFile_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_DataSet" type="gmx:MX_DataSet_Type" substitutionGroup="gmd:DS_DataSet"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_DataSet_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_DataSet"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MX_DataFile_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractMX_File_Type"> + <xs:sequence> + <xs:element name="featureTypes" type="gco:GenericName_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="fileFormat" type="gmd:MD_Format_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_DataFile" type="gmx:MX_DataFile_Type" substitutionGroup="gmx:AbstractMX_File"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_DataFile_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_DataFile"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="MX_SupportFile_Type"> + <xs:complexContent> + <xs:extension base="gmx:AbstractMX_File_Type"/> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="MX_SupportFile" type="gmx:MX_SupportFile_Type" substitutionGroup="gmx:AbstractMX_File"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_SupportFile_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_SupportFile"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="AbstractMX_File_Type" abstract="true"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="fileName" type="gmx:FileName_PropertyType"/> + <xs:element name="fileDescription" type="gco:CharacterString_PropertyType"/> + <xs:element name="fileType" type="gmx:MimeFileType_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="AbstractMX_File" type="gmx:AbstractMX_File_Type" abstract="true"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_File_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:AbstractMX_File"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="MX_ScopeCode" type="gco:CodeListValue_Type" substitutionGroup="gmd:MD_ScopeCode"/> + <!-- ........................................................................ --> + <xs:complexType name="MX_ScopeCode_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:MX_ScopeCode"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/uomItem.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/uomItem.xsd new file mode 100644 index 00000000000..83ec72923f2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gmx/uomItem.xsd @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmx="http://www.isotc211.org/2005/gmx" targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Metadata XML (GMX) Schema is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMX includes all the definitions of http://www.isotc211.org/2005/gmx namespace. The root document of this namespace is the file gmx.xsd. This uomItem.xsd schema implements the UML conceptual schema defined in 7.4.4.2 of ISO/TS 19139:2007. It contains the implementation of the UnitDefinition class.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> + <xs:include schemaLocation="gmx.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="UnitDefinition_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="BaseUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:BaseUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="DerivedUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:DerivedUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!-- ........................................................................ --> + <xs:complexType name="ConventionalUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:ConventionalUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_BaseUnit_Type"> + <xs:complexContent> + <xs:extension base="gml:BaseUnitType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_BaseUnit" type="gmx:ML_BaseUnit_Type" substitutionGroup="gml:BaseUnit"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_BaseUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_BaseUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_DerivedUnit_Type"> + <xs:complexContent> + <xs:extension base="gml:DerivedUnitType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_DerivedUnit" type="gmx:ML_DerivedUnit_Type" substitutionGroup="gml:DerivedUnit"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_DerivedUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_DerivedUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_ConventionalUnit_Type"> + <xs:complexContent> + <xs:extension base="gml:ConventionalUnitType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_ConventionalUnit" type="gmx:ML_ConventionalUnit_Type" substitutionGroup="gml:ConventionalUnit"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_ConventionalUnit_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_ConventionalUnit"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="ML_UnitDefinition_Type"> + <xs:complexContent> + <xs:extension base="gml:UnitDefinitionType"> + <xs:sequence> + <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="ML_UnitDefinition" type="gmx:ML_UnitDefinition_Type" substitutionGroup="gml:UnitDefinition"/> + <!-- ........................................................................ --> + <xs:complexType name="ML_UnitDefinition_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:ML_UnitDefinition"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!--===================== Alternative Expresssion type ===============================--> + <xs:complexType name="UomAlternativeExpression_Type"> + <xs:annotation> + <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type xsd:anyURI) is mandatory</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="gml:UnitDefinitionType"> + <xs:sequence> + <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/> + </xs:sequence> + <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="UomAlternativeExpression" type="gmx:UomAlternativeExpression_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="UomAlternativeExpression_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gmx:UomAlternativeExpression"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- =========================================================================== --> + <!-- === End of file === --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/ReadMe.txt new file mode 100644 index 00000000000..6bbcd21d6af --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/ReadMe.txt @@ -0,0 +1,45 @@ +ISO(c) GSR schema ReadMe.txt +------------------------------------------------------------------------------ + +Geographic Spatial Referencing (GSR) extensible markup language + +GSR is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. + +GSR includes all the definitions of http://www.isotc211.org/2005/gsr +namespace. The root document of this namespace is the file gsr.xsd. + +The most current schemas are available at: +http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/ + +------------------------------------------------------------------------------- + +2012-07-13 Nicolas Lesage on behalf of the ISO/TC 211 XML Maintenance Group + * Update of readme.txt file and schema annotations + * Use of absolute schema locations of imported namespaces + * Simplification of the schema location of included XML Schemas + * Addition of the version attribute to the schema element. The value of + this attribute is expected to be the date of the last release of the + XML schemas (e.g. 2012-07-13 for this release) + * Include root XML Schema document in all schema documents + + Validation: Schemas have been validated with XML Spy 2010 Rel. 2 (MSXML 6.0) + +2009-03-16 Marcellin Prudham & Nicolas Lesage + * Change of GML namespace: http://www.opengis.net/gml (GML 3.2) => + http://www.opengis.net/gml/3.2 (GML 3.2.1=ISO 19136) + + Note: ISO/TS 19139:2007 (published 2007-04-17) normatively reference + ISO 19136 which was published 2007-08-23. The major change applied to + ISO 19136 is the change of the namespace URI. Previous release of GSR + are not compliant with ISO/TS 19139:2007 + + Validation: Schemas have been validated with XSV 2.10, Xerces J 2.7.1 and + XML Spy 2009 (2009-03-02, IGN / France - Nicolas Lesage / Marcellin Prudham) + +2006-05-04 Marie-Pierre Escher & Nicolas Lesage + * First official release of GSR + * GSR XML Schema files were generated from ISO/TC 211 UML class diagrams + in accordance with ISO/TS 19139:2007. The XML Schema generator is a + Rational Rose Plug-in developed by IGN France (http://www.ign.fr). + diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/gsr.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/gsr.xsd new file mode 100644 index 00000000000..a3aacf3aab6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/gsr.xsd @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema targetNamespace="http://www.isotc211.org/2005/gsr" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gsr="http://www.isotc211.org/2005/gsr" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Spatial Referencing (GSR) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GSR includes all the definitions of http://www.isotc211.org/2005/gsr namespace. The root document of this namespace is the file gsr.xsd.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="spatialReferencing.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/spatialReferencing.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/spatialReferencing.xsd new file mode 100644 index 00000000000..a50676b39f8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gsr/spatialReferencing.xsd @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gsr="http://www.isotc211.org/2005/gsr" targetNamespace="http://www.isotc211.org/2005/gsr" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Spatial Referencing (GSR) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GSR includes all the definitions of http://www.isotc211.org/2005/gsr namespace. The root document of this namespace is the file gsr.xsd. This spatialReferencing.xsd schema contains the implementation of SC_CRS. The encoding of this class is mapped to an ISO 19136 XML type.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../gml/gml.xsd"/> + <xs:include schemaLocation="gsr.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!--==XCGE: gml:AbstractCRS==--> + <!-- ........................................................................ --> + <xs:complexType name="SC_CRS_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractCRS"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/ReadMe.txt new file mode 100644 index 00000000000..d1d377a77cb --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/ReadMe.txt @@ -0,0 +1,44 @@ +ISO(c) GSS schema ReadMe.txt +------------------------------------------------------------------------------ + +Geographic Spatial Schema (GSS) extensible markup language + +GSS is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. + +GSS includes all the definitions of http://www.isotc211.org/2005/gss +namespace. The root document of this namespace is the file gss.xsd. + +The most current schemas are available at: +http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/ + +------------------------------------------------------------------------------- + +2012-07-13 Nicolas Lesage on behalf of the ISO/TC 211 XML Maintenance Group + * Update of readme.txt file and schema annotations + * Use of absolute schema locations of imported namespaces + * Simplification of the schema location of included XML Schemas + * Addition of the version attribute to the schema element. The value of + this attribute is expected to be the date of the last release of the + XML schemas (e.g. 2012-07-13 for this release) + * Include root XML Schema document in all schema documents + + Validation: Schemas have been validated with XML Spy 2010 Rel. 2 (MSXML 6.0) + +2009-03-16 Marcellin Prudham & Nicolas Lesage + * Change of GML namespace: http://www.opengis.net/gml (GML 3.2) => + http://www.opengis.net/gml/3.2 (GML 3.2.1=ISO 19136) + + Note: ISO/TS 19139:2007 (published 2007-04-17) normatively reference + ISO 19136 which was published 2007-08-23. The major change applied to + ISO 19136 is the change of the namespace URI. Previous release of GSS + are not compliant with ISO/TS 19139:2007 + + Validation: Schemas have been validated with XSV 2.10, Xerces J 2.7.1 and + XML Spy 2009 (2009-03-02, IGN / France - Nicolas Lesage / Marcellin Prudham) + +2006-05-04 Marie-Pierre Escher & Nicolas Lesage + * First official release of GSS + * GSS XML Schema files were generated from ISO/TC 211 UML class diagrams + in accordance with ISO/TS 19139:2007. The XML Schema generator is a + Rational Rose Plug-in developed by IGN France (nicolas.lesage@ign.fr). diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/geometry.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/geometry.xsd new file mode 100644 index 00000000000..ecf22f1bee6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/geometry.xsd @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gss="http://www.isotc211.org/2005/gss" targetNamespace="http://www.isotc211.org/2005/gss" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Spatial Schema (GSS) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GSS includes all the definitions of http://www.isotc211.org/2005/gss namespace. The root document of this namespace is the file gss.xsd. This geometry.xsd schema contains the implementation of GM_Object and GM_Point. The encoding of these classes is mapped to ISO 19136 geometric types.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gss.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!--==XCGE: gml:Point==--> + <!-- ........................................................................ --> + <xs:complexType name="GM_Point_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:Point"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <!--==XCGE: gml:AbstractGeometry==--> + <!-- ........................................................................ --> + <xs:complexType name="GM_Object_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractGeometry"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/gss.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/gss.xsd new file mode 100644 index 00000000000..2594cfe939b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gss/gss.xsd @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema targetNamespace="http://www.isotc211.org/2005/gss" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gss="http://www.isotc211.org/2005/gss" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Spatial Schema (GSS) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GSS includes all the definitions of http://www.isotc211.org/2005/gss namespace. The root document of this namespace is the file gss.xsd.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="geometry.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/ReadMe.txt new file mode 100644 index 00000000000..29b13074a12 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/ReadMe.txt @@ -0,0 +1,44 @@ +ISO(c) GTS schema ReadMe.txt +------------------------------------------------------------------------------ + +Geographic Temporal Schema (GTS) extensible markup language + +GTS is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. + +GTS includes all the definitions of http://www.isotc211.org/2005/gts +namespace. The root document of this namespace is the file gts.xsd. + +The most current schemas are available at: +http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/ + +------------------------------------------------------------------------------- + +2012-07-13 Nicolas Lesage on behalf of the ISO/TC 211 XML Maintenance Group + * Update of readme.txt file and schema annotations + * Use of absolute schema locations of imported namespaces + * Simplification of the schema location of included XML Schemas + * Addition of the version attribute to the schema element. The value of + this attribute is expected to be the date of the last release of the + XML schemas (e.g. 2012-07-13 for this release) + * Include root XML Schema document in all schema documents + + Validation: Schemas have been validated with XML Spy 2010 Rel. 2 (MSXML 6.0) + +2009-03-16 Marcellin Prudham & Nicolas Lesage + * Change of GML namespace: http://www.opengis.net/gml (GML 3.2) => + http://www.opengis.net/gml/3.2 (GML 3.2.1=ISO 19136) + + Note: ISO/TS 19139:2007 (published 2007-04-17) normatively reference + ISO 19136 which was published 2007-08-23. The major change applied to + ISO 19136 is the change of the namespace URI. Previous release of GTS + are not compliant with ISO/TS 19139:2007 + + Validation: Schemas have been validated with XSV 2.10, Xerces J 2.7.1 and + XML Spy 2009 (2009-03-02, IGN / France - Nicolas Lesage / Marcellin Prudham) + +2006-05-04 Marie-Pierre Escher & Nicolas Lesage + * First official release of GTS + * GTS XML Schema files were generated from ISO/TC 211 UML class diagrams + in accordance with ISO/TS 19139:2007. The XML Schema generator is a + Rational Rose Plug-in developed by IGN France (http://www.ign.fr). diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/gts.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/gts.xsd new file mode 100644 index 00000000000..a4184fdb832 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/gts.xsd @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gts="http://www.isotc211.org/2005/gts" targetNamespace="http://www.isotc211.org/2005/gts" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Temporal Schema (GTS) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GTS includes all the definitions of http://www.isotc211.org/2005/gts namespace. The root document of this namespace is the file gts.xsd.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="temporalObjects.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/temporalObjects.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/temporalObjects.xsd new file mode 100644 index 00000000000..cce83abc1e7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/gts/temporalObjects.xsd @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gts="http://www.isotc211.org/2005/gts" targetNamespace="http://www.isotc211.org/2005/gts" elementFormDefault="qualified" version="2012-07-13"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>Geographic Temporal Schema (GTS) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GTS includes all the definitions of http://www.isotc211.org/2005/gts namespace. The root document of this namespace is the file gts.xsd. The temporalObjects.xsd schema contains the XML implementation of TM_Object, TM_Primitive and TM_PeriodDuration from ISO 19108. The encoding of these classes is mapped to ISO 19136 temporal types and W3C built-in types.</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../gml/gml.xsd"/> + <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> + <xs:include schemaLocation="gts.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <!-- ........................................................................ --> + <!--==XCGE: gml:AbstractTimePrimitive==--> + <!-- ........................................................................ --> + <xs:complexType name="TM_Primitive_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gml:AbstractTimePrimitive"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="TM_PeriodDuration" type="xs:duration"/> + <!-- ........................................................................ --> + <xs:complexType name="TM_PeriodDuration_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="gts:TM_PeriodDuration"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/Codelist/ML_gmxCodelists.xml b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/Codelist/ML_gmxCodelists.xml new file mode 100644 index 00000000000..a42feefd2a0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/Codelist/ML_gmxCodelists.xml @@ -0,0 +1,898 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CT_CodelistCatalogue xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://www.isotc211.org/2005/gmx" + xsi:schemaLocation="http://www.isotc211.org/2005/gmx ../../gmx/gmx.xsd http://www.isotc211.org/2005/gmd ../../gmd/gmd.xsd http://www.isotc211.org/2005/gco ../../gco/gco.xsd http://www.w3.org/1999/xlink ../../xlink/xlinks.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>ML_gmxCodelists</gco:CharacterString> + </name> + <scope xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Codelists for description of metadata datasets compliant with ISO/TC 211 + 19115:2003 and 19139 + </gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#xpointer(//*[@id='fra'])">Listes de codes pour la + description de lots de métadonnées conforme ISO TC/211 19115:2003 et 19139 + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-18</gco:Date> + </versionDate> + <!--=== for Cultural and Linguistic Adaptability ===--> + <!--Default language--> + <language> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng">English</gmd:LanguageCode> + </language> + <characterSet> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF 8 + </gmd:MD_CharacterSetCode> + </characterSet> + <!-- List of the 'locales' into which free text values can be translated--> + <locale> + <gmd:PT_Locale id="fra"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fra">French</gmd:LanguageCode> + </gmd:languageCode> + <gmd:country> + <gmd:Country codeList="#Country" codeListValue="FR">France</gmd:Country> + </gmd:country> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF 8 + </gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </locale> + <!--============================================================================--> + <!--============================================================================--> + <!--============================= Codelists =======================================--> + <!--=== CI_DateTypeCode ===--> + <codelistItem> + <ML_CodeListDictionary gml:id="CI_DateTypeCode"> + <gml:description>identification of when a given event occurred</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_DateTypeCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="CI_DateTypeCode_creation"> + <gml:description>date identifies when the resource was brought into existence + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">creation</gml:identifier> + <gml:name>creation</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_DateTypeCode_creation_fr" codeSpace="fra"> + <gml:description>date identifiant la création de la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">creation</gml:identifier> + <gml:name>création</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_DateTypeCode_publication"> + <gml:description>date identifies when the resource was issued</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">publication</gml:identifier> + <gml:name>publication</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_DateTypeCode_publication_fr" codeSpace="fra"> + <gml:description>date identifiant la publication de la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">publication</gml:identifier> + <gml:name>publication</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_DateTypeCode_revision"> + <gml:description>date identifies when the resource was examined or re-examined and + improved or amended + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">revision</gml:identifier> + <gml:name>revision</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_DateTypeCode_revision_fr" codeSpace="fra"> + <gml:description>amélioration ou amendement de la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">revision</gml:identifier> + <gml:name>révision</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="CI_DateTypeCode_fr" codeSpace="fra"> + <gml:description>identification de quand un événement s'est produit</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_DateTypeCode</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--=== CI_OnLineFunctionCode ===--> + <codelistItem> + <ML_CodeListDictionary gml:id="CI_OnLineFunctionCode"> + <gml:description>function performed by the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_OnLineFunctionCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_download"> + <gml:description>online instructions for transferring data from one storage device or + system to another + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">download</gml:identifier> + <gml:name>Download</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_download_fr" codeSpace="fra"> + <gml:description>transfert de la ressource d'un système à un autre</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">download</gml:identifier> + <gml:name>Téléchargement</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_information"> + <gml:description>online information about the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">information</gml:identifier> + <gml:name>Information</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_information_fr" + codeSpace="fra"> + <gml:description>description de la ressource en ligne</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">information</gml:identifier> + <gml:name>Information</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_offlineAccess"> + <gml:description>online instructions for requesting the resource from the provider + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">offlineAccess</gml:identifier> + <gml:name>Off line access</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_offlineAccess_fr" + codeSpace="fra"> + <gml:description>information pour requérir la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">offlineAccess</gml:identifier> + <gml:name>Accès hors ligne</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_order"> + <gml:description>online order process for obtening the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">order</gml:identifier> + <gml:name>Order</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_order_fr" codeSpace="fra"> + <gml:description>formulaire pour obtenir la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">order</gml:identifier> + <gml:name>commande en ligne</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="CI_OnLineFunctionCode_search"> + <gml:description>online search interface for seeking out information about the resource + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">search</gml:identifier> + <gml:name>Search</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="CI_OnLineFunctionCode_search_fr" codeSpace="fra"> + <gml:description>interface de recherche d'information sur la ressource + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">search</gml:identifier> + <gml:name>Moteur de recherche</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="CI_OnLineFunctionCode_fr" codeSpace="fra"> + <gml:description>Fonctionnalité offerte par la ressource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_OnLineFunctionCode</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--=== MD_CharacterSetCode ===--> + <codelistItem> + <ML_CodeListDictionary gml:id="MD_CharacterSetCode"> + <gml:description>name of the character coding standard used in the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CharacterSetCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_ucs2"> + <gml:description>16-bit fixed size Universal Character Set, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs2</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_ucs2_fr" codeSpace="fra"> + <gml:description>16 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs2</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_ucs4"> + <gml:description>32-bit fixed size Universal Character Set, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs4</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_ucs4_fr" codeSpace="fra"> + <gml:description>32 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs4</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_utf7"> + <gml:description>7-bit variable size UCS Transfer Format, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf7</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_utf7_fr" codeSpace="fra"> + <gml:description>7 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf7</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_utf8"> + <gml:description>8-bit variable size UCS Transfer Format, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf8</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_utf8_fr" codeSpace="fra"> + <gml:description>8 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf8</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_utf16"> + <gml:description>16-bit variable size UCS Transfer Format, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf16</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_utf16_fr" codeSpace="fra"> + <gml:description>16 bits ISO/IEC 10646</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf16</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part1"> + <gml:description>ISO/IEC 8859-1, Information technology - 8-bit single byte coded graphic + character sets - Part 1 : Latin alphabet No.1 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part1</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part1_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-1, alphabet latin 1</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part1</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part2"> + <gml:description>ISO/IEC 8859-2, Information technology - 8-bit single byte coded graphic + character sets - Part 2 : Latin alphabet No.2 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part2</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part2_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-2, alphabet latin 2</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part2</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part3"> + <gml:description>ISO/IEC 8859-3, Information technology - 8-bit single byte coded graphic + character sets - Part 3 : Latin alphabet No.3 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part3</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part3_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-3, alphabet latin 3</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part3</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part4"> + <gml:description>ISO/IEC 8859-4, Information technology - 8-bit single byte coded graphic + character sets - Part 4 : Latin alphabet No.4 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part4</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part4_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-4, alphabet latin 4</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part4</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part5"> + <gml:description>ISO/IEC 8859-5, Information technology - 8-bit single byte coded graphic + character sets - Part 5 : Latin/Cyrillic alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part5</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part5_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-5, alphabet latin/cyrillique</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part5</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part6"> + <gml:description>ISO/IEC 8859-6, Information technology - 8-bit single byte coded graphic + character sets - Part 6 : Latin/Arabic alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part6</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part6_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-6, alphabet latin/arabe</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part6</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part7"> + <gml:description>ISO/IEC 8859-7, Information technology - 8-bit single byte coded graphic + character sets - Part 7 : Latin/Greek alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part7</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part7_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-7, alphabet latin/grec</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part7</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part8"> + <gml:description>ISO/IEC 8859-8, Information technology - 8-bit single byte coded graphic + character sets - Part 8 : Latin/Hebrew alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part8</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part8_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-8, alphabet latin/hébreu</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part8</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part9"> + <gml:description>ISO/IEC 8859-9, Information technology - 8-bit single byte coded graphic + character sets - Part 9 : Latin alphabet No.5 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part9</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part9_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-9, alphabet latin 5</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part9</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part10"> + <gml:description>ISO/IEC 8859-10, Information technology - 8-bit single byte coded graphic + character sets - Part 10 : Latin alphabet No.6 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part10</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part10_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-10, alphabet latin 6</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part10</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part11"> + <gml:description>ISO/IEC 8859-11, Information technology - 8-bit single byte coded graphic + character sets - Part 11 : Latin/Thai alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part11</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part11_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-11, alphabet latin/Thaï</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part11</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <!-- <codeEntry> +<ML_CodeDefinition gml:id="(reserved)"> +<gml:description>a future ISO/IEC 8-bit single byte coded graphic character set (e.g. possibly 8859 part 12</gml:description><gml:identifier codeSpace="ISOTC211/19115">(reserved)</gml:identifier> +<alternativeExpression><AlternativeExpression gml:id="(reserved)_fr" codeSpace="fra"> +<gml:description>ISO/IEC 8859-12 (éventuellement)</gml:description><gml:identifier codeSpace="ISOTC211/19115">(reserved)</gml:identifier><locale xlink:href="#xpointer(//*[@id='fra'])"/> +</AlternativeExpression></alternativeExpression> +</ML_CodeDefinition> +</codeEntry> --> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part13"> + <gml:description>ISO/IEC 8859-13, Information technology - 8-bit single byte coded graphic + character sets - Part 13 : Latin alphabet No.7 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part13</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part13_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-13, alphabet latin 7</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part13</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part14"> + <gml:description>ISO/IEC 8859-14, Information technology - 8-bit single byte coded graphic + character sets - Part 14 : Latin alphabet No.8 (Celtic) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part14</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part14_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-14, alphabet latin 8 (celtique)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part14</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part15"> + <gml:description>ISO/IEC 8859-15, Information technology - 8-bit single byte coded graphic + character sets - Part 15 : Latin alphabet No.9 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part15</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part15_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-15, alphabet latin 9</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part15</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_8859part16"> + <gml:description>ISO/IEC 8859-16, Information technology - 8-bit single byte coded graphic + character sets - Part 16 : Latin alphabet No.10 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part16</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_8859part16_fr" codeSpace="fra"> + <gml:description>ISO/IEC 8859-16, alphabet latin 10</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part16</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_jis"> + <gml:description>japanese code set used for electronic transmission</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">jis</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_jis_fr" codeSpace="fra"> + <gml:description>Japonais</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">jis</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_shiftJIS"> + <gml:description>japanese code set used on MS-DOS machines</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">shiftJIS</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_shiftJIS_fr" codeSpace="fra"> + <gml:description>Japonais pour MS-DOS</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">shiftJIS</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_eucJP"> + <gml:description>japanese code set used on UNIX based machines</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucJP</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_eucJP_fr" codeSpace="fra"> + <gml:description>Japonais pour UNIX</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucJP</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_usAscii"> + <gml:description>United States ASCII code set (ISO 646 US)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">usAscii</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_usAscii_fr" codeSpace="fra"> + <gml:description>ISO 646 US</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">usAscii</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_ebcdic"> + <gml:description>IBM mainframe code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ebcdic</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_ebcdic_fr" codeSpace="fra"> + <gml:description>IBM</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ebcdic</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_eucKR"> + <gml:description>Korean code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucKR</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_eucKR_fr" codeSpace="fra"> + <gml:description>Koréen</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucKR</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_big5"> + <gml:description>traditional Chinese code set used in Taiwan, Hong Kong of China and other + areas + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">big5</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_big5_fr" codeSpace="fra"> + <gml:description>Chinois traditionel (Taiwan, Hong Kong, Chine)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">big5</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_CharacterSetCode_GB2312"> + <gml:description>simplified Chinese code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">GB2312</gml:identifier> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_CharacterSetCode_GB2312_fr" codeSpace="fra"> + <gml:description>Chinois simplifié</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">GB2312</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="MD_CharacterSetCode_fr" codeSpace="fra"> + <gml:description>Jeu de caractères</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CharacterSetCode</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--===MD_ScopeCode===--> + <codelistItem> + <ML_CodeListDictionary gml:id="MD_ScopeCode"> + <gml:description>class of information to which the referencing entity applies + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ScopeCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_attribute"> + <gml:description>Information applies to the attribute class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attribute</gml:identifier> + <gml:name>Attribute</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_attribute_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à une classe d’attributs</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attribute</gml:identifier> + <gml:name>Attribut</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_attributeType"> + <gml:description>Information applies to the characteristic of a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attributeType</gml:identifier> + <gml:name>Attribute type</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_attributeType_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à la caractéristique d’une entité + géographique + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attributeType</gml:identifier> + <gml:name>Type d’attribut</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_dataset"> + <gml:description>Information applies to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + <gml:name>Dataset</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_dataset_fr" codeSpace="fra"> + <gml:description>Information qui s’applique au jeu de données</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + <gml:name>Jeu de données</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_dataset_dc" codeSpace="domainCode"> + <gml:description>Information applies to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + <gml:name>005</gml:name> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_series"> + <gml:description>Information applies to the series</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">series</gml:identifier> + <gml:name>Series</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_series_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à une série</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">series</gml:identifier> + <gml:name>Série</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_nonGeographicDataset"> + <gml:description>Information applies to non-geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">nonGeographicDataset</gml:identifier> + <gml:name>Non geographic dataset</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_nonGeographicDataset_fr" + codeSpace="fra"> + <gml:description>Information qui s’applique à des données non-géographiques + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">nonGeographicDataset</gml:identifier> + <gml:name>Jeu de données non géographiques</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_feature"> + <gml:description>Information applies to a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">feature</gml:identifier> + <gml:name>Feature</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_feature_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à un élément (entité géographique) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">feature</gml:identifier> + <gml:name>Elément</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_featureType"> + <gml:description>Information applies to a feature type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">featureType</gml:identifier> + <gml:name>Feature type</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_featureType_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à un type d’élément</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">featureType</gml:identifier> + <gml:name>Type d’élément</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_propertyType"> + <gml:description>Information applies to a property type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">propertyType</gml:identifier> + <gml:name>Property type</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_propertyType_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à un type de propriété</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">propertyType</gml:identifier> + <gml:name>Type de propriété</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="MD_ScopeCode_tile"> + <gml:description>Information applies to a tile, a spatial subset of geographic data + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tile</gml:identifier> + <gml:name>Tile</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="MD_ScopeCode_tile_fr" codeSpace="fra"> + <gml:description>Information qui s’applique à une tuile, un sous-ensemble spatial de + données géographiques + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tile</gml:identifier> + <gml:name>Tuile</gml:name> + <locale xlink:href="#fra"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="MD_ScopeCode_fr" codeSpace="fra"> + <gml:description>information sur l'entité sur laquelle les métadonnées s'appliquent + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ScopeCode</gml:identifier> + <locale xlink:href="#fra"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--================================================--> + <!--============= Language and Country ================--> + <codelistItem> + <ML_CodeListDictionary gml:id="LanguageCode"> + <gml:description>Language : ISO 639-2 (3 characters)</gml:description> + <gml:identifier codeSpace="ISO 639-2">LanguageCode</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="LanguageCode_eng"> + <gml:description>English</gml:description> + <gml:identifier codeSpace="ISO 639-2">eng</gml:identifier> + <gml:name>English</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="LanguageCode_eng_fr" codeSpace="fra"> + <gml:description>Anglais</gml:description> + <gml:identifier codeSpace="ISO 639-2">eng</gml:identifier> + <gml:name>Anglais</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="LanguageCode_fra"> + <gml:description>French</gml:description> + <gml:identifier codeSpace="ISO 639-2">fra</gml:identifier> + <gml:name>French</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="LanguageCode_fra_fr" codeSpace="fra"> + <gml:description>Français</gml:description> + <gml:identifier codeSpace="ISO 639-2">fra</gml:identifier> + <gml:name>Français</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="LanguageCode_fr" codeSpace="fra"> + <gml:description>Langue : ISO 639-2 (3 caractères)</gml:description> + <gml:identifier codeSpace="ISO 639-2">LanguageCode</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--...................................................................................................--> + <codelistItem> + <ML_CodeListDictionary gml:id="Country"> + <gml:description>Country : ISO 3166-2 (2 characters)</gml:description> + <gml:identifier codeSpace="ISO 3166-2">Country</gml:identifier> + <codeEntry> + <ML_CodeDefinition gml:id="Country_UK"> + <gml:description>United Kingdom</gml:description> + <gml:identifier codeSpace="ISO 3166-2">UK</gml:identifier> + <gml:name>United Kingdom</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="Country_UK_fr" codeSpace="fra"> + <gml:description>Royaume-Uni</gml:description> + <gml:identifier codeSpace="ISO 3166-2">UK</gml:identifier> + <gml:name>Royaume-Uni</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <codeEntry> + <ML_CodeDefinition gml:id="Country_FR"> + <gml:description>France</gml:description> + <gml:identifier codeSpace="ISO 3166-2">FR</gml:identifier> + <gml:name>France</gml:name> + <alternativeExpression> + <CodeAlternativeExpression gml:id="Country_FR_fr" codeSpace="fra"> + <gml:description>France</gml:description> + <gml:identifier codeSpace="ISO 3166-2">FR</gml:identifier> + <gml:name>France</gml:name> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CodeAlternativeExpression> + </alternativeExpression> + </ML_CodeDefinition> + </codeEntry> + <alternativeExpression> + <ClAlternativeExpression gml:id="Country_fr" codeSpace="fra"> + <gml:description>Pays : ISO 3166-2 (2 caractères)</gml:description> + <gml:identifier codeSpace="ISO 3166-2">Country</gml:identifier> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </ClAlternativeExpression> + </alternativeExpression> + </ML_CodeListDictionary> + </codelistItem> + <!--=========== EOF ===========--> +</CT_CodelistCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/Codelist/gmxCodelists.xml b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/Codelist/gmxCodelists.xml new file mode 100644 index 00000000000..2ac9a765b44 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/Codelist/gmxCodelists.xml @@ -0,0 +1,2127 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CT_CodelistCatalogue xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://www.isotc211.org/2005/gmx" + xsi:schemaLocation="http://www.isotc211.org/2005/gmx ../../gmx/gmx.xsd http://www.isotc211.org/2005/gco ../../gco/gco.xsd http://www.opengis.net/gml ../../gml/gml.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>gmxCodelists</gco:CharacterString> + </name> + <scope> + <gco:CharacterString>Codelists for description of metadata datasets compliant with ISO/TC 211 + 19115:2003 and 19139 + </gco:CharacterString> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-18</gco:Date> + </versionDate> + <!--============================================================================--> + <!--============================================================================--> + <!--============================= Codelists =======================================--> + <!--=== CI_DateTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="CI_DateTypeCode"> + <gml:description>identification of when a given event occurred</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_DateTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="CI_DateTypeCode_creation"> + <gml:description>date identifies when the resource was brought into existence + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">creation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_DateTypeCode_publication"> + <gml:description>date identifies when the resource was issued</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">publication</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_DateTypeCode_revision"> + <gml:description>date identifies when the resource was examined or re-examined and + improved or amended + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">revision</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== CI_OnLineFunctionCode ===--> + <codelistItem> + <CodeListDictionary gml:id="CI_OnLineFunctionCode"> + <gml:description>function performed by the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_OnLineFunctionCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_download"> + <gml:description>online instructions for transferring data from one storage device or + system to another + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">download</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_information"> + <gml:description>online information about the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">information</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_offlineAccess"> + <gml:description>online instructions for requesting the resource from the provider + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">offlineAccess</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_order"> + <gml:description>online order process for obtening the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">order</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_OnLineFunctionCode_search"> + <gml:description>online search interface for seeking out information about the resource + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">search</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== CI_PresentationFormCode ===--> + <codelistItem> + <CodeListDictionary gml:id="CI_PresentationFormCode"> + <gml:description>mode in which the data is represented</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_PresentationFormCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_documentDigital"> + <gml:description>digital representation of a primarily textual item (can contain + illustrations also) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">documentDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_documentHardcopy"> + <gml:description>representation of a primarily textual item (can contain illustrations + also) on paper, photograhic material, or other media + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">imageDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_imageDigital"> + <gml:description>likeness of natural or man-made features, objects, and activities + acquired through the sensing of visual or any other segment of the electromagnetic + spectrum by sensors, such as thermal infrared, and high resolution radar and stored in + digital format + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">documentHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_imageHardcopy"> + <gml:description>likeness of natural or man-made features, objects, and activities + acquired through the sensing of visual or any other segment of the electromagnetic + spectrum by sensors, such as thermal infrared, and high resolution radar and reproduced + on paper, photographic material, or other media for use directly by the human user + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">imageHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_mapDigital"> + <gml:description>map represented in raster or vector form</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">mapDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_mapHardcopy"> + <gml:description>map printed on paper, photographic material, or other media for use + directly by the human user + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">mapHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_modelDigital"> + <gml:description>multi-dimensional digital representation of a feature, process, etc. + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">modelDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_modelHardcopy"> + <gml:description>3-dimensional, physical model</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">modelHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_profileDigital"> + <gml:description>vertical cross-section in digital form</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">profileDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_profileHardcopy"> + <gml:description>vertical cross-section printed on paper, etc.</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">profileHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_tableDigital"> + <gml:description>digital representation of facts or figures systematically displayed, + especially in columns + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tableDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_tableHardcopy"> + <gml:description>representation of facts or figures systematically displayed, especially + in columns, printed onpapers, photographic material, or other media + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tableHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_videoDigital"> + <gml:description>digital video recording</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">videoDigital</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_PresentationFormCode_videoHardcopy"> + <gml:description>video recording on film</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">videoHardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== CI_RoleCode ===--> + <codelistItem> + <CodeListDictionary gml:id="CI_RoleCode"> + <gml:description>function performed by the responsible party</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">CI_RoleCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_resourceProvider"> + <gml:description>party that supplies the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">resourceProvider</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_custodian"> + <gml:description>party that accepts accountability and responsability for the data and + ensures appropriate care and maintenance of the resource + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">custodian</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_owner"> + <gml:description>party that owns the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">owner</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_user"> + <gml:description>party who uses the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">user</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_distributor"> + <gml:description>party who distributes the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">distributor</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_originator"> + <gml:description>party who created the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">originator</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_pointOfContact"> + <gml:description>party who can be contacted for acquiring knowledge about or acquisition + of the resource + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">pointOfContact</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_principalInvestigator"> + <gml:description>key party responsible for gathering information and conducting research + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">principalInvestigator</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_processor"> + <gml:description>party wha has processed the data in a manner such that the resource has + been modified + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">processor</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_publisher"> + <gml:description>party who published the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">publisher</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="CI_RoleCode_author"> + <gml:description>party who authored the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">author</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== DQ_EvaluationMethodTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="DQ_EvaluationMethodTypeCode"> + <gml:description>type or method for evaluating an identified data quality measure + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">DQ_EvaluationMethodTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="DQ_EvaluationMethodTypeCode_directInternal"> + <gml:description>method of evaluating the quality of a dataset based on inspection of + items within the dataset, where all data required is internal to the dataset being + evaluated + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">directInternal</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DQ_EvaluationMethodTypeCode_directExternal"> + <gml:description>method of evaluating the quality of a dataset based on inspection of + items within the dataset, where reference data external to the dataset being evaluated + is required + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">directExternal</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DQ_EvaluationMethodTypeCode_indirect"> + <gml:description>method of evaluating the quality of a dataset based on external + knowledge + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">indirect</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== DS_AssociationTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="DS_AssociationTypeCode"> + <gml:description>justification for the correlation of two datasets</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">DS_AssociationTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_crossReference"> + <gml:description>reference from one dataset to another</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">crossReference</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_largerWorkCitation"> + <gml:description>reference to a master dataset of which this one is a part + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">largerWorkCitation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_partOfSeamlessDatabase"> + <gml:description>part of the same structured set of data held in a computer + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">partOfSeamlessDatabase</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_source"> + <gml:description>mapping and charting information from which the dataset content + originates + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">source</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_AssociationTypeCode_stereoMate"> + <gml:description>part of a set of imagery that when used together, provides + three-dimensional images + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">stereoMate</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== DS_InitiativeTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="DS_InitiativeTypeCode"> + <gml:description>type of aggregation activity in which datasets are related</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">DS_InitiativeTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_campaign"> + <gml:description>series of organized planned actions</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">campaign</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_collection"> + <gml:description>accumulation of datasets assembled for a specific purpose + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collection</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_exercise"> + <gml:description>specific performance of a function or group of functions + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">exercise</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_experiment"> + <gml:description>process designed to find if something is effective or valid + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">experiment</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_investigation"> + <gml:description>search or systematic inquiry</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">investigation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_mission"> + <gml:description>specific operation of a data collection system</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">mission</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_sensor"> + <gml:description>device or piece of equipment which detects or records</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">sensor</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_operation"> + <gml:description>action that is part of a series of actions</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">operation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_platform"> + <gml:description>vehicle or other support base that holds a sensor</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">platform</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_process"> + <gml:description>method of doing something involving a number of steps</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">process</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_program"> + <gml:description>specific planned activity</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">program</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_project"> + <gml:description>organized undertaking, research, or development</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">project</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_study"> + <gml:description>examination or investigation</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">study</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_task"> + <gml:description>piece of work</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">task</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="DS_InitiativeTypeCode_trial"> + <gml:description>process of testing to discover or demonstrate something</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">trial</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_CellGeometryCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_CellGeometryCode"> + <gml:description>code indicating whether grid data is point or area</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CellGeometryCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_CellGeometryCode_point"> + <gml:description>each cell represents a point</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">point</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CellGeometryCode_area"> + <gml:description>each cell represents an area</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">area</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_CharacterSetCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_CharacterSetCode"> + <gml:description>name of the character coding standard used in the resource</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CharacterSetCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_ucs2"> + <gml:description>16-bit fixed size Universal Character Set, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs2</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_ucs4"> + <gml:description>32-bit fixed size Universal Character Set, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ucs4</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_utf7"> + <gml:description>7-bit variable size UCS Transfer Format, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf7</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_utf8"> + <gml:description>8-bit variable size UCS Transfer Format, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf8</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_utf16"> + <gml:description>16-bit variable size UCS Transfer Format, based on ISO/IEC 10646 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utf16</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part1"> + <gml:description>ISO/IEC 8859-1, Information technology - 8-bit single byte coded graphic + character sets - Part 1 : Latin alphabet No.1 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part1</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part2"> + <gml:description>ISO/IEC 8859-2, Information technology - 8-bit single byte coded graphic + character sets - Part 2 : Latin alphabet No.2 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part2</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part3"> + <gml:description>ISO/IEC 8859-3, Information technology - 8-bit single byte coded graphic + character sets - Part 3 : Latin alphabet No.3 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part3</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part4"> + <gml:description>ISO/IEC 8859-4, Information technology - 8-bit single byte coded graphic + character sets - Part 4 : Latin alphabet No.4 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part4</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part5"> + <gml:description>ISO/IEC 8859-5, Information technology - 8-bit single byte coded graphic + character sets - Part 5 : Latin/Cyrillic alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part5</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part6"> + <gml:description>ISO/IEC 8859-6, Information technology - 8-bit single byte coded graphic + character sets - Part 6 : Latin/Arabic alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part6</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part7"> + <gml:description>ISO/IEC 8859-7, Information technology - 8-bit single byte coded graphic + character sets - Part 7 : Latin/Greek alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part7</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part8"> + <gml:description>ISO/IEC 8859-8, Information technology - 8-bit single byte coded graphic + character sets - Part 8 : Latin/Hebrew alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part8</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part9"> + <gml:description>ISO/IEC 8859-9, Information technology - 8-bit single byte coded graphic + character sets - Part 9 : Latin alphabet No.5 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part9</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part10"> + <gml:description>ISO/IEC 8859-10, Information technology - 8-bit single byte coded graphic + character sets - Part 10 : Latin alphabet No.6 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part10</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part11"> + <gml:description>ISO/IEC 8859-11, Information technology - 8-bit single byte coded graphic + character sets - Part 11 : Latin/Thai alphabet + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part11</gml:identifier> + </CodeDefinition> + </codeEntry> + <!-- <codeEntry> +<CodeDefinition gml:id="(reserved)"> +<gml:description>a future ISO/IEC 8-bit single byte coded graphic character set (e.g. possibly 8859 part 12</gml:description><gml:identifier codeSpace="ISOTC211/19115">(reserved)</gml:identifier> +</CodeDefinition> +</codeEntry> --> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part13"> + <gml:description>ISO/IEC 8859-13, Information technology - 8-bit single byte coded graphic + character sets - Part 13 : Latin alphabet No.7 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part13</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part14"> + <gml:description>ISO/IEC 8859-14, Information technology - 8-bit single byte coded graphic + character sets - Part 14 : Latin alphabet No.8 (Celtic) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part14</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part15"> + <gml:description>ISO/IEC 8859-15, Information technology - 8-bit single byte coded graphic + character sets - Part 15 : Latin alphabet No.9 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part15</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_8859part16"> + <gml:description>ISO/IEC 8859-16, Information technology - 8-bit single byte coded graphic + character sets - Part 16 : Latin alphabet No.10 + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8859part16</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_jis"> + <gml:description>japanese code set used for electronic transmission</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">jis</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_shiftJIS"> + <gml:description>japanese code set used on MS-DOS machines</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">shiftJIS</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_eucJP"> + <gml:description>japanese code set used on UNIX based machines</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucJP</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_usAscii"> + <gml:description>United States ASCII code set (ISO 646 US)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">usAscii</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_ebcdic"> + <gml:description>IBM mainframe code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">ebcdic</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_eucKR"> + <gml:description>Korean code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">eucKR</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_big5"> + <gml:description>traditional Chinese code set used in Taiwan, Hong Kong of China and other + areas + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">big5</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CharacterSetCode_GB2312"> + <gml:description>simplified Chinese code set</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">GB2312</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ClassificationCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ClassificationCode"> + <gml:description>name of the handling restrictions on the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ClassificationCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_unclassified"> + <gml:description>available for general disclosure</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">unclassified</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_restricted"> + <gml:description>not for general disclosure</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">restricted</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_confidential"> + <gml:description>available for someone who can be entrusted with information + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">confidential</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_secret"> + <gml:description>kept or meant to be kept private, unknown, or hidden from all but a + select group of people + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">secret</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ClassificationCode_topSecret"> + <gml:description>of the highest secrecy</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">topSecret</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_CoverageContentTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_CoverageContentTypeCode"> + <gml:description>specific type of information represented in the cell</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_CoverageContentTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_CoverageContentTypeCode_image"> + <gml:description>meaningful numerical representation of a physical parameter that is not + the actual value of the physical parameter + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">image</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CoverageContentTypeCode_thematicClassification"> + <gml:description>code value with no quantitative meaning, used to represent a physical + quantity + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">thematicClassification</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_CoverageContentTypeCode_physicalMeasurement"> + <gml:description>value in physical units of the quantity being measured</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">physicalMeasurement</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_DatatypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_DatatypeCode"> + <gml:description>datatype of element or entity</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_DatatypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_class"> + <gml:description>descriptor of a set of objects that share the same attributes, + operations, methods, relationships, and behavior + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">class</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_codelist"> + <gml:description>descriptor of a set of objects that share the same attributes, + operations, methods, relationships, and behavior + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">codelist</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_enumeration"> + <gml:description>data type whose instances form a list of named literal values, not + extendable + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">enumeration</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_codelistElement"> + <gml:description>permissible value for a codelist or enumeration</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">codelistElement</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_abstractClass"> + <gml:description>class that cannot be directly instantiated</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">abstractClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_aggregateClass"> + <gml:description>class that is composed of classes it is connected to by an aggregate + relationship + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">aggregateClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_specifiedClass"> + <gml:description>subclass that may be substituted for its superclass</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">specifiedClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_datatypeClass"> + <gml:description>class with few or no operations whose primary purpose is to hold the + abstract state of another class for transmittal, storage, encoding or persistent storage + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">datatypeClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_interfaceClass"> + <gml:description>named set of operations that characterize the behavior of an element + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">interfaceClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_unionClass"> + <gml:description>class describing a selection of one of the specified types + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">unionClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_metaClass"> + <gml:description>class whose instances are classes</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">metaClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_typeClass"> + <gml:description>class used for specification of a domain of instances (objects), together + with the operations applicable to the objects. A type may have attributes and + associations + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">typeClass</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_characterString"> + <gml:description>free text field</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">characterString</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_integer"> + <gml:description>numerical field</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">integer</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DatatypeCode_association"> + <gml:description>semantic relationship between two classes that involves connections among + their instances + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">association</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_DimensionNameTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_DimensionNameTypeCode"> + <gml:description>name of the dimension</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_DimensionNameTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_row"> + <gml:description>ordinate (y) axis</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">row</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_column"> + <gml:description>abscissa (x) axis</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">column</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_vertical"> + <gml:description>vertical (z) axis</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">vertical</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_track"> + <gml:description>along the direction of motion of the scan point</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">track</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_crossTrack"> + <gml:description>perpendicular to the direction of motion of the scan point + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">crossTrack</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_line"> + <gml:description>scan line of a sensor</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">line</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_sample"> + <gml:description>element along a scan line</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">sample</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_DimensionNameTypeCode_time"> + <gml:description>duration</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">time</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_GeometricObjectTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_GeometricObjectTypeCode"> + <gml:description>name of point or vector objects used to locate zero-, one-, two-, or + three-dimensional spatial locations in the dataset + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_GeometricObjectTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_complex"> + <gml:description>set of geometric primitives such that their boundaries can be represented + as a union of other primitives + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">complex</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_composite"> + <gml:description>connected set of curves, solids or surfaces</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">composite</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_curve"> + <gml:description>bounded, 1-dimensional geometric primitive, representing the continuous + image of a line + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">curve</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_point"> + <gml:description>zero-dimensional geometric primitive, representing a position but not + having an extent + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">point</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_solid"> + <gml:description>bounded, connected 3-dimensional geometric primitive, representing the + continuous image of a region of space + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">solid</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_GeometricObjectTypeCode_surface"> + <gml:description>bounded, connected 2-dimensional geometric primitive, representing the + continuous image of a region of a plane + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">surface</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ImagingConditionCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ImagingConditionCode"> + <gml:description>code which indicates conditions which may affect the image</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ImagingConditionCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_blurredImage"> + <gml:description>portion of the image is blurred</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">blurredImage</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_cloud"> + <gml:description>portion of the image is partially obscured by cloud cover + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">cloud</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_degradingObliquity"> + <gml:description>acute angle between the plane of the ecliptic (the plane of the Earth s + orbit) and the plane of the celestial equator + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">degradingObliquity</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_fog"> + <gml:description>portion of the image is partially obscured by fog</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fog</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_heavySmokeOrDust"> + <gml:description>portion of the image is partially obscured by heavy smoke or dust + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">heavySmokeOrDust</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_night"> + <gml:description>image was taken at night</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">night</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_rain"> + <gml:description>image was taken during rainfall</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">rain</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_semiDarkness"> + <gml:description>image was taken during semi-dark conditions -- twilight conditions + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">semiDarkness</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_shadow"> + <gml:description>portion of the image is obscured by shadow</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">shadow</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_snow"> + <gml:description>portion of the image is obscured by snow</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">snow</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ImagingConditionCode_terrainMasking"> + <gml:description>the absence of collection data of a given point or area caused by the + relative location of topographic features which obstruct the collection path between the + collector(s) and the subject(s) of interest + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">terrainMasking</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_KeywordTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_KeywordTypeCode"> + <gml:description>methods used to group similar keywords</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_KeywordTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_discipline"> + <gml:description>keyword identifies a branch of instruction or specialized learning + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">discipline</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_place"> + <gml:description>keyword identifies a location</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">place</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_stratum"> + <gml:description>keyword identifies the layer(s) of any deposited substance + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">stratum</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_temporal"> + <gml:description>keyword identifies a time period related to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">temporal</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_KeywordTypeCode_theme"> + <gml:description>keyword identifies a particular subject or topic</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">theme</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_MaintenanceFrequencyCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_MaintenanceFrequencyCode"> + <gml:description>frequency with which modifications and deletions are made to the data after + it is first produced + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_MaintenanceFrequencyCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_continual"> + <gml:description>data is repeatedly and frequently updated</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">continual</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_daily"> + <gml:description>data is updated each day</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">daily</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_weekly"> + <gml:description>data is updated on a weekly basis</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">weekly</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_fortnightly"> + <gml:description>data is updated every two weeks</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fortnightly</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_monthly"> + <gml:description>data is updated each month</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">monthly</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_quartely"> + <gml:description>data is updated every three months</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">quartely</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_biannually"> + <gml:description>data is updated twice each year</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">biannually</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_annually"> + <gml:description>data is updated every year</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">annually</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_asNeeded"> + <gml:description>data is updated as deemed necessary</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">asNeeded</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_irregular"> + <gml:description>data is updated in intervals that are uneven in duration + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">irregular</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_notPlanned"> + <gml:description>there are no plans to update the data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">notPlanned</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MaintenanceFrequencyCode_unknown"> + <gml:description>frequency of maintenance for the data is not known</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">unknown</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_MediumFormatCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_MediumFormatCode"> + <gml:description>method used to write to the medium</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_MediumFormatCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_cpio"> + <gml:description>CoPy In / Out (UNIX file format and command)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">cpio</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_tar"> + <gml:description>Tape ARchive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tar</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_highSierra"> + <gml:description>high sierra file system</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">highSierra</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_iso9660"> + <gml:description>information processing volume and file structure of CD-ROM + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">iso9660</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_iso9660RockRidge"> + <gml:description>rock ridge interchange protocol (UNIX)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">iso9660RockRidge</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumFormatCode_iso9660AppleHFS"> + <gml:description>hierarchical file system (Macintosh)</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">iso9660AppleHFS</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_MediumNameCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_MediumNameCode"> + <gml:description>name of the medium</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_MediumNameCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_cdRom"> + <gml:description>read-only optical disk</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">cdRom</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_dvd"> + <gml:description>digital versatile disk</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dvd</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_dvdRom"> + <gml:description>digital versatile disk, read only</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dvdRom</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_3halfInchFloppy"> + <gml:description>3,5 inch magnetic disk</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">3halfInchFloppy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_5quarterInchFloppy"> + <gml:description>5,25 inch magnetic disk</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">5quarterInchFloppy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_7trackTape"> + <gml:description>7 track magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">7trackTape</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_9trackType"> + <gml:description>9 track magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">9trackType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_3480Cartridge"> + <gml:description>3480 cartridge tape drive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">3480Cartridge</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_3490Cartridge"> + <gml:description>3490 cartridge tape drive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">3490Cartridge</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_3580Cartridge"> + <gml:description>3580 cartridge tape drive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">3580Cartridge</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_4mmCartridgeTape"> + <gml:description>4 millimetre magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">4mmCartridgeTape</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_8mmCartridgeTape"> + <gml:description>8 millimetre magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">8mmCartridgeTape</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_1quarterInchCartridgeTape"> + <gml:description>0,25 inch magnetic tape</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">1quarterInchCartridgeTape</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_digitalLinearTap"> + <gml:description>half inch cartridge streaming tape drive</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">digitalLinearTap</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_onLine"> + <gml:description>direct computer linkage</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">onLine</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_satellite"> + <gml:description>linkage through a satellite communication system</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">satellite</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_telephoneLink"> + <gml:description>communication through a telephone network</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">telephoneLink</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_MediumNameCode_hardcopy"> + <gml:description>pamphlet or leaflet giving descriptive information</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">hardcopy</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ObligationCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ObligationCode"> + <gml:description>obligation of the element or entity</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ObligationCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ObligationCode_mandatory"> + <gml:description>element is always required</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">mandatory</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ObligationCode_optional"> + <gml:description>element is not required</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">optional</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ObligationCode_conditional"> + <gml:description>element is required when a specific condition is met</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">conditional</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_PixelOrientationCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_PixelOrientationCode"> + <gml:description>point in a pixel corresponding to the Earth location of the pixel + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_PixelOrientationCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_center"> + <gml:description>point halfway between the lower left and the upper right of the pixel + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">center</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_lowerLeft"> + <gml:description>the corner in the pixel closest to the origin of the SRS; if two are at + the same distance from the origin, the one with the smallest x-value + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">lowerLeft</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_lowerRight"> + <gml:description>next corner counterclockwise from the lower left</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">lowerRight</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_upperRight"> + <gml:description>next corner counterclockwise from the lower right</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">upperRight</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_PixelOrientationCode_upperLeft"> + <gml:description>next corner counterclockwise from the upper right</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">upperLeft</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ProgressCode===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ProgressCode"> + <gml:description>status of the dataset or progress of a review</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ProgressCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_completed"> + <gml:description>production of the data has been completed</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">completed</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_historicalArchive"> + <gml:description>data has been stored in an offline storage facility</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">historicalArchive</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_obsolete"> + <gml:description>data is no longer relevant</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">obsolete</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_onGoing"> + <gml:description>data is continually being updated</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">onGoing</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_planned"> + <gml:description>fixed date has been established upon or by which the data will be created + or updated + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">planned</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_required"> + <gml:description>data needs to be generated or updated</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">required</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ProgressCode_underDevelopment"> + <gml:description>data is currently in the process of being created</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">underDevelopment</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_RestrictionCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_RestrictionCode"> + <gml:description>limitation(s) placed upon the access or use of the data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_RestrictionCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_copyright"> + <gml:description>exclusive right to the publication, production, or sale of the rights to + a literary, dramatic, musical, or artistic work, or to the use of a commercial print or + label, granted by law for a specified period of time to an author, composer, artist, + distributor + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">copyright</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_patent"> + <gml:description>government has granted exclusive right to make, sell, use or license an + invention or discovery + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">patent</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_patentPending"> + <gml:description>produced or sold information awaiting a patent</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">patentPending</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_trademark"> + <gml:description>a name, symbol, or other device identifying a product, officially + registered and legally restricted to the use of the owner or manufacturer + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">trademark</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_license"> + <gml:description>formal permission to do something</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">license</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_intellectualPropertyRights"> + <gml:description>rights to financial benefit from and control of distribution of + non-tangible property that is a result of creativity + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">intellectualPropertyRights</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_restricted"> + <gml:description>withheld from general circulation or disclosure</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">restricted</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_RestrictionCode_otherRestrictions"> + <gml:description>limitation not listed</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">otherRestrictions</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_ScopeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_ScopeCode"> + <gml:description>class of information to which the referencing entity applies + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_ScopeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_attribute"> + <gml:description>information applies to the attribute class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attribute</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_attributeType"> + <gml:description>information applies to the characteristic of a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attributeType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_collectionHardware"> + <gml:description>information applies to the collection hardware class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collectionHardware</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_collectionSession"> + <gml:description>information applies to the collection session</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collectionSession</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_dataset"> + <gml:description>information applies to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_series"> + <gml:description>information applies to the series</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">series</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_nonGeographicDataset"> + <gml:description>information applies to non-geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">nonGeographicDataset</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_dimensionGroup"> + <gml:description>information applies to a dimension group</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dimensionGroup</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_feature"> + <gml:description>information applies to a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">feature</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_featureType"> + <gml:description>information applies to a feature type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">featureType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_propertyType"> + <gml:description>information applies to a property type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">propertyType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_fieldSession"> + <gml:description>information applies to a field session</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fieldSession</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_software"> + <gml:description>information applies to a computer program or routine</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">software</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_service"> + <gml:description>information applies to a capability which a service provider entity makes + available to a service user entity through a set of interfaces that define a behaviour, + such as a use case + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">service</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_model"> + <gml:description>information applies to a copy or imitation of an existing or hypothetical + object + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">model</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_ScopeCode_tile"> + <gml:description>information applies to a tile, a spatial subset of geographic data + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tile</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_SpatialRepresentationTypeCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_SpatialRepresentationTypeCode"> + <gml:description>method used to represent geographic information in the dataset + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_SpatialRepresentationTypeCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_vector"> + <gml:description>vector data is used to represent geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">vector</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_grid"> + <gml:description>grid data is used to represent geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">grid</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_textTable"> + <gml:description>textual or tabular data is used to represent geographic data + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">textTable</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_tin"> + <gml:description>triangulated irregular network</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tin</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_stereoModel"> + <gml:description>three-dimensional view formed by the intersecting homologous rays of an + overlapping pair of images + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">stereoModel</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_SpatialRepresentationTypeCode_video"> + <gml:description>scene from a video recording</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">video</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_TopicCategoryCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_TopicCategoryCode"> + <gml:description>high-level geographic data thematic classification to assist in the grouping + and search of available geographic data sets. Can be used to group keywords as well. Listed + examples are not exhaustive. + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_TopicCategoryCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_farming"> + <gml:description>rearing of animals and/or cultivation of plants. Examples: agriculture, + irrigation, aquaculture, plantations, herding, pests and diseases affecting crops and + livestock + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">farming</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_biota"> + <gml:description>flora and/or fauna in natural environment. Examples: wildlife, + vegetation, biological sciences, ecology, wilderness, sealife, wetlands, habitat + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">biota</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_boundaries"> + <gml:description>legal land descriptions. Examples: political and administrative + boundaries + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">boundaries</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_climatologyMeteorologyAtmosphere"> + <gml:description>processes and phenomena of the atmosphere. Examples: cloud cover, + weather, climate, atmospheric conditions, climate change, precipitation + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">climatologyMeteorologyAtmosphere + </gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_economy"> + <gml:description>economic activities, conditions and employment. Examples: production, + labour, revenue, commerce, industry, tourism and ecotourism, forestry, fisheries, + commercial or subsistence hunting, exploration and exploitation of resources such as + minerals, oil and gas + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">economy</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_elevation"> + <gml:description>height above or below sea level. Examples: altitude, bathymetry, digital + elevation models, slope, derived products + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">elevation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_environment"> + <gml:description>environmental resources, protection and conservation. Examples: + environmental pollution, waste storage and treatment, environmental impact assessment, + monitoring environmental risk, nature reserves, landscape + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">environment</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_geoscientificInformation"> + <gml:description>information pertaining to earth sciences. Examples: geophysical features + and processes, geology, minerals, sciences dealing with the composition, structure and + origin of the earth s rocks, risks of earthquakes, volcanic activity, landslides, + gravity information, soils, permafrost, hydrogeology, erosion + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">geoscientificInformation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_health"> + <gml:description>health, health services, human ecology, and safety. Examples: disease and + illness, factors affecting health, hygiene, substance abuse, mental and physical health, + health services + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">health</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_imageryBaseMapsEarthCover"> + <gml:description>base maps. Examples: land cover, topographic maps, imagery, unclassified + images, annotations + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">imageryBaseMapsEarthCover</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_intelligenceMilitary"> + <gml:description>military bases, structures, activities. Examples: barracks, training + grounds, military transportation, information collection + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">intelligenceMilitary</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_inlandWaters"> + <gml:description>inland water features, drainage systems and their characteristics. + Examples: rivers and glaciers, salt lakes, water utilization plans, dams, currents, + floods, water quality, hydrographic charts + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">inlandWaters</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_location"> + <gml:description>positional information and services. Examples: addresses, geodetic + networks, control points, postal zones and services, place names + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">location</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_oceans"> + <gml:description>features and characteristics of salt water bodies (excluding inland + waters). Examples: tides, tidal waves, coastal information, reefs + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">oceans</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_planningCadastre"> + <gml:description>information used for appropriate actions for future use of the land. + Examples: land use maps, zoning maps, cadastral surveys, land ownership + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">planningCadastre</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_society"> + <gml:description>characteristics of society and cultures. Examples: settlements, + anthropology, archaeology, education, traditional beliefs, manners and customs, + demographic data, recreational areas and activities, social impact assessments, crime + and justice, census information + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">society</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_structure"> + <gml:description>man-made construction. Examples: buildings, museums, churches, factories, + housing, monuments, shops, towers + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">structure</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_transportation"> + <gml:description>means and aids for conveying persons and/or goods. Examples: roads, + airports/airstrips, shipping routes, tunnels, nautical charts, vehicle or vessel + location, aeronautical charts, railways + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">transportation</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopicCategoryCode_utilitiesCommunication"> + <gml:description>energy, water and waste systems and communications infrastructure and + services. Examples: hydroelectricity, geothermal, solar and nuclear sources of energy, + water purification and distribution, sewage collection and disposal, electricity and gas + distribution, data communication, telecommunication, radio, communication networks + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">utilitiesCommunication</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== MD_TopologyLevelCode ===--> + <codelistItem> + <CodeListDictionary gml:id="MD_TopologyLevelCode"> + <gml:description>degree of complexity of the spatial relationships</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MD_TopologyLevelCode</gml:identifier> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_geometryOnly"> + <gml:description>geometry objects without any additional structure which describes + topology + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">geometryOnly</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_topology1D"> + <gml:description>1-dimensional topological complex -- commonly called chain-node + topology + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">topology1D</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_planarGraph"> + <gml:description>1-dimensional topological complex that is planar. (A planar graph is a + graph that can be drawn in a plane in such a way that no two edges intersect except at a + vertex.) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">planarGraph</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_fullPlanarGraph"> + <gml:description>2-dimensional topological complex that is planar. (A 2-dimensional + topological complex is commonly called full topology in a cartographic 2D environment.) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fullPlanarGraph</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_surfaceGraph"> + <gml:description>1-dimensional topological complex that is isomorphic to a subset of a + surface. (A geometric complex is isomorphic to a topological complex if their elements + are in a one-to-one, dimensional-and boundry-preserving correspondence to one another.) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">surfaceGraph</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_fullSurfaceGraph"> + <gml:description>2-dimensional topological complex that is isomorphic to a subset of a + surface + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fullSurfaceGraph</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_topology3D"> + <gml:description>3-dimensional topological complex. (A topological complex is a collection + of topological primitives that are closed under the boundary operations.) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">topology3D</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_fullTopology3D"> + <gml:description>complete coverage of a 3D Euclidean coordinate space</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fullTopology3D</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MD_TopologyLevelCode_abstract"> + <gml:description>topological complex without any specified geometric realisation + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">abstract</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!---===MX_ScopeCode===--> + <codelistItem> + <CodeListDictionary gml:id="MX_ScopeCode"> + <gml:description>Extension of MD_ScopeCode for the needs of GMX application schemas and in the + context of a transfer + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">MX_ScopeCode</gml:identifier> + <!--MD_ScopeCode values--> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_attribute"> + <gml:description>information applies to the attribute class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attribute</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_attributeType"> + <gml:description>information applies to the characteristic of a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">attributeType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_collectionHardware"> + <gml:description>information applies to the collection hardware class</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collectionHardware</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_collectionSession"> + <gml:description>information applies to the collection session</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">collectionSession</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_dataset"> + <gml:description>information applies to the dataset</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dataset</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_series"> + <gml:description>information applies to the series</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">series</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_nonGeographicDataset"> + <gml:description>information applies to non-geographic data</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">nonGeographicDataset</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_dimensionGroup"> + <gml:description>information applies to a dimension group</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">dimensionGroup</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_feature"> + <gml:description>information applies to a feature</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">feature</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_featureType"> + <gml:description>information applies to a feature type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">featureType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_propertyType"> + <gml:description>information applies to a property type</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">propertyType</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_fieldSession"> + <gml:description>information applies to a field session</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">fieldSession</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_software"> + <gml:description>information applies to a computer program or routine</gml:description> + <gml:identifier codeSpace="ISOTC211/19115">software</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_service"> + <gml:description>information applies to a capability which a service provider entity makes + available to a service user entity through a set of interfaces that define a behaviour, + such as a use case + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">service</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_model"> + <gml:description>information applies to a copy or imitation of an existing or hypothetical + object + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">model</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_tile"> + <gml:description>information applies to a tile, a spatial subset of geographic data + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">tile</gml:identifier> + </CodeDefinition> + </codeEntry> + <!--MX_ScopeCode extensions--> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_initiative"> + <gml:description>The referencing entity applies to a transfer aggregate which was + originally identified as an initiative (DS_Initiative) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">initiative</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_stereomate"> + <gml:description>The referencing entity applies to a transfer aggregate which was + originally identified as a stereo mate (DS_StereoMate) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">stereomate</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_sensor"> + <gml:description>The referencing entity applies to a transfer aggregate which was + originally identified as a sensor (DS_Sensor) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">sensor</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_platformSeries"> + <gml:description>The referencing entity applies to a transfer aggregate which was + originally identified as a platform series (DS_PlatformSeries) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">platformSeries</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_sensorSeries"> + <gml:description>The referencing entity applies to a transfer aggregate which was + originally identified as a sensor series (DS_SensorSeries) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">sensorSeries</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_productionSeries"> + <gml:description>The referencing entity applies to a transfer aggregate which was + originally identified as a production series (DS_ProductionSeries) + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">productionSeries</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_transferAggregate"> + <gml:description>The referencing entity applies to a transfer aggregate which has no + existence outside of the transfer context + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">transferAggregate</gml:identifier> + </CodeDefinition> + </codeEntry> + <codeEntry> + <CodeDefinition gml:id="MX_ScopeCode_otherAggregate"> + <gml:description>The referencing entity applies to a transfer aggregate which has an + existence outside of the transfer context, but which does not pertains to a specific + aggregate type. + </gml:description> + <gml:identifier codeSpace="ISOTC211/19115">otherAggregate</gml:identifier> + </CodeDefinition> + </codeEntry> + </CodeListDictionary> + </codelistItem> + <!--=== EOF ===--> +</CT_CodelistCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/ReadMe.txt new file mode 100644 index 00000000000..2cdbe533f2c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/ReadMe.txt @@ -0,0 +1,20 @@ +ISO(c) - ISO/TS 19139:2007 resources +------------------------------------------------------------------------------ + +ISO/TS 19139:2007 resources are XML Files provided with the XML +Schema Implementations defined in ISO/TS 19139-2. Those resources are: +- Catalogues of Codelist, Units of measure (uom) and Coordinate Reference + Systems (CRS) +- sample XML + +------------------------------------------------------------------------------- + +2012-07-13 Nicolas Lesage on behalf of the ISO/TC 211 XML Maintenance Group + * Update of Readme.txt file + * Use of absolute schema locations + * Adoption of W3C Implementation of XLink: + + Validation: XML Files have been validated with XML Spy 2010 Rel. 2 (MSXML 6.0) + + +No history... diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/crs/ML_gmxCrs.xml b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/crs/ML_gmxCrs.xml new file mode 100644 index 00000000000..c082d761b9c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/crs/ML_gmxCrs.xml @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +CORRECTIONS referenced 2012-07-13 #01 +AUTHOR: XML Maintenance group - Nicolas Lesage +PURPOSE: Use of absolute path in xsi:schemaLocation +DESCRIPTION: +- ../gmx/gmx.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd +- ../gmd/gmd.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd +- ../gco/gco.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd +- ../xlink/xlinks.xsd replaced by http://www.w3.org/1999/xlink.xsd +- ../gml/gml.xsd replaced by http://schemas.opengis.net/gml/3.2.1/gml.xsd + +--> +<CT_CrsCatalogue xmlns="http://www.isotc211.org/2005/gmx" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.isotc211.org/2005/gmx http://schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd http://www.isotc211.org/2005/gco http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd"> + + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>ML_gmxCrs</gco:CharacterString> + </name> + <scope xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CRS catalogue for description of gmx metadata dataset</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#xpointer(//*[@id='fra'])">Catalogue des paramètres géodésiques pour la description de jeux de métadonnées conformes aux schémas gmx</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-29</gco:Date> + </versionDate> + <!--=== for Cultural and Linguistic Adaptability ===--> + <!--Default language--> + <language> + <gmd:LanguageCode codeList="../codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="eng">English</gmd:LanguageCode> + </language> + <characterSet> + <gmd:MD_CharacterSetCode codeList="../codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8">UTF 8</gmd:MD_CharacterSetCode> + </characterSet> + <!--List of the 'locales' into which free text values can be translated--> + <locale> + <gmd:PT_Locale id="fra"> + <gmd:languageCode> + <gmd:LanguageCode codeList="../codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="french">French</gmd:LanguageCode> + </gmd:languageCode> + <gmd:country> + <gmd:Country codeList="../Codelist/ML_gmxCodelists.xm#Country" codeListValue="FR">France</gmd:Country> + </gmd:country> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="../Codelist/ML_gmxCodelists.xm#MD_CharacterSetCode" codeListValue="utf8">UTF 8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </locale> + <!--============================================================================--> + <!--============================================================================--> + <!--======================= Coordinate reference systems ============================--> + <!--*** WGS 84 - CRS ***--> + <crs> + <ML_GeodeticCRS gml:id="ml_EPSG4326"> + <gml:identifier codeSpace="EPSG_v65">4326</gml:identifier> + <gml:name codeSpace="IGN-F">WGS84G</gml:name> + <gml:name>World Geodetic System 1984</gml:name> + <gml:domainOfValidity> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>World</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </gmd:EX_Extent> + </gml:domainOfValidity> + <gml:scope>not known</gml:scope> + <gml:usesEllipsoidalCS xlink:href="#xpointer(//*[@gml:id='EPSG6422'])"/> + <gml:usesGeodeticDatum xlink:href="#xpointer(//*[@gml:id='EPSG6422')]"/> + <!--==alternative definition(s)==--> + <alternativeExpression> + <CrsAlt gml:id="ml_EPSG4326_fr" codeSpace="fra"> + <gml:identifier codeSpace="EPSG_v65">4326</gml:identifier> + <gml:name codeSpace="IGN-F">WGS84G</gml:name> + <gml:name>WGS 1984</gml:name> + <gml:domainOfValidity> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>Monde</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </gmd:EX_Extent> + </gml:domainOfValidity> + <gml:scope>inconnu</gml:scope> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </CrsAlt> + </alternativeExpression> + </ML_GeodeticCRS> + </crs> + <!--============================ Coordinate systems ===============================--> + <!--*** Ellipsoidal - 2D - degree ***--> + <coordinateSystem> + <gml:EllipsoidalCS gml:id="EPSG6422"> + <gml:identifier codeSpace="EPSG_v65">6422</gml:identifier> + <gml:name>ellipsoidal2Ddeg</gml:name> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9901'])"/> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9902'])"/> + </gml:EllipsoidalCS> + </coordinateSystem> + <!--========================== Coordinate system axis ==============================--> + <!--*** Latitude ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9901" uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='deg'])"> + <gml:identifier codeSpace="EPSG_v65">9901</gml:identifier> + <gml:name>Geodetic latitude</gml:name> + <gml:axisAbbrev>Lat</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">North</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--*** Longitude ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9902" uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='deg'])"> + <gml:identifier codeSpace="EPSG_v65">9902</gml:identifier> + <gml:name>Geodetic longitude</gml:name> + <gml:axisAbbrev>Lon</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">East</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--================================ Datums =====================================--> + <!--*** WGS 84 - Datum ***--> + <datum> + <gml:GeodeticDatum gml:id="EPSG6326"> + <gml:identifier codeSpace="EPSG_v65">6326</gml:identifier> + <gml:name>World Geodetic System 1984</gml:name> + <gml:scope>not known</gml:scope> + <gml:primeMeridian xlink:href="#xpointer(//*[@gml:id='EPSG8901'])"/> + <gml:ellipsoid xlink:href="#xpointer(//*[@gml:id='EPSG7030'])"/> + </gml:GeodeticDatum> + </datum> + <!--================================ Ellipsoids ====================================--> + <!--*** WGS 84 - Ellipsoid ***--> + <ellipsoid> + <gml:Ellipsoid gml:id="EPSG7030"> + <gml:identifier codeSpace="EPSG_v65">7030</gml:identifier> + <gml:name>WGS 84</gml:name> + <gml:semiMajorAxis uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='m'])">6378137</gml:semiMajorAxis> + <gml:secondDefiningParameter> + <gml:SecondDefiningParameter> + <gml:inverseFlattening uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='m'])">298.2572</gml:inverseFlattening> + </gml:SecondDefiningParameter> + </gml:secondDefiningParameter> + </gml:Ellipsoid> + </ellipsoid> + <!--============================== Prime meridians =================================--> + <!--*** Greenwich ***--> + <primeMeridian> + <gml:PrimeMeridian gml:id="EPSG8901"> + <gml:identifier codeSpace="EPSG_v65">8901</gml:identifier> + <gml:name>Greenwich</gml:name> + <gml:greenwichLongitude uom="../uom/ML_gmxUom.xsd#xpointer(//*[@gml:id='deg'])">0</gml:greenwichLongitude> + </gml:PrimeMeridian> + </primeMeridian> + <!--================================ Operations ===================================--> + <!--============================= Operation methods ================================--> + <!--=========================== Operation parameters ================================--> +</CT_CrsCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/crs/gmxCrs.xml b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/crs/gmxCrs.xml new file mode 100644 index 00000000000..4f7e07c7313 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/crs/gmxCrs.xml @@ -0,0 +1,287 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +CORRECTIONS referenced 2012-07-13 #01 +AUTHOR: XML Maintenance group - Nicolas Lesage +PURPOSE: Use of absolute path in xsi:schemaLocation +DESCRIPTION: +- ../gmx/gmx.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd +- ../gmd/gmd.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd +- ../gco/gco.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd +- ../xlink/xlinks.xsd replaced by http://www.w3.org/1999/xlink.xsd +- ../gml/gml.xsd replaced by http://schemas.opengis.net/gml/3.2.1/gml.xsd + +--> +<CT_CrsCatalogue xmlns="http://www.isotc211.org/2005/gmx" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.isotc211.org/2005/gmx http://schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd http://www.isotc211.org/2005/gco http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>gmxCrs</gco:CharacterString> + </name> + <scope> + <gco:CharacterString>CRS parameters dictionary</gco:CharacterString> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-18</gco:Date> + </versionDate> + <!--============================================================================--> + <!--============================================================================--> + <!--======================= Coordinate reference systems ============================--> + <!--*** WGS 84 - CRS ***--> + <crs> + <gml:GeodeticCRS gml:id="EPSG4326"> + <gml:identifier codeSpace="EPSG_v65">4326</gml:identifier> + <gml:name codeSpace="IGN-F">WGS84G</gml:name> + <gml:name>World Geodetic System 1984</gml:name> + <gml:domainOfValidity> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>World: Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, Anguilla, Antarctica, Antigua and Barbuda, Argentina, Armenia, Aruba, Australia, + Austria, Azerbaijan, Bahamas, Bahrain, Bangladesh, Barbados, Belgium, Belgium, Belize, Benin, Bermuda, Bhutan, Bolivia, Bosnia and Herzegowina, + Botswana, Bouvet Island, Brazil, British Indian Ocean Territory, British Virgin Islands, Brunei Darussalam, Bulgaria, Burkina Faso, Burundi, Cambodia, + Cameroon, Canada, Cape Verde, Cayman Islands, Central African Republic, Chad, Chile, China, Christmas Island, Cocos (Keeling) Islands, Comoros, + Congo, Cook Islands, Costa Rica, Côte d'Ivoire (Ivory Coast), Croatia, Cuba, Cyprus, Czech Republic, Denmark, Djibouti, Dominica, Dominican Republic, + East Timor, Ecuador, Egypt, El Salvador, Equatorial Guinea, Eritrea, Estonia, Ethiopia, Falkland Islands (Malvinas), Faroe Islands, Fiji, Finland, France, + French Guiana, French Polynesia, French Southern Territories, Gabon, Gambia, Georgia, Germany, Ghana, Gibraltar, Greece, Greenland, Grenada, + Guadeloupe, Guam, Guatemala, Guinea, Guinea-Bissau, Guyana, Haiti, Heard Island and McDonald Islands, Holy See (Vatican City State), Honduras, China + - Hong Kong, Hungary, Iceland, India, Indonesia, Islamic Republic of Iran, Iraq, Ireland, Israel, Italy, Jamaica, Japan, Jordan, Kazakstan, Kenya, Kiribati, + Democratic People's Republic of Korea (North Korea), Republic of Korea (South Korea), Kuwait, Kyrgyzstan, Lao People's Democratic Republic (Laos), + Latvia, Lebanon, Lesotho, Liberia, Libyan Arab Jamahiriya, Liechtenstein, Lithuania, Luxembourg, China - Macau, The Former Yugoslav Republic of + Macedonia, Madagascar, Malawi, Malaysia, Maldives, Mali, Malta, Marshall Islands, Martinique, Mauritania, Mauritius, Mayotte, Mexico, Federated States + of Micronesia, Monaco, Mongolia, Montserrat, Morocco, Mozambique, Myanmar (Burma), Namibia, Nauru, Nepal, Netherlands, Netherlands Antilles, New + Caledonia, New Zealand, Nicaragua, Niger, Nigeria, Niue, Norfolk Island, Northern Mariana Islands, Norway, Oman, Pakistan, Palau, Panama, Papua New + Guinea (PNG), Paraguay, Peru, Philippines, Pitcairn, Poland, Portugal, Puerto Rico, Qatar, Reunion, Romania, Russian Federation, Rwanda, Saint Kitts and + Nevis, Saint Lucia, Saint Vincent and the Grenadines, Samoa, San Marino, Sao Tome and Principe, Saudi Arabia, Senegal, Seychelles, Sierra Leone, + Singapore, Slovakia (Slovak Republic), Slovenia, Solomon Islands, Somalia, South Africa, South Georgia and the South Sandwich Islands, Spain, Sri Lanka, + Saint Helena, Saint Pierre and Miquelon, Sudan, Suriname, Svalbard and Jan Mayen, Swaziland, Sweden, Switzerland, Syrian Arab Republic, Taiwan, + Tajikistan, United Republic of Tanzania, Thailand, The Democratic Republic of the Congo (Zaire), Togo, Tokelau, Tonga, Trinidad and Tobago, Tunisia, + Turkey, Turkmenistan, Turks and Caicos Islands, Tuvalu, Uganda, Ukraine, United Arab Emirates (UAE), United Kingdom (UK), United States (USA), + United States Minor Outlying Islands, Uruguay, Uzbekistan, Vanuatu, Venezuela, Vietnam, US Virgin Islands, Wallis and Futuna, Western Sahara, Yemen, + Yugoslavia - Union of Serbia and Montenegro, Zambia, Zimbabwe.</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </gmd:EX_Extent> + </gml:domainOfValidity> + <gml:scope>not known</gml:scope> + <gml:ellipsoidalCS xlink:href="#xpointer(//*[@gml:id='EPSG6422'])"/> + <gml:geodeticDatum xlink:href="#xpointer(//*[@gml:id='EPSG6326')]"/> + </gml:GeodeticCRS> + </crs> + <!--*** UTM 38 Nord ***--> + <crs> + <gml:ProjectedCRS gml:id="EPSG32638"> + <gml:identifier codeSpace="EPSG_v65">32638</gml:identifier> + <gml:name codeSpace="IGN-F">UTM38W84</gml:name> + <gml:name>WGS 84 / UTM zone 38N</gml:name> + <gml:domainOfValidity> + <gmd:EX_Extent> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>Between 42 and 48 deg East; northern hemisphere. Armenia. Azerbaijan. Djibouti. Eritrea. Ethiopia. Georgia. Islamic Republic of Iran. Iraq. Kazakstan. Kuwait. Russian Federation. Saudi Arabia. Somalia. Tukey. Yemen.</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + </gmd:EX_Extent> + </gml:domainOfValidity> + <gml:scope>not known</gml:scope> + <gml:conversion xlink:href="#xpointer(//*[@gml:id='EPSG16038'])"/> + <gml:baseGeodeticCRS xlink:href="#xpointer(//*[@gml:id='EPSG4326'])"/> + <!--WGS84 - CRS--> + <gml:cartesianCS xlink:href="#EPSG4400"/> + </gml:ProjectedCRS> + </crs> + <!--============================ Coordinate systems ===============================--> + <!--*** Ellipsoidal - 2D - degree ***--> + <coordinateSystem> + <gml:EllipsoidalCS gml:id="EPSG6422"> + <gml:description>Ellipsoidal 2D CS. Axes: latitude, longitude. Orientations: north, east. UoM: deg</gml:description> + <gml:identifier codeSpace="EPSG_v65">6422</gml:identifier> + <gml:name>CS ellipsoidal2D</gml:name> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9901'])"/> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9902'])"/> + </gml:EllipsoidalCS> + </coordinateSystem> + <!--*** Cartesian - 2D ***--> + <coordinateSystem> + <gml:CartesianCS gml:id="EPSG4400"> + <gml:description>Cartesian 2D CS. Axes: easting, northing (E,N). Orientations: east, north. UoM: m.</gml:description> + <gml:identifier codeSpace="EPSG_v65">4400</gml:identifier> + <gml:name>Cs cartesian2D</gml:name> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9907'])"/> + <gml:axis xlink:href="#xpointer(//*[@gml:id='EPSG9906'])"/> + </gml:CartesianCS> + </coordinateSystem> + <!--========================== Coordinate system axis ==============================--> + <!--*** Latitude ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9901" uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='deg'])"> + <gml:identifier codeSpace="EPSG_v65">9901</gml:identifier> + <gml:name>Geodetic latitude</gml:name> + <gml:axisAbbrev>Lat</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">North</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--*** Longitude ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9902" uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='deg'])"> + <gml:identifier codeSpace="EPSG_v65">9902</gml:identifier> + <gml:name>Geodetic longitude</gml:name> + <gml:axisAbbrev>Lon</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">East</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--*** Northing ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9907" uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='m'])"> + <gml:identifier codeSpace="EPSG_v65">9907</gml:identifier> + <gml:name>Northing</gml:name> + <gml:axisAbbrev>N</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">North</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--*** Easting ***--> + <axis> + <gml:CoordinateSystemAxis gml:id="EPSG9906" uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='m'])"> + <gml:identifier codeSpace="EPSG_v65">9906</gml:identifier> + <gml:name>Easting</gml:name> + <gml:axisAbbrev>E</gml:axisAbbrev> + <gml:axisDirection codeSpace="EPSG">east</gml:axisDirection> + </gml:CoordinateSystemAxis> + </axis> + <!--================================ Datums =====================================--> + <!--*** WGS 84 - Datum ***--> + <datum> + <gml:GeodeticDatum gml:id="EPSG6326"> + <gml:identifier codeSpace="EPSG_v65">6326</gml:identifier> + <gml:name>World Geodetic System 1984</gml:name> + <gml:scope>not known</gml:scope> + <gml:primeMeridian xlink:href="#xpointer(//*[@gml:id='EPSG8901'])"/> + <gml:ellipsoid xlink:href="#xpointer(//*[@gml:id='EPSG7030'])"/> + </gml:GeodeticDatum> + </datum> + <!--================================ Ellipsoids ====================================--> + <!--*** WGS 84 - Ellipsoid ***--> + <ellipsoid> + <gml:Ellipsoid gml:id="EPSG7030"> + <gml:identifier codeSpace="EPSG_v65">7030</gml:identifier> + <gml:name>WGS 84</gml:name> + <gml:semiMajorAxis uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='m'])">6378137</gml:semiMajorAxis> + <gml:secondDefiningParameter> + <gml:SecondDefiningParameter> + <gml:inverseFlattening uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='m'])">298.2572</gml:inverseFlattening> + </gml:SecondDefiningParameter> + </gml:secondDefiningParameter> + </gml:Ellipsoid> + </ellipsoid> + <!--============================== Prime meridians =================================--> + <!--*** Greenwich ***--> + <primeMeridian> + <gml:PrimeMeridian gml:id="EPSG8901"> + <gml:identifier codeSpace="EPSG_v65">8901</gml:identifier> + <gml:name>Greenwich</gml:name> + <gml:greenwichLongitude uom="../uom/gmxUom.xsd#xpointer(//*[@gml:id='deg'])">0</gml:greenwichLongitude> + </gml:PrimeMeridian> + </primeMeridian> + <!--================================ Operations ===================================--> + <operation> + <gml:Conversion gml:id="EPSG16038"> + <gml:identifier codeSpace="EPSG_v65">16038</gml:identifier> + <gml:name>UTM Zone 38 N</gml:name> + <gml:scope>not known</gml:scope> + <gml:method xlink:href="EPSG9807"/> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='deg'])">0</gml:value> + <gml:operationParameter xlink:href="EPSG8801"/> + </gml:ParameterValue> + </gml:parameterValue> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='deg'])">45</gml:value> + <gml:operationParameter xlink:href="EPSG8802"/> + </gml:ParameterValue> + </gml:parameterValue> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='unity'])">0.9996</gml:value> + <gml:operationParameter xlink:href="EPSG8805"/> + </gml:ParameterValue> + </gml:parameterValue> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='m'])">500000</gml:value> + <gml:operationParameter xlink:href="EPSG8806"/> + </gml:ParameterValue> + </gml:parameterValue> + <gml:parameterValue> + <gml:ParameterValue> + <gml:value uom="../uom/gmxUom.xm#xpointer(//*[@gml:id='m'])">0</gml:value> + <gml:operationParameter xlink:href="EPSG8807"/> + </gml:ParameterValue> + </gml:parameterValue> + </gml:Conversion> + </operation> + <!--============================= Operation methods ================================--> + <operationMethod> + <gml:OperationMethod gml:id="EPSG9807"> + <gml:identifier codeSpace="EPSG_v65">9807</gml:identifier> + <gml:name codeSpace="IGN-F">PRCM040</gml:name> + <gml:name>Transverse Mercator</gml:name> + <gml:formula>Transverse Mercator</gml:formula> + <gml:sourceDimensions>2</gml:sourceDimensions> + <gml:targetDimensions>2</gml:targetDimensions> + <gml:generalOperationParameter xlink:href="EPSG8801"/> + <gml:generalOperationParameter xlink:href="EPSG8802"/> + <gml:generalOperationParameter xlink:href="EPSG8805"/> + <gml:generalOperationParameter xlink:href="EPSG8806"/> + <gml:generalOperationParameter xlink:href="EPSG8807"/> + </gml:OperationMethod> + </operationMethod> + <!--=========================== Operation parameters ================================--> + <parameters> + <gml:OperationParameter gml:id="EPSG8801"> + <gml:identifier codeSpace="EPSG_v65">8801</gml:identifier> + <gml:name>Latitude of natural origin</gml:name> + </gml:OperationParameter> + </parameters> + <parameters> + <gml:OperationParameter gml:id="EPSG8802"> + <gml:identifier codeSpace="EPSG_v65">8802</gml:identifier> + <gml:name>Longitude of natural origin</gml:name> + </gml:OperationParameter> + </parameters> + <parameters> + <gml:OperationParameter gml:id="EPSG8805"> + <gml:identifier codeSpace="EPSG_v65">8805</gml:identifier> + <gml:name>Scale factor at natural origin</gml:name> + </gml:OperationParameter> + </parameters> + <parameters> + <gml:OperationParameter gml:id="EPSG8806"> + <gml:identifier codeSpace="EPSG_v65">8806</gml:identifier> + <gml:name>False Easting</gml:name> + </gml:OperationParameter> + </parameters> + <parameters> + <gml:OperationParameter gml:id="EPSG8807"> + <gml:identifier codeSpace="EPSG_v65">8807</gml:identifier> + <gml:name>False Northing</gml:name> + </gml:OperationParameter> + </parameters> +</CT_CrsCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/example/fr-fr.xml b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/example/fr-fr.xml new file mode 100644 index 00000000000..98d928f872a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/example/fr-fr.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +CORRECTIONS referenced 2012-07-13 #01 +AUTHOR: XML Maintenance group - Nicolas Lesage +PURPOSE: Use of absolute path in xsi:schemaLocation +DESCRIPTION: +- ../gmd/gmd.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd +- ../gco/gco.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd +- ../xlink/xlinks.xsd replaced by http://www.w3.org/1999/xlink.xsd +- ../gml/gml.xsd replaced by http://schemas.opengis.net/gml/3.2.1/gml.xsd + +--><PT_LocaleContainer xmlns="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd http://www.isotc211.org/2005/gco http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd"> + <!--==========================================--> + <!--===========Translation file Header ============--> + <!--===Text description===--> + <description> + <gco:CharacterString>France-France</gco:CharacterString> + </description> + <!--===Locale===--> + <locale> + <PT_Locale id="locale-fr"> + <languageCode> + <LanguageCode codeList="../Codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="fra">French</LanguageCode> + </languageCode> + <country> + <Country codeList="../Codelist/ML_gmxCodelists.xml#Country" codeListValue="FR">FR</Country> + </country> + <characterEncoding> + <MD_CharacterSetCode codeList="../Codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8">UTF 8</MD_CharacterSetCode> + </characterEncoding> + </PT_Locale> + </locale> + <!--===Dates [creation / revision]===--> + <date> + <CI_Date> + <date> + <gco:Date>2005-03-18</gco:Date> + </date> + <dateType> + <CI_DateTypeCode codeList="../Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation" codeSpace="fra">création</CI_DateTypeCode> + </dateType> + </CI_Date> + </date> + <date> + <CI_Date> + <date> + <gco:Date>2006-02-03</gco:Date> + </date> + <dateType> + <CI_DateTypeCode codeList="../Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="../Codelist/ML_gmxCodelists.xml#CI_DateTypeCode_revision" codeSpace="fra">révision</CI_DateTypeCode> + </dateType> + </CI_Date> + </date> + <!--===Responsible party [author]===--> + <responsibleParty> + <CI_ResponsibleParty> + <organisationName> + <gco:CharacterString>french translation team</gco:CharacterString> + </organisationName> + <role> + <CI_RoleCode codeList="../Codelist/ML_gmxCodelists.xml#CI_RoleCode" codeListValue="author" codeSpace="fra">auteur</CI_RoleCode> + </role> + </CI_ResponsibleParty> + </responsibleParty> + <!--============================================================================--> + <!--============================================================================--> + <!--=========================== Translation items ===================================--> + <!--+++abstract : Brief narrative summary of the content of the resource+++--> + <localisedString> + <LocalisedCharacterString id="abstract-fr" locale="#fr-fr">Résumé succint du contenu du jeu de données</LocalisedCharacterString> + </localisedString> + <!--++++++--> + <localisedString/> + <!--++++++--> + <localisedString/> + <!--++++++--> + <localisedString/> + <!--++++++--> + <localisedString/> + <!--++++++--> + <localisedString/> + <!--=== EOF ===--> +</PT_LocaleContainer> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/uom/ML_gmxUom.xml b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/uom/ML_gmxUom.xml new file mode 100644 index 00000000000..9710190701f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/uom/ML_gmxUom.xml @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +CORRECTIONS referenced 2012-07-13 #01 +AUTHOR: XML Maintenance group - Nicolas Lesage +PURPOSE: Use of absolute path in xsi:schemaLocation +DESCRIPTION: +- ../gmx/gmx.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd +- ../gmd/gmd.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd +- ../gco/gco.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd +- ../xlink/xlinks.xsd replaced by http://www.w3.org/1999/xlink.xsd +- ../gml/gml.xsd replaced by http://schemas.opengis.net/gml/3.2.1/gml.xsd + +--> +<CT_UomCatalogue xmlns="http://www.isotc211.org/2005/gmx" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.isotc211.org/2005/gmx http://schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd http://www.isotc211.org/2005/gco http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>uom</gco:CharacterString> + </name> + <scope xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>units of measure dictionary compliant with SI definitions</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#xpointer(//*[@id='fra'])">dictionnaire d'unités de mesure conforme avec les définitions du Système International (SI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </scope> + <fieldOfApplication> + <gco:CharacterString>GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-06-18</gco:Date> + </versionDate> + <!--=== for Cultural and Linguistic Adaptability ===--> + <!--Default language--> + <language> + <gmd:LanguageCode codeList="../Codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="eng">English</gmd:LanguageCode> + </language> + <characterSet> + <gmd:MD_CharacterSetCode codeList="../Codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8">UTF 8</gmd:MD_CharacterSetCode> + </characterSet> + <!--List of the 'locales' into which free text values can be translated--> + <locale> + <gmd:PT_Locale id="fra"> + <gmd:languageCode> + <gmd:LanguageCode codeList="../Codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="fra">French</gmd:LanguageCode> + </gmd:languageCode> + <gmd:country> + <gmd:Country codeList="../Codelist/ML_gmxCodelists.xm#Country" codeListValue="FR">France</gmd:Country> + </gmd:country> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="../Codelist/ML_gmxCodelists.xm#MD_CharacterSetCode" codeListValue="utf8">UTF 8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </locale> + <!--============================================================================--> + <!--============================================================================--> + <!--============================= UOM items ======================================--> + <!--====== METER =====--> + <uomItem> + <ML_BaseUnit gml:id="m"> + <gml:description>The metre is the length of the path travelled by ligth in vaccum during a time interval of 1/299 792 458 of a second</gml:description> + <gml:identifier codeSpace="http://www.bipm.fr/en/si/base_units">metre</gml:identifier> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www1.bipm.org/en/si/base_units">m</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/SI"/> + <!--==alternative definition(s)==--> + <alternativeExpression> + <UomAlternativeExpression gml:id="m_fr" codeSpace="fra"> + <gml:description>unité de longueur de référence dans le système international, correspond à la distance parcourue par la lumière dans le vide pendant 1/299 792 458 seconde</gml:description> + <gml:identifier codeSpace="http://www.bipm.fr/fr/si/base_units">metre</gml:identifier> + <gml:name>mètre</gml:name> + <gml:quantityType>longueur</gml:quantityType> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </UomAlternativeExpression> + </alternativeExpression> + <!--......................................--> + </ML_BaseUnit> + </uomItem> + <!--====== DEGREE =====--> + <uomItem> + <ML_ConventionalUnit gml:id="deg"> + <gml:description>Measure of angle equal to Pi/180 radians, widely used in geography</gml:description> + <gml:identifier codeSpace="ISO31-1">degree</gml:identifier> + <gml:quantityType>angle</gml:quantityType> + <gml:conversionToPreferredUnit uom="#xpointer(//*[@gml:id='rad'])"> + <gml:factor>1.74532925199433E-02</gml:factor> + </gml:conversionToPreferredUnit> + <!--==alternative definition(s)==--> + <alternativeExpression> + <UomAlternativeExpression gml:id="deg_fr" codeSpace="fra"> + <gml:description>Unité d'angle de référence en géographie égale à Pi/180 radians.</gml:description> + <gml:identifier codeSpace="ISO31-1">degree</gml:identifier> + <gml:name>degré</gml:name> + <gml:quantityType>angle</gml:quantityType> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </UomAlternativeExpression> + </alternativeExpression> + </ML_ConventionalUnit> + </uomItem> + <!--====== RADIAN =====--> + <uomItem> + <ML_DerivedUnit gml:id="rad"> + <gml:description>Radian is an unit of angle measure. It is defined as the ratio of arc length to the radius of the circle.</gml:description> + <gml:identifier codeSpace="http://www1.bipm.org/en/si/derived_units">radian</gml:identifier> + <gml:quantityType>plane angle</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www1.bipm.org/en/si/derived_units">rad</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#xpointer(//*[@gml:id='m'])" exponent="1"/> + <gml:derivationUnitTerm uom="#xpointer(//*[@gml:id='m'])" exponent="-1"/> + <!--==alternative definition(s)==--> + <alternativeExpression> + <UomAlternativeExpression gml:id="rad_fr" codeSpace="fra"> + <gml:description>Le radian est une unité de mesaure angulaire définie comme le ratio entre le rayon et la longueur de l'arc.</gml:description> + <gml:identifier codeSpace="http://www1.bipm.org/en/si/derived_units">radian</gml:identifier> + <gml:name>radian</gml:name> + <gml:quantityType>angle planaire</gml:quantityType> + <locale xlink:href="#xpointer(//*[@id='fra'])"/> + </UomAlternativeExpression> + </alternativeExpression> + </ML_DerivedUnit> + </uomItem> + <!--=== EOF ===--> +</CT_UomCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/uom/gmxUom.xml b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/uom/gmxUom.xml new file mode 100644 index 00000000000..ad0eaebc840 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/resources/uom/gmxUom.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +CORRECTIONS referenced 2012-07-13 #01 +AUTHOR: XML Maintenance group - Nicolas Lesage +PURPOSE: Use of absolute path in xsi:schemaLocation +DESCRIPTION: +- ../gmx/gmx.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd +- ../gco/gco.xsd replaced by http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd +- ../xlink/xlinks.xsd replaced by http://www.w3.org/1999/xlink.xsd +- ../gml/gml.xsd replaced by http://schemas.opengis.net/gml/3.2.1/gml.xsd + +--> +<CT_UomCatalogue xmlns="http://www.isotc211.org/2005/gmx" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.isotc211.org/2005/gmx http://schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd http://www.isotc211.org/2005/gco http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd"> + <!--=====Catalogue description=====--> + <name> + <gco:CharacterString>gmxUom</gco:CharacterString> + </name> + <scope> + <gco:CharacterString>units of measure dictionary compliant with SI definitions</gco:CharacterString> + </scope> + <fieldOfApplication> + <gco:CharacterString>ISO/TC 211 GMX (and imported) namespace</gco:CharacterString> + </fieldOfApplication> + <versionNumber> + <gco:CharacterString>0.0</gco:CharacterString> + </versionNumber> + <versionDate> + <gco:Date>2005-03-18</gco:Date> + </versionDate> + <!--============================================================================--> + <!--============================================================================--> + <!--============================= UOM items ======================================--> + <!--====== METRE =====--> + <uomItem> + <gml:BaseUnit gml:id="m"> + <gml:description>The metre is the length of the path travelled by ligth in vaccum during a time interval of 1/299 792 458 of a second</gml:description> + <gml:identifier codeSpace="http://www.bipm.fr/en/si/base_units">metre</gml:identifier> + <gml:quantityType>length</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www.bipm.org/en/si/base_units">m</gml:catalogSymbol> + <gml:unitsSystem xlink:href="http://www.bipm.fr/en/si"/> + </gml:BaseUnit> + </uomItem> + <!--====== DEGREE =====--> + <uomItem> + <gml:ConventionalUnit gml:id="deg"> + <gml:description>Measure of angle equal to Pi/180 radians, widely used in geography</gml:description> + <gml:identifier codeSpace="ISO31-1">degree</gml:identifier> + <gml:quantityType>angle</gml:quantityType> + <gml:conversionToPreferredUnit uom="#xpointer(//*[@gml:id='rad'])"> + <gml:factor>1.74532925199433E-02</gml:factor> + </gml:conversionToPreferredUnit> + </gml:ConventionalUnit> + </uomItem> + <!--====== RADIAN =====--> + <uomItem> + <gml:DerivedUnit gml:id="rad"> + <gml:description>Radian is an unit of angle measure. It is defined as the ratio of arc length to the radius of the circle.</gml:description> + <gml:identifier codeSpace="http://www.bipm.fr/en/s/derived_unitsi">radian</gml:identifier> + <gml:quantityType>plane angle</gml:quantityType> + <gml:catalogSymbol codeSpace="http://www1.bipm.org/en/si/derived_units">rad</gml:catalogSymbol> + <gml:derivationUnitTerm uom="#xpointer(//*[@gml:id='m'])" exponent="1"/> + <gml:derivationUnitTerm uom="#xpointer(//*[@gml:id='m'])" exponent="-1"/> + </gml:DerivedUnit> + </uomItem> + <!--=== EOF ===--> +</CT_UomCatalogue> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/ReadMe.txt b/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/ReadMe.txt new file mode 100644 index 00000000000..497f69a3dad --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/ReadMe.txt @@ -0,0 +1,40 @@ +SRV schema ReadMe.txt +============================================================= + +Geographic Information -- Services (SRV) + +Based on ISO 19119:2005/Amd 1:2008. + +The most current schema are available at http://schemas.opengis.net/ . + +----------------------------------------------------------------------- + +2018-03-21 Kevin Stegemoller + * v1.0.1: revert namespace from + http://www.opengis.net/iso/19139/20070417/srv/1.0 + to http://www.isotc211.org/2005/srv + * v1.0.1: xsd:schema/@version attribute held at 1.0.1 (06-135r11 s#13.4) + +2018-03-09 Uwe Voges, Kristian Senkler + * v1.0.1: Published CSW 2.0.2 ISO Application Profile 1.0.1 + including Geographic Information -- Services (SRV) + based on ISO 19119:2005/Amd 1:2008. + See OGC 07-045r1 + +2018-03-09 Kevin Stegemoller + * v1.0.1: change namespace from http://www.isotc211.org/2005/srv + to http://www.opengis.net/iso/19139/20070417/srv/1.0 + * v1.0.1: updated xsd:schema/@version attribute to 1.0.1 (06-135r11 s#13.4) + * v1.0.1: change import of srv.xsd from relative to absolute (06-135r11 s#15) + at http://schemas.opengis.net/iso/19139/20070417/srv/1.0/srv.xsd + * v1.0.1: update/verify copyright (06-135r11 s#3.2) + * v1.0.1: add xs:documentation describing changes + +----------------------------------------------------------------------- + +Policies, Procedures, Terms, and Conditions of OGC(r) are available at + http://www.opengeospatial.org/ogc/legal/ . + +Copyright (c) 2018 Open Geospatial Consortium. + +----------------------------------------------------------------------- diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/serviceMetadata.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/serviceMetadata.xsd new file mode 100644 index 00000000000..624272c2987 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/serviceMetadata.xsd @@ -0,0 +1,213 @@ +<?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="1.0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>2018-03-21 Revert namespace to http://www.isotc211.org/2005/srv while version remains at 1.0.1 .</xs:documentation> + <xs:documentation>2018-03-01 Change namespace to http://www.opengis.net/iso/19139/20070417/srv/1.0 and update version to 1.0.1 .</xs:documentation> + <xs:documentation>2013-05-24 Add include statement for srv.xsd to ensure that the full namespace will be imported even if it is imported using serviceMetadata.xsd instead of the root schema.</xs:documentation> + <xs:documentation>2013-05-24 Update of schemalocation statements to refer to ISO/TC 211 XML Schemas available on http://standards.iso.org/ittf/PubliclyAvailableStandards. This includes the adoption of W3C implementation of Xlink: http://www.w3.org/1999/xlink.xsd.</xs:documentation> + <xs:documentation>2009-03-02 Made conformant with OGC published GML 3.2.1 schemas from OGC 07-036 (schemas repository http://schemas.opengis.net/)</xs:documentation> + <xs:documentation>2009-03-02 Addition of gco:ScopedName to SV_CoupledResource</xs:documentation> + <xs:documentation>2007-11-26 The gmd namespace is now imported by a reference to the root xsd file of gmd, gmd.xsd, instead of identification.xsd.</xs:documentation> + <xs:documentation>2006-11-15 Modification of the maximum cardinality of SV_ServiceIdentification.restrictions to n to allow the description of both legal and security constraints.</xs:documentation> + <xs:documentation>2006-11-15 Property order in SV_ServiceIdentification: couplingType (mandatory) is now implemented before coupledResource (optional).</xs:documentation> + <xs:documentation>2006-11-15 Modification of the maximum cardinality to n for SV_ServiceSpecification.typeSpec and SV_PlatformNeutralServiceSpecification.implSpec as a way to implement the qualifiers on these relationships.</xs:documentation> + <xs:documentation>2006-11-15 Removal of the inheritance relationships between SV_ServiceSpecification, SV_PlatformNeutralServiceSpecification and SV_PlatformSpecificServiceSpecification that were primarily intended as a way to share the two attributes name and opModel of the supertype SV_ServiceSpecification and not its relationship to SV_Interface. A new abstract type SV_AbstractServiceSpecification with two attributes name and opModel has been created; SV_ServiceSpecification, SV_PlatformNeutralServiceSpecification and SV_PlatformSpecificServiceSpecification now derive from this abstract type. The aggregation relationships between these three types are maintained.</xs:documentation> + <xs:documentation>2006-10-13 This file was generated from ISO TC/211 UML class diagrams. It is based on document 211n1977 (Text of ISO 19119:2005 Amd. 1, Geographic information - Services, Amendment 1), as sent to ISO for further processing. This includes the creation of 2 types (SV_CouplingType and SV_CoupledResource), the addition of 3 properties for SV_ServiceIdentification (extent, couplingType and coupledResource) and the removal of the type SV_ServiceProvider.</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="serviceModel.xsd"/> + <xs:include schemaLocation="srv.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> + <xs:complexType name="SV_Parameter_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:MemberName_Type"/> + <xs:element name="direction" type="srv:SV_ParameterDirection_PropertyType" minOccurs="0"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="optionality" type="gco:CharacterString_PropertyType"/> + <xs:element name="repeatability" type="gco:Boolean_PropertyType"/> + <xs:element name="valueType" type="gco:TypeName_PropertyType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_Parameter" type="srv:SV_Parameter_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_Parameter_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:SV_Parameter"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_OperationMetadata_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="operationName" type="gco:CharacterString_PropertyType"/> + <xs:element name="DCP" type="srv:DCPList_PropertyType" maxOccurs="unbounded"/> + <xs:element name="operationDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="invocationName" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="parameters" type="srv:SV_Parameter_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="connectPoint" type="gmd:CI_OnlineResource_PropertyType" maxOccurs="unbounded"/> + <xs:element name="dependsOn" type="srv:SV_OperationMetadata_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_OperationMetadata" type="srv:SV_OperationMetadata_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_OperationMetadata_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:SV_OperationMetadata"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_ServiceIdentification_Type"> + <xs:complexContent> + <xs:extension base="gmd:AbstractMD_Identification_Type"> + <xs:sequence> + <xs:element name="serviceType" type="gco:GenericName_PropertyType"/> + <xs:element name="serviceTypeVersion" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="accessProperties" type="gmd:MD_StandardOrderProcess_PropertyType" minOccurs="0"/> + <xs:element name="restrictions" type="gmd:MD_Constraints_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="keywords" type="gmd:MD_Keywords_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="extent" type="gmd:EX_Extent_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="coupledResource" type="srv:SV_CoupledResource_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="couplingType" type="srv:SV_CouplingType_PropertyType"/> + <xs:element name="containsOperations" type="srv:SV_OperationMetadata_PropertyType" maxOccurs="unbounded"/> + <xs:element name="operatesOn" type="gmd:MD_DataIdentification_PropertyType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_ServiceIdentification" type="srv:SV_ServiceIdentification_Type" substitutionGroup="gmd:AbstractMD_Identification"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_ServiceIdentification_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:SV_ServiceIdentification"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_OperationChain_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="operation" type="srv:SV_Operation_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_OperationChain" type="srv:SV_OperationChain_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_OperationChain_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:SV_OperationChain"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_OperationChainMetadata_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="name" type="gco:CharacterString_PropertyType"/> + <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/> + <xs:element name="operation" type="srv:SV_OperationMetadata_PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_OperationChainMetadata" type="srv:SV_OperationChainMetadata_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_OperationChainMetadata_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:SV_OperationChainMetadata"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:complexType name="SV_CoupledResource_Type"> + <xs:complexContent> + <xs:extension base="gco:AbstractObject_Type"> + <xs:sequence> + <xs:element name="operationName" type="gco:CharacterString_PropertyType"/> + <xs:element name="identifier" type="gco:CharacterString_PropertyType"/> + <xs:element ref="gco:ScopedName" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ........................................................................ --> + <xs:element name="SV_CoupledResource" type="srv:SV_CoupledResource_Type"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_CoupledResource_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:SV_CoupledResource"/> + </xs:sequence> + <xs:attributeGroup ref="gco:ObjectReference"/> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <xs:simpleType name="SV_ParameterDirection_Type"> + <xs:restriction base="xs:string"> + <xs:enumeration value="in"/> + <xs:enumeration value="out"/> + <xs:enumeration value="in/out"/> + </xs:restriction> + </xs:simpleType> + <!-- ........................................................................ --> + <xs:element name="SV_ParameterDirection" type="srv:SV_ParameterDirection_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_ParameterDirection_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:SV_ParameterDirection"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="DCPList" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="DCPList_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:DCPList"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> + <!-- ........................................................................ --> + <xs:element name="SV_CouplingType" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> + <!-- ........................................................................ --> + <xs:complexType name="SV_CouplingType_PropertyType"> + <xs:sequence minOccurs="0"> + <xs:element ref="srv:SV_CouplingType"/> + </xs:sequence> + <xs:attribute ref="gco:nilReason"/> + </xs:complexType> + <!-- =========================================================================== --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/serviceModel.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/serviceModel.xsd new file mode 100644 index 00000000000..7cece5d91a3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/serviceModel.xsd @@ -0,0 +1,235 @@ +<?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="1.0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>2018-03-21 Revert namespace to http://www.isotc211.org/2005/srv while version remains at 1.0.1 .</xs:documentation> + <xs:documentation>2018-03-01 Change namespace to http://www.opengis.net/iso/19139/20070417/srv/1.0 and update version to 1.0.1 .</xs:documentation> + <xs:documentation>2013-05-24 Add include statement for srv.xsd to ensure that the full namespace will be imported even if it is imported using serviceModel.xsd instead of the root schema.</xs:documentation> + <xs:documentation>2013-05-24 Update of schemalocation statements to refer to ISO/TC 211 XML Schemas available on http://standards.iso.org/ittf/PubliclyAvailableStandards. This includes the adoption of W3C implementation of Xlink: http://www.w3.org/1999/xlink.xsd.</xs:documentation> + <xs:documentation>2009-03-02 Made conformant with OGC published GML 3.2.1 schemas from OGC 07-036 (schemas repository http://schemas.opengis.net/).</xs:documentation> + <xs:documentation>2006-10-13 This file was generated from ISO TC/211 UML class diagrams. It is based on document 211n1977 (Text of ISO 19119:2005 Amd. 1, Geographic information - Services, Amendment 1), as sent to ISO for further processing. See seriveMetadata.xsd</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.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> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/srv.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/srv.xsd new file mode 100644 index 00000000000..e4b9883940e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/srv/srv.xsd @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.isotc211.org/2005/srv" elementFormDefault="qualified" version="1.0.1"> + <!-- ================================= Annotation ================================ --> + <xs:annotation> + <xs:documentation>2018-03-21 Revert namespace to http://www.isotc211.org/2005/srv while version remains at 1.0.1 .</xs:documentation> + <xs:documentation>2018-03-01 Change namespace to http://www.opengis.net/iso/19139/20070417/srv/1.0 and update version to 1.0.1 .</xs:documentation> + <xs:documentation>2013-05-24 Update of schemalocation statements to refer to ISO/TC 211 XML Schemas available on http://standards.iso.org/ittf/PubliclyAvailableStandards. This includes the adoption of W3C implementation of Xlink: http://www.w3.org/1999/xlink.xsd.</xs:documentation> + <xs:documentation>2009-03-02 Made conformant with OGC published GML 3.2.1 schemas from OGC 07-036 (schemas repository http://schemas.opengis.net/). Change applied to servicelMetadata.xsd</xs:documentation> + <xs:documentation>2007-11-26 See serviceMetadata.xsd</xs:documentation> + <xs:documentation>2006-11-15 See serviceMetadata.xsd</xs:documentation> + <xs:documentation>2006-10-13 This file was generated from ISO TC/211 UML class diagrams. It is based on document 211n1977 (Text of ISO 19119:2005 Amd. 1, Geographic information - Services, Amendment 1), as sent to ISO for further processing. See seriveMetadata.xsd</xs:documentation> + </xs:annotation> + <!-- ================================== Imports ================================== --> + <xs:include schemaLocation="serviceMetadata.xsd"/> + <!-- ########################################################################### --> + <!-- ########################################################################### --> + <!-- ================================== Classes ================================= --> +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/xlink/xlink.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/xlink/xlink.xsd new file mode 100644 index 00000000000..cb26f2959d8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/xlink/xlink.xsd @@ -0,0 +1,270 @@ +<?xml version='1.0' encoding='UTF-8'?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"> + + <xs:annotation> + <xs:documentation>This schema document provides attribute declarations and +attribute group, complex type and simple type definitions which can be used in +the construction of user schemas to define the structure of particular linking +constructs, e.g. +<![CDATA[ +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xl="http://www.w3.org/1999/xlink"> + + <xs:import namespace="http://www.w3.org/1999/xlink" + location="http://www.w3.org/1999/xlink.xsd"> + + <xs:element name="mySimple"> + <xs:complexType> + ... + <xs:attributeGroup ref="xl:simpleAttrs"/> + ... + </xs:complexType> + </xs:element> + ... +</xs:schema>]]></xs:documentation> + </xs:annotation> + + <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../xml/xml.xsd"/> + + <xs:attribute name="type" type="xlink:typeType"/> + + <xs:simpleType name="typeType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="simple"/> + <xs:enumeration value="extended"/> + <xs:enumeration value="title"/> + <xs:enumeration value="resource"/> + <xs:enumeration value="locator"/> + <xs:enumeration value="arc"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="href" type="xlink:hrefType"/> + + <xs:simpleType name="hrefType"> + <xs:restriction base="xs:anyURI"/> + </xs:simpleType> + + <xs:attribute name="role" type="xlink:roleType"/> + + <xs:simpleType name="roleType"> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="arcrole" type="xlink:arcroleType"/> + + <xs:simpleType name="arcroleType"> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="title" type="xlink:titleAttrType"/> + + <xs:simpleType name="titleAttrType"> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:attribute name="show" type="xlink:showType"/> + + <xs:simpleType name="showType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="new"/> + <xs:enumeration value="replace"/> + <xs:enumeration value="embed"/> + <xs:enumeration value="other"/> + <xs:enumeration value="none"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="actuate" type="xlink:actuateType"/> + + <xs:simpleType name="actuateType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="onLoad"/> + <xs:enumeration value="onRequest"/> + <xs:enumeration value="other"/> + <xs:enumeration value="none"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="label" type="xlink:labelType"/> + + <xs:simpleType name="labelType"> + <xs:restriction base="xs:NCName"/> + </xs:simpleType> + + <xs:attribute name="from" type="xlink:fromType"/> + + <xs:simpleType name="fromType"> + <xs:restriction base="xs:NCName"/> + </xs:simpleType> + + <xs:attribute name="to" type="xlink:toType"/> + + <xs:simpleType name="toType"> + <xs:restriction base="xs:NCName"/> + </xs:simpleType> + + <xs:attributeGroup name="simpleAttrs"> + <xs:attribute ref="xlink:type" fixed="simple"/> + <xs:attribute ref="xlink:href"/> + <xs:attribute ref="xlink:role"/> + <xs:attribute ref="xlink:arcrole"/> + <xs:attribute ref="xlink:title"/> + <xs:attribute ref="xlink:show"/> + <xs:attribute ref="xlink:actuate"/> + </xs:attributeGroup> + + <xs:group name="simpleModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="simple"> + <xs:annotation> + <xs:documentation> + Intended for use as the type of user-declared elements to make them + simple links. + </xs:documentation> + </xs:annotation> + <xs:group ref="xlink:simpleModel"/> + <xs:attributeGroup ref="xlink:simpleAttrs"/> + </xs:complexType> + + <xs:attributeGroup name="extendedAttrs"> + <xs:attribute ref="xlink:type" fixed="extended" use="required"/> + <xs:attribute ref="xlink:role"/> + <xs:attribute ref="xlink:title"/> + </xs:attributeGroup> + + <xs:group name="extendedModel"> + <xs:choice> + <xs:element ref="xlink:title"/> + <xs:element ref="xlink:resource"/> + <xs:element ref="xlink:locator"/> + <xs:element ref="xlink:arc"/> + </xs:choice> + </xs:group> + + <xs:complexType name="extended"> + <xs:annotation> + <xs:documentation> + Intended for use as the type of user-declared elements to make them + extended links. + Note that the elements referenced in the content model are all abstract. + The intention is that by simply declaring elements with these as their + substitutionGroup, all the right things will happen. + </xs:documentation> + </xs:annotation> + <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/> + <xs:attributeGroup ref="xlink:extendedAttrs"/> + </xs:complexType> + + <xs:element name="title" type="xlink:titleEltType" abstract="true"/> + + <xs:attributeGroup name="titleAttrs"> + <xs:attribute ref="xlink:type" fixed="title" use="required"/> + <xs:attribute ref="xml:lang"> + <xs:annotation> + <xs:documentation> + xml:lang is not required, but provides much of the + motivation for title elements in addition to attributes, and so + is provided here for convenience. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="titleModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="titleEltType"> + <xs:group ref="xlink:titleModel"/> + <xs:attributeGroup ref="xlink:titleAttrs"/> + </xs:complexType> + + <xs:element name="resource" type="xlink:resourceType" abstract="true"/> + + <xs:attributeGroup name="resourceAttrs"> + <xs:attribute ref="xlink:type" fixed="resource" use="required"/> + <xs:attribute ref="xlink:role"/> + <xs:attribute ref="xlink:title"/> + <xs:attribute ref="xlink:label"/> + </xs:attributeGroup> + + <xs:group name="resourceModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="resourceType"> + <xs:group ref="xlink:resourceModel"/> + <xs:attributeGroup ref="xlink:resourceAttrs"/> + </xs:complexType> + + <xs:element name="locator" type="xlink:locatorType" abstract="true"/> + + <xs:attributeGroup name="locatorAttrs"> + <xs:attribute ref="xlink:type" fixed="locator" use="required"/> + <xs:attribute ref="xlink:href" use="required"/> + <xs:attribute ref="xlink:role"/> + <xs:attribute ref="xlink:title"/> + <xs:attribute ref="xlink:label"> + <xs:annotation> + <xs:documentation> + label is not required, but locators have no particular + XLink function if they are not labeled. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="locatorModel"> + <xs:sequence> + <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType name="locatorType"> + <xs:group ref="xlink:locatorModel"/> + <xs:attributeGroup ref="xlink:locatorAttrs"/> + </xs:complexType> + + <xs:element name="arc" type="xlink:arcType" abstract="true"/> + + <xs:attributeGroup name="arcAttrs"> + <xs:attribute ref="xlink:type" fixed="arc" use="required"/> + <xs:attribute ref="xlink:arcrole"/> + <xs:attribute ref="xlink:title"/> + <xs:attribute ref="xlink:show"/> + <xs:attribute ref="xlink:actuate"/> + <xs:attribute ref="xlink:from"/> + <xs:attribute ref="xlink:to"> + <xs:annotation> + <xs:documentation> + from and to have default behavior when values are missing + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="arcModel"> + <xs:sequence> + <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType name="arcType"> + <xs:group ref="xlink:arcModel"/> + <xs:attributeGroup ref="xlink:arcAttrs"/> + </xs:complexType> + +</xs:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schema2007/xml/xml.xsd b/iso19139.che/src/main/plugin/iso19139.che/schema2007/xml/xml.xsd new file mode 100644 index 00000000000..aea7d0db0a4 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schema2007/xml/xml.xsd @@ -0,0 +1,287 @@ +<?xml version='1.0'?> +<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?> +<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns ="http://www.w3.org/1999/xhtml" + xml:lang="en"> + + <xs:annotation> + <xs:documentation> + <div> + <h1>About the XML namespace</h1> + + <div class="bodytext"> + <p> + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + </p> + <p> + See <a href="http://www.w3.org/XML/1998/namespace.html"> + http://www.w3.org/XML/1998/namespace.html</a> and + <a href="http://www.w3.org/TR/REC-xml"> + http://www.w3.org/TR/REC-xml</a> for information + about this namespace. + </p> + <p> + Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. + </p> + <p> + See further below in this document for more information about <a + href="#usage">how to refer to this schema document from your own + XSD schema documents</a> and about <a href="#nsversioning">the + namespace-versioning policy governing this schema document</a>. + </p> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:attribute name="lang"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>lang (as an attribute name)</h3> + <p> + denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.</p> + + </div> + <div> + <h4>Notes</h4> + <p> + Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. + </p> + <p> + See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt"> + http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a> + and the IANA language subtag registry at + <a href="http://www.iana.org/assignments/language-subtag-registry"> + http://www.iana.org/assignments/language-subtag-registry</a> + for further information. + </p> + <p> + The union allows for the 'un-declaration' of xml:lang with + the empty string. + </p> + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:union memberTypes="xs:language"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value=""/> + </xs:restriction> + </xs:simpleType> + </xs:union> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="space"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>space (as an attribute name)</h3> + <p> + denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.</p> + + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:NCName"> + <xs:enumeration value="default"/> + <xs:enumeration value="preserve"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="base" type="xs:anyURI"> <xs:annotation> + <xs:documentation> + <div> + + <h3>base (as an attribute name)</h3> + <p> + denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.</p> + + <p> + See <a + href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="id" type="xs:ID"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>id (as an attribute name)</h3> + <p> + denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.</p> + + <p> + See <a + href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attributeGroup name="specialAttrs"> + <xs:attribute ref="xml:base"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute ref="xml:space"/> + <xs:attribute ref="xml:id"/> + </xs:attributeGroup> + + <xs:annotation> + <xs:documentation> + <div> + + <h3>Father (in any context at all)</h3> + + <div class="bodytext"> + <p> + denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + </p> + <blockquote> + <p> + In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". + </p> + </blockquote> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + <div xml:id="usage" id="usage"> + <h2><a name="usage">About this schema document</a></h2> + + <div class="bodytext"> + <p> + This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow <code>xml:base</code>, + <code>xml:lang</code>, <code>xml:space</code> or + <code>xml:id</code> attributes on elements they define. + </p> + <p> + To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: + </p> + <pre> + &lt;schema . . .> + . . . + &lt;import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + </pre> + <p> + or + </p> + <pre> + &lt;import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2009/01/xml.xsd"/> + </pre> + <p> + Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. + </p> + <pre> + &lt;type . . .> + . . . + &lt;attributeGroup ref="xml:specialAttrs"/> + </pre> + <p> + will define a type which will schema-validate an instance element + with any of those attributes. + </p> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + <div id="nsversioning" xml:id="nsversioning"> + <h2><a name="nsversioning">Versioning policy for this schema document</a></h2> + <div class="bodytext"> + <p> + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd</a>. + </p> + <p> + At the date of issue it can also be found at + <a href="http://www.w3.org/2001/xml.xsd"> + http://www.w3.org/2001/xml.xsd</a>. + </p> + <p> + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at <a href="http://www.w3.org/2001/xml.xsd"> + http://www.w3.org/2001/xml.xsd + </a> + will change accordingly; the version at + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd + </a> + will not change. + </p> + <p> + Previous dated (and unchanging) versions of this schema + document are at: + </p> + <ul> + <li><a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd</a></li> + <li><a href="http://www.w3.org/2007/08/xml.xsd"> + http://www.w3.org/2007/08/xml.xsd</a></li> + <li><a href="http://www.w3.org/2004/10/xml.xsd"> + http://www.w3.org/2004/10/xml.xsd</a></li> + <li><a href="http://www.w3.org/2001/03/xml.xsd"> + http://www.w3.org/2001/03/xml.xsd</a></li> + </ul> + </div> + </div> + </xs:documentation> + </xs:annotation> + +</xs:schema> + diff --git a/iso19139.che/src/main/plugin/iso19139.che/schematron/criteria-type.xml b/iso19139.che/src/main/plugin/iso19139.che/schematron/criteria-type.xml new file mode 100644 index 00000000000..56145cda5b0 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schematron/criteria-type.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<criteriaTypes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="../../criteria-type.xsd"> + <type> + <value>*//gmd:keyword/gco:CharacterString/text() = + '@@value@@'__OR__*//gmd:keyword/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString/text() = '@@value@@' + </value> + <type>XPATH</type> + <name>Keyword</name> + <allowArbitraryValue>false</allowArbitraryValue> + <remote> + <cacheTime>0</cacheTime> <!-- Don't cache --> + <url>xml.search.keywords@json?pThesauri=external.none.allThesaurus&amp;pNewSearch=true&amp;maxResults=100&amp;pKeyword=@@search@@&amp;pTypeSearch=CONTAINS</url> + + <!-- The following 3 elements are functions (paramName) {function body} and will be converted to a javascript function + in the UI by pre-pending function to the body text --> + <selectRecordArray>(data, scope) { return data[0] }</selectRecordArray> + <selectLabelFunction>(record, scope) { return record.value['#text'] + ' (' + record.thesaurus.title + ')' } + </selectLabelFunction> + <selectValueFunction>(record, scope) { return record.value['#text'] }</selectValueFunction> + </remote> + </type> + <type> + <value>@@value@@</value> + <type>GROUP</type> + <name>Group</name> + <allowArbitraryValue>true</allowArbitraryValue> + <remote> + <!-- + cacheTime > 0 indicates that the typeahead should download all values and cache them + If cacheTime is < 0 then either the "values" element will be used or a remote search will be used for each completion. + --> + <cacheTime>60000</cacheTime> <!-- Cache for 1 minute --> + <url>xml.group.list@json</url> + + <!-- The following 3 elements are functions (paramName) {function body} and will be converted to a javascript function + in the UI by pre-pending function to the body text + --> + <selectRecordArray>(data, scope) { return data }</selectRecordArray> + <selectLabelFunction>(record, scope) { + var label = record.label[scope.lang] ? record.label[scope.lang] : record.name; + return label +" ("+record.id +")"; + } + </selectLabelFunction> + <!-- selectTokensFunction is optional --> + <selectTokensFunction>(record, scope) { + var regex = /\s+/g; + var tokenHash = {}; + var tokens = []; + var addUniqueTokens = function (string) { + var parts = string.split(regex); + for (var i = 0; i &lt; parts.length; i++) { + var token = angular.lowercase(parts[i]); + if (!tokenHash[token]) { + tokens.push(token); + tokenHash[token] = true; + } + } + } + addUniqueTokens(record.name); + for (var p in record.label) { + if (record.label.hasOwnProperty(p) &amp;&amp; typeof record.label === 'string') { + addUniqueTokens(record.label[p]); + } + } + + return tokens; + } + </selectTokensFunction> + <selectValueFunction>(record, scope) { return record.id }</selectValueFunction> + </remote> + </type> +</criteriaTypes> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-aap.sch b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-aap.sch new file mode 100644 index 00000000000..004d69511c2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-aap.sch @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + +<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + queryBinding="xslt2"> + <sch:title xmlns="http://www.w3.org/2001/XMLSchema">AAP</sch:title> + <sch:ns prefix="gml" uri="http://www.opengis.net/gml"/> + <sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/> + <sch:ns prefix="gmx" uri="http://www.isotc211.org/2005/gmx"/> + <sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/> + <sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/> + <sch:ns prefix="che" uri="http://www.geocat.ch/2008/che"/> + <sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/> + <sch:ns prefix="skos" uri="http://www.w3.org/2004/02/skos/core#"/> + <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> + + <sch:pattern> + <sch:title>$loc/strings/mandatoryFields</sch:title> + + <sch:rule context="//gmd:identificationInfo/che:CHE_MD_DataIdentification"> + <sch:let name="AAPKeyworkSet" value="gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString[contains(., 'AAP')]"/> + <sch:let name="appraisalSectionDefined" value="//gmd:resourceMaintenance/che:CHE_MD_MaintenanceInformation/che:appraisal/che:CHE_MD_Appraisal_AAP"/> + + <sch:let name="failure" value="$AAPKeyworkSet and not($appraisalSectionDefined)"/> + + <sch:assert test="not($failure)" see="gmd:resourceMaintenance/che:CHE_MD_MaintenanceInformation/geonet:child[@name='appraisal']/@uuid"> + <sch:value-of select="$loc/strings/appraisalSectionRequired"/> + </sch:assert> + <sch:report test="not($failure)"> + <sch:value-of select="$loc/strings/notAppraisalSectionRequired"/> + </sch:report> + </sch:rule> + + <sch:rule context="//gmd:resourceMaintenance/che:CHE_MD_MaintenanceInformation/che:appraisal/che:CHE_MD_Appraisal_AAP"> + + <sch:let name="durationOfConservation" value="che:durationOfConservation/gco:Integer/text()"/> + <sch:let name="appraisalOfArchivalValue" value="che:appraisalOfArchivalValue/che:CHE_AppraisalOfArchivalValueCode/@codeListValue" /> + <sch:let name="reasonForArchiving" value="che:reasonForArchivingValue/che:CHE_ReasonForArchivingValueCode/@codeListValue" /> + + <sch:assert test="string-length($durationOfConservation) &gt; 0"> + <sch:value-of select="$loc/strings/durationOfConservationRequired"/> + </sch:assert> + <sch:report test="string-length($durationOfConservation) &gt; 0"> + <sch:value-of select="$loc/strings/durationOfConservationReport"/> + <sch:value-of select="floor($durationOfConservation)"/> + </sch:report> + + <sch:assert test="string-length($appraisalOfArchivalValue) &gt; 0"> + <sch:value-of select="$loc/strings/appraisalOfArchivalValueRequired"/> + </sch:assert> + <sch:report test="string-length($appraisalOfArchivalValue) &gt; 0"> + <sch:value-of select="$loc/strings/appraisalOfArchivalValueReport"/> + <sch:value-of select="normalize-space($appraisalOfArchivalValue)"/> + </sch:report> + + </sch:rule> + </sch:pattern> + + <sch:pattern> + <sch:title>$loc/strings/reasonForArchivalValuePresence</sch:title> + <sch:rule context="//gmd:resourceMaintenance/che:CHE_MD_MaintenanceInformation/che:appraisal/che:CHE_MD_Appraisal_AAP"> + <sch:let name="appraisalOfArchivalValue" value="che:appraisalOfArchivalValue/che:CHE_AppraisalOfArchivalValueCode/@codeListValue" /> + <sch:let name="archWurdigOrSampling" value="$appraisalOfArchivalValue = 'S' or $appraisalOfArchivalValue = 'A'" /> + <sch:let name="reasonForArchiving" value="che:reasonForArchivingValue/che:CHE_ReasonForArchivingValueCode/@codeListValue" /> + <sch:let name="reasonPresent" value="string-length($reasonForArchiving) &gt; 0" /> + + <sch:let name="failure" value="not($reasonPresent) and $archWurdigOrSampling"/> + + <sch:assert test="not($failure)"> + <sch:value-of select="$loc/strings/reasonForArchivalValueAbsent" /> + </sch:assert> + <sch:report test="not($failure)"> + <sch:value-of select="$loc/strings/notReasonForArchivalValueAbsent" /> + </sch:report> + + </sch:rule> + </sch:pattern> + + <sch:pattern> + <sch:title>$loc/strings/officalAndAAP</sch:title> + <sch:rule context="//gmd:identificationInfo/che:CHE_MD_DataIdentification"> + <sch:let name="AAPKeyworkSet" value="gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString[contains(., 'AAP')]"/> + <sch:let name="debase" value="gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString[contains(., 'géodonnée de base')]"/> + <sch:let name="basis" value="gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString[contains(., 'Geobasisdaten')]"/> + <sch:let name="dibase" value="gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString[contains(., 'geodati di base')]"/> + <sch:let name="official" value="gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString[contains(., 'official geodata')]"/> + <sch:let name="officialKeyworkSet" value="$debase or $basis or $dibase or $official"/> + <sch:let name="manyTopicSet" value="count(//gmd:MD_TopicCategoryCode) > 1"/> + + <sch:let name="failure" value="$manyTopicSet and $AAPKeyworkSet and $officialKeyworkSet" /> + + <sch:assert test="not($failure)"> + <sch:value-of select="$loc/strings/cantSetManyTopicsWhenOfficalAndAAP"/> + </sch:assert> + <sch:report test="not($failure)"> + <sch:value-of select="$loc/strings/notCantSetManyTopicsWhenOfficalAndAAP"/> + </sch:report> + </sch:rule> + </sch:pattern> + +</sch:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-bgdi.sch b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-bgdi.sch new file mode 100644 index 00000000000..c0adca093f2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-bgdi.sch @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" +xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +queryBinding="xslt2"> +<sch:title xmlns="http://www.w3.org/2001/XMLSchema">BGDI</sch:title> +<sch:ns prefix="gml" uri="http://www.opengis.net/gml"/> +<sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/> +<sch:ns prefix="gmx" uri="http://www.isotc211.org/2005/gmx"/> +<sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/> +<sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/> +<sch:ns prefix="che" uri="http://www.geocat.ch/2008/che"/> +<sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/> +<sch:ns prefix="skos" uri="http://www.w3.org/2004/02/skos/core#"/> +<sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> + + +<sch:pattern> + <sch:title>$loc/strings/translatedTitle</sch:title> + <!-- Check specification names and status --> + <sch:rule context="/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation"> + <sch:let name="deTitle" value="normalize-space((gmd:title//gmd:LocalisedCharacterString[@locale='#DE'])[1])"/> + <sch:let name="frTitle" value="normalize-space((gmd:title//gmd:LocalisedCharacterString[@locale='#FR'])[1])"/> + + <sch:assert test="string-length($deTitle) > 0"> + <sch:value-of select="$loc/strings/deTitleRequired"/> + </sch:assert> + <sch:report test="string-length($deTitle) > 0"> + <sch:value-of select="$loc/strings/deTitleReport"/> + <sch:value-of select="$deTitle"/> + </sch:report> + + <sch:assert test="string-length($frTitle) > 0"> + <sch:value-of select="$loc/strings/frTitleRequired"/> + </sch:assert> + <sch:report test="string-length($frTitle) > 0"> + <sch:value-of select="$loc/strings/frTitleReport"/> + <sch:value-of select="$frTitle"/> + </sch:report> + </sch:rule> +</sch:pattern> + + +<sch:pattern> + <sch:title>$loc/strings/translatedAltTitle</sch:title> + <!-- Check specification names and status --> + <sch:rule context="/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation"> + <sch:let name="deAltTitle" value="normalize-space((gmd:alternateTitle//gmd:LocalisedCharacterString[@locale='#DE'])[1])"/> + <sch:let name="frAltTitle" value="normalize-space((gmd:alternateTitle//gmd:LocalisedCharacterString[@locale='#FR'])[1])"/> + + <sch:assert test="string-length($deAltTitle) > 0"> + <sch:value-of select="$loc/strings/deAltTitleRequired"/> + </sch:assert> + <sch:report test="string-length($deAltTitle) > 0"> + <sch:value-of select="$loc/strings/deAltTitleReport"/> + <sch:value-of select="$deAltTitle"/> + </sch:report> + + <sch:assert test="string-length($deAltTitle) &lt; 36"> + <sch:value-of select="$loc/strings/deAltTitleMaxLength"/> + </sch:assert> + <sch:report test="string-length($deAltTitle) &lt; 36 and string-length($deAltTitle) &gt; 0"> + <sch:value-of select="$loc/strings/deAltTitleMaxLengthReport"/> + <sch:value-of select="string-length($deAltTitle)"/> + </sch:report> + + <sch:assert test="string-length($frAltTitle) > 0"> + <sch:value-of select="$loc/strings/frAltTitleRequired"/> + </sch:assert> + <sch:report test="string-length($frAltTitle) > 0"> + <sch:value-of select="$loc/strings/frAltTitleReport"/> + <sch:value-of select="$frAltTitle"/> + </sch:report> + + + <sch:assert test="string-length($frAltTitle) &lt; 36"> + <sch:value-of select="$loc/strings/frAltTitleMaxLength"/> + </sch:assert> + <sch:report test="string-length($frAltTitle) &lt; 36 and string-length($frAltTitle) &gt; 0"> + <sch:value-of select="$loc/strings/frAltTitleMaxLengthReport"/> + <sch:value-of select="string-length($frAltTitle)"/> + </sch:report> + </sch:rule> +</sch:pattern> + +<sch:pattern> + <sch:title>$loc/strings/translatedAbstract</sch:title> + <!-- Check specification names and status --> + <sch:rule context="che:CHE_MD_Metadata/gmd:identificationInfo"> + <sch:let name="deAbstract" value="normalize-space((*/gmd:abstract//gmd:LocalisedCharacterString[@locale='#DE'])[1])"/> + <sch:let name="frAbstract" value="normalize-space((*/gmd:abstract//gmd:LocalisedCharacterString[@locale='#FR'])[1])"/> + + <sch:assert test="string-length($deAbstract) > 0"> + <sch:value-of select="$loc/strings/deAbstractRequired"/> + </sch:assert> + <sch:report test="string-length($deAbstract) > 0"> + <sch:value-of select="$loc/strings/deAbstractReport"/> + <sch:value-of select="$deAbstract"/> + </sch:report> + + <sch:assert test="string-length($frAbstract) > 0"> + <sch:value-of select="$loc/strings/frAbstractRequired"/> + </sch:assert> + <sch:report test="string-length($frAbstract) > 0"> + <sch:value-of select="$loc/strings/frAbstractReport"/> + <sch:value-of select="$frAbstract"/> + </sch:report> + </sch:rule> +</sch:pattern> + + + +<sch:pattern> + <sch:title>$loc/strings/pointOfContact</sch:title> + <!-- Check specification names and status --> + <sch:rule context="che:CHE_MD_Metadata/gmd:identificationInfo"> + <sch:let name="pointOfContact" value="*/gmd:pointOfContact"/> + + <sch:assert test="$pointOfContact" see="*/geonet:child[@name='pointOfContact']/@uuid"> + <sch:value-of select="$loc/strings/pointOfContactRequired"/> + </sch:assert> + <sch:report test="$pointOfContact"> + <sch:value-of select="$loc/strings/pointOfContactReport"/> + </sch:report> + </sch:rule> +</sch:pattern> + +</sch:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-geobasisdatensatz.sch b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-geobasisdatensatz.sch new file mode 100644 index 00000000000..926e3f0f980 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-geobasisdatensatz.sch @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + queryBinding="xslt2"> + + <sch:title xmlns="http://www.w3.org/2001/XMLSchema">Geobasisdatensatz</sch:title> + <sch:ns prefix="gml" uri="http://www.opengis.net/gml"/> + <sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/> + <sch:ns prefix="gmx" uri="http://www.isotc211.org/2005/gmx"/> + <sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/> + <sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/> + <sch:ns prefix="che" uri="http://www.geocat.ch/2008/che"/> + <sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/> + <sch:ns prefix="skos" uri="http://www.w3.org/2004/02/skos/core#"/> + <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> + + + <sch:pattern> + <sch:title>$loc/strings/collectivetitle</sch:title> + <!-- Check specification names and status --> + <sch:rule context="che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation"> + <sch:let name="collectiveTitle" value="normalize-space(*/gmd:collectiveTitle)"/> + + <sch:assert test="string-length($collectiveTitle) > 0"> + <sch:value-of select="$loc/strings/collectiveTitleRequired"/> + </sch:assert> + <sch:report test="string-length($collectiveTitle) > 0"> + <sch:value-of select="$loc/strings/collectiveTitleReport"/> + <sch:value-of select="$collectiveTitle"/> + </sch:report> + </sch:rule> + </sch:pattern> + + <sch:pattern> + <sch:title>$loc/strings/basicGeoDataInfo</sch:title> + <!-- Check specification names and status --> + <sch:rule context="che:CHE_MD_Metadata/gmd:identificationInfo"> + <sch:let name="geodataIdDefined" value="*/che:basicGeodataID/node()"/> + <sch:let name="geodataTypeDefined" value="*/che:basicGeodataIDType/node()"/> + + <sch:let name="geodataId" value="normalize-space(*/che:basicGeodataID/gco:CharacterString)"/> + <sch:let name="geodataType" value="normalize-space(*/che:basicGeodataIDType/che:basicGeodataIDTypeCode/@codeListValue)"/> + + <sch:assert test="$geodataIdDefined" see="*/geonet:child[@name='basicGeodataID']/@uuid"> + <sch:value-of select="$loc/strings/geodataIdRequired"/> + </sch:assert> + + <sch:assert test="$geodataId != '' or not($geodataIdDefined) " see="*/che:basicGeodataID/geonet:element/@ref"> + <sch:value-of select="$loc/strings/geodataIdRequired"/> + </sch:assert> + <sch:report test="string-length($geodataId) > 0"> + <sch:value-of select="$loc/strings/geodataIdReport"/> + <sch:value-of select="$geodataId"/> + </sch:report> + + <sch:assert test="$geodataTypeDefined" see="*/geonet:child[@name='basicGeodataIDType']/@uuid"> + <sch:value-of select="$loc/strings/geodataTypeRequired"/> + </sch:assert> + + <sch:assert test="$geodataType !='' or not($geodataTypeDefined)" see="*/che:basicGeodataIDType/geonet:element/@ref"> + <sch:value-of select="$loc/strings/geodataTypeRequired"/> + </sch:assert> + <sch:report test="string-length($geodataType) > 0"> + <sch:value-of select="$loc/strings/geodataTypeReport"/> + <sch:value-of select="$geodataType"/> + </sch:report> + </sch:rule> + </sch:pattern> + + <sch:pattern> + <sch:title>$loc/strings/legislativeInformation</sch:title> + <!-- Check specification names and status --> + <sch:rule context="che:CHE_MD_Metadata"> + <sch:let name="legislativeInformation" value="che:legislationInformation"/> + + <sch:assert test="$legislativeInformation"> + <sch:value-of select="$loc/strings/legislativeInformationRequired"/> + </sch:assert> + <sch:report test="$legislativeInformation"> + <sch:value-of select="$loc/strings/legislativeInformationReport"/> + </sch:report> + </sch:rule> + </sch:pattern> + +</sch:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-geonetwork.sch b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-geonetwork.sch new file mode 100644 index 00000000000..5ae60154270 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-geonetwork.sch @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <sch:title xmlns="http://www.w3.org/2001/XMLSchema">Schematron validation / GeoNetwork recommendations</sch:title> + <sch:ns prefix="gml" uri="http://www.opengis.net/gml"/> + <sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/> + <sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/> + <sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/> + <sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/> + <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> + <sch:ns prefix="che" uri="http://www.geocat.ch/2008/che"/> + + <!-- ============================================================= + GeoNetwork schematron rules: + ============================================================= --> + <sch:pattern> + <sch:title>$loc/strings/M500</sch:title> + <sch:rule + context="//gmd:MD_Metadata|//*[@gco:isoType='gmd:MD_Metadata']"> + <sch:let name="language" value="gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue"/> + <sch:let name="localeAndNoLanguage" value="not(gmd:locale and gmd:language/@gco:nilReason='missing') + and not(gmd:locale and not(gmd:language))"/> + <sch:let name="duplicateLanguage" value="not(gmd:locale/gmd:PT_Locale/gmd:languageCode/gmd:LanguageCode/@codeListValue=$language)"/> + + + <!-- Check that main language is not defined and gmd:locale element exist. --> + + <sch:assert test="$localeAndNoLanguage" + >$loc/strings/alert.M500</sch:assert> + <sch:report test="$localeAndNoLanguage" + ><sch:value-of select="$loc/strings/report.M500"/> "<sch:value-of select="normalize-space($language)"/>"</sch:report> + + <!-- + * Check that main language is defined and does not exist in gmd:locale. + * Do not declare a language twice in gmd:locale section. + This should not happen due to XSD error + which is usually made before schematron validation: + "The value 'XX' of attribute 'id' on element 'gmd:PT_Locale' is not valid with respect to its type, 'ID'. + (Element: gmd:PT_Locale with parent element: gmd:locale)" + --> + <!-- removed this check because it will cause many many metadata to not be valid in geocat + <sch:assert test="$duplicateLanguage" + >$loc/strings/alert.M501</sch:assert> + <sch:report test="$duplicateLanguage" + >$loc/strings/report.M501</sch:report> + --> + </sch:rule> + </sch:pattern> + + <sch:pattern> + <sch:title>$loc/strings/emptyLang</sch:title> + <sch:rule context="//che:PT_FreeURL"> + <sch:let name="emptyUrl" value="che:URLGroup/che:LocalisedURL[not(text())]"/> + <sch:let name="emptyGroup" value="che:URLGroup[not(che:LocalisedURL)]"/> + <sch:let name="inXlink" value="ancestor::*[@xlink:href]"/> + <sch:assert test="not($emptyUrl or $emptyGroup) or $inXlink">$loc/strings/alert.emptyUrl</sch:assert> + <sch:report test="not($emptyUrl or $emptyGroup) or $inXlink"> + <sch:value-of select="$loc/strings/report.emptyUrl"/> + </sch:report> + </sch:rule> + <sch:rule context="//gmd:PT_FreeText"> + <sch:let name="emptyText" value="gmd:textGroup/gmd:LocalisedCharacterString[not(text())]"/> + <sch:let name="emptyGroup" value="gmd:textGroup[not(gmd:LocalisedCharacterString)]"/> + <sch:let name="inXlink" value="ancestor::*[@xlink:href]"/> + <sch:assert test="not($emptyText or $emptyGroup) or $inXlink" see="../geonet:element/@ref">$loc/strings/alert.emptyText</sch:assert> + <sch:report test="not($emptyText or $emptyGroup) or $inXlink"> + <sch:value-of select="$loc/strings/report.emptyText"/> + </sch:report> + </sch:rule> + </sch:pattern> +</sch:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-iso-che.sch b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-iso-che.sch new file mode 100644 index 00000000000..ca2dc6de247 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-iso-che.sch @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <sch:title xmlns="http://www.w3.org/2001/XMLSchema">GM03 implementing rules</sch:title> + <sch:ns prefix="gml" uri="http://www.opengis.net/gml"/> + <sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/> + <sch:ns prefix="che" uri="http://www.geocat.ch/2008/che"/> + <sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/> + <sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/> + <sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/> + <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> + <sch:ns prefix="xslutil" uri="java:org.fao.geonet.util.XslUtil"/> + + <!-- ============================================================= + CHE schematron rules: + ============================================================= --> + <sch:pattern> + <sch:title>$loc/strings/M100</sch:title> + <sch:rule + context="//che:CHE_MD_DataIdentification"> + <sch:let name="emptyGeoId" value="che:basicGeodataID/gco:CharacterString!='' and che:basicGeodataIDType/che:basicGeodataIDTypeCode/@codeListValue=''"/> + <sch:let name="noGeoId" value="che:basicGeodataID/gco:CharacterString!='' and not(che:basicGeodataIDType)"/> + + <!-- Check that basicGeodataId is defined --> + <sch:assert test="not($noGeoId)" see="./geonet:child[@name='basicGeodataIDType']/@uuid"><sch:value-of select="$loc/strings/alert.M100"/></sch:assert> + + <sch:assert test="not($emptyGeoId)" see="./che:basicGeodataIDType/geonet:element/@ref"><sch:value-of select="$loc/strings/alert.M100"/></sch:assert> + <sch:report test="not($emptyGeoId)"><sch:value-of select="$loc/strings/report.M100/div"/></sch:report> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:title>$loc/strings/M101</sch:title> + <sch:rule + context="//che:CHE_MD_FeatureCatalogueDescription"> + <sch:let name="emptyModelType" value="che:dataModel/che:PT_FreeURL/che:URLGroup/che:LocalisedURL!='' and (not(che:modelType) or che:modelType/che:CHE_MD_modelTypeCode/@codeListValue='')"/> + + <!-- Check that basicGeodataId is defined --> + <sch:assert test="not($emptyModelType)">$loc/strings/alert.M101</sch:assert> + <sch:report test="not($emptyModelType)"><sch:value-of select="$loc/strings/report.M101/div"/></sch:report> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:title>$loc/strings/M102</sch:title> + <sch:rule + context="//*[*/@codeListValue]"> + <sch:let name="emptyCodeList" value="*/@codeListValue='' and not(name(.) = 'che:basicGeodataIDType' and ./@gco:nilReason)"/> + + <!-- Check that basicGeodataId is defined --> + <sch:assert test="not($emptyCodeList)">'<sch:value-of select="name(.)"/>' - <sch:value-of select="$loc/strings/alert.M102"/></sch:assert> + <sch:report test="not($emptyCodeList)">'<sch:value-of select="name(.)"/>' - <sch:value-of select="$loc/strings/report.M102/div"/></sch:report> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:title>$loc/strings/M103</sch:title> + <sch:rule + context="//gmd:CI_Citation/gmd:title"> + <sch:let name="language" value="gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue"/> + <sch:let name="emptyTitle" value="//gmd:LocalisedCharacterString[@locale=$language]=''"/> + + <!-- Check that basicGeodataId is defined --> + <sch:assert test="not($emptyTitle)">$loc/strings/alert.M103</sch:assert> + <sch:report test="not($emptyTitle)"><sch:value-of select="$loc/strings/report.M103/div"/></sch:report> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:title>$loc/strings/M104</sch:title> + <sch:rule + context="//gmd:topicCategory"> + <sch:let name="code" value="gmd:MD_TopicCategoryCode[ + normalize-space(.)='planningCadastre' or + normalize-space(.)='geoscientificInformation' or + normalize-space(.)='imageryBaseMapsEarthCover' or + normalize-space(.)='environment']"/> + <sch:let name="sibling" value="../gmd:topicCategory/gmd:MD_TopicCategoryCode[starts-with(normalize-space(.), concat(normalize-space($code), '_'))]"/> + + <sch:let name="legalTopicCategory" value="($code and $sibling) or not($code)"/> + + <!-- Check that basicGeodataId is defined --> + <sch:assert test="$legalTopicCategory">$loc/strings/alert.M104</sch:assert> + <sch:report test="$legalTopicCategory"><sch:value-of select="$loc/strings/report.M104/div"/></sch:report> + </sch:rule> + </sch:pattern> + <sch:pattern> + <sch:title>$loc/strings/M105</sch:title> + <sch:rule + context="//che:CHE_CI_ResponsibleParty"> + <sch:let name="code" value="normalize-space(gmd:contactInfo/gmd:CI_Contact/gmd:address//gmd:country/gco:CharacterString)"/> + + <!-- Check that basicGeodataId is defined --> + <sch:assert test="($code = '' or $code = 'CH' or $code = 'LI' or $code = 'DE' or $code = 'FR' or $code = 'IT' or $code = 'AT')">$loc/strings/alert.M105</sch:assert> + <sch:report test="($code = '' or $code = 'CH' or $code = 'LI' or $code = 'DE' or $code = 'FR' or $code = 'IT' or $code = 'AT')"><sch:value-of select="$loc/strings/report.M105/div"/></sch:report> + </sch:rule> + </sch:pattern> + + + <sch:pattern> + <sch:title>$loc/strings/hierarchyLevelName</sch:title> + <!-- Check specification names and status --> + <sch:rule context="/node()"> + + <sch:let name="hierarchyLevels" value="count(gmd:hierarchyLevel/gmd:MD_ScopeCode)"/> + <sch:let name="dataset" value="count(gmd:hierarchyLevel/gmd:MD_ScopeCode[@codeListValue='dataset'])"/> + <sch:let name="hierarchyLevelNames" value="count(gmd:hierarchyLevelName[normalize-space(gco:CharacterString[1]) != ''])"/> + <sch:assert test="$hierarchyLevels = 0 or $dataset = 1 or ($dataset != 1 and $hierarchyLevelNames &gt; 0)"> + <sch:value-of select="$loc/strings/alert.needsHierarchyLevelName/div"/> + </sch:assert> + <sch:report test="$hierarchyLevels = 0 or $dataset = 1 or ($dataset != 1 and $hierarchyLevelNames &gt; 0)"> + <sch:value-of select="$loc/strings/report.needsHierarchyLevelName/div"/> + </sch:report> + </sch:rule> + </sch:pattern> + +</sch:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-iso.sch b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-iso.sch new file mode 100644 index 00000000000..928333725b2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-iso.sch @@ -0,0 +1,543 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <!-- + + This Schematron schema merges three sets of Schematron rules + 1. Schematron rules embedded in the GML 3.2 schema + 2. Schematron rules implementing the Additional Constraints described in + ISO 19139 Table A.1 + 3. INSPIRE IR on metadata for datasets and services. + + + This script was written by CSIRO for the Australia-New Zealand Land + Information Council (ANZLIC) as part of a project to develop an XML + implementation of the ANZLIC ISO Metadata Profile. + + December 2006, March 2007 + + Port back to good old Schematron-1.5 for use with schematron-report.xsl + and change titles for use as bare bones 19115/19139 schematron checker + in GN 2.2 onwards. + + Simon Pigot, 2007 + Francois Prunayre, 2008 + Etienne Taffoureau, 2008 + + This work is licensed under the Creative Commons Attribution 2.5 License. + To view a copy of this license, visit + http://creativecommons.org/licenses/by/2.5/au/ + + or send a letter to: + + Creative Commons, + 543 Howard Street, 5th Floor, + San Francisco, California, 94105, + USA. + + --> + + <sch:title xmlns="http://www.w3.org/2001/XMLSchema">Schematron validation for ISO + 19115(19139)</sch:title> + <sch:ns prefix="gml" uri="http://www.opengis.net/gml"/> + <sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/> + <sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/> + <sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/> + <sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/> + <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> + + <!-- Test that every CharacterString element has content or it's parent has a + valid nilReason attribute value - this is not necessary for geonetwork + because update-fixed-info.xsl supplies a gco:nilReason of missing for + all gco:CharacterString elements with no content and removes it if the + user fills in a value - this is the same for all gco:nilReason tests + used below - the test for gco:nilReason in 'inapplicable....' etc is + "mickey mouse" for that reason. --> + <sch:pattern> + <sch:title>$loc/strings/M6</sch:title> + <sch:rule context="*[gco:CharacterString]"> + <sch:report + test="(normalize-space(gco:CharacterString) = '') and (not(@gco:nilReason) or not(contains('inapplicable missing template unknown withheld',@gco:nilReason)))" + >$loc/strings/alert.M6.characterString</sch:report> + </sch:rule> + </sch:pattern> + + <sch:pattern> + <sch:title>$loc/strings/M7</sch:title> + <!-- UNVERIFIED --> + <sch:rule id="CRSLabelsPosType" context="//gml:DirectPositionType"> + <sch:report test="not(@srsDimension) or @srsName" + >$loc/strings/alert.M6.directPosition</sch:report> + <sch:report test="not(@axisLabels) or @srsName" + >$loc/strings/alert.M7.axisAndSrs</sch:report> + <sch:report test="not(@uomLabels) or @srsName" + >$loc/strings/alert.M7.uomAndSrs</sch:report> + <sch:report + test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)" + >$loc/strings/alert.M7.uomAndAxis</sch:report> + </sch:rule> + </sch:pattern> + + <!--anzlic/trunk/gml/3.2.0/gmd/citation.xsd--> + <!-- TEST 21 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M8</sch:title> + <sch:rule context="//*[gmd:CI_ResponsibleParty]"> + <sch:let name="count" value="(count(gmd:CI_ResponsibleParty/gmd:individualName[@gco:nilReason!='missing' or not(@gco:nilReason)]) + + count(gmd:CI_ResponsibleParty/gmd:organisationName[@gco:nilReason!='missing' or not(@gco:nilReason)]) + + count(gmd:CI_ResponsibleParty/gmd:positionName[@gco:nilReason!='missing' or not(@gco:nilReason)]))"/> + <sch:assert + test="$count > 0" + >$loc/strings/alert.M8</sch:assert> + <sch:report + test="$count > 0" + ><sch:value-of select="$loc/strings/report.M8"/> + </sch:report> + </sch:rule> + </sch:pattern> + <!-- anzlic/trunk/gml/3.2.0/gmd/constraints.xsd--> + <!-- TEST 4 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M9</sch:title> + <sch:rule context="//gmd:MD_LegalConstraints[gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions'] + |//*[@gco:isoType='gmd:MD_LegalConstraints' and gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']"> + <sch:let name="access" value="not(gmd:otherConstraints) + or count(gmd:otherConstraints[gco:CharacterString = '']) > 0 + or gmd:otherConstraints/@gco:nilReason='missing'"/> + <sch:assert + test="$access = false()" + > + <sch:value-of select="$loc/strings/alert.M9.access"/> + </sch:assert> + <sch:report + test="$access = false()" + ><sch:value-of select="$loc/strings/report.M9"/> + <sch:value-of select="gmd:otherConstraints/gco:CharacterString"/> + </sch:report> + </sch:rule> + <sch:rule context="//gmd:MD_LegalConstraints[gmd:useConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions'] + |//*[@gco:isoType='gmd:MD_LegalConstraints' and gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']"> + <sch:let name="use" value="(not(gmd:otherConstraints) or not(string(gmd:otherConstraints/gco:CharacterString)) or gmd:otherConstraints/@gco:nilReason='missing')"/> + <sch:assert + test="$use = false()" + ><sch:value-of select="$loc/strings/alert.M9.use"/> + </sch:assert> + <sch:report + test="$use = false()" + ><sch:value-of select="$loc/strings/report.M9"/> + <sch:value-of select="gmd:otherConstraints/gco:CharacterString"/> + </sch:report> + </sch:rule> + </sch:pattern> + <!-- anzlic/trunk/gml/3.2.0/gmd/content.xsd--> + <!-- TEST 13 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M10</sch:title> + <sch:rule context="//gmd:MD_Band[gmd:maxValue or gmd:minValue]"> + <sch:let name="values" value="(gmd:maxValue[@gco:nilReason!='missing' or not(@gco:nilReason)] + or gmd:minValue[@gco:nilReason!='missing' or not(@gco:nilReason)]) + and not(gmd:units)"/> + <sch:assert test="$values = false()" + ><sch:value-of select="$loc/strings/alert.M9"/> + </sch:assert> + <sch:report test="$values = false()" + > + <sch:value-of select="$loc/strings/report.M9.min"/> + <sch:value-of select="gmd:minValue"/> / + <sch:value-of select="$loc/strings/report.M9.max"/> + <sch:value-of select="gmd:maxValue"/> [ + <sch:value-of select="$loc/strings/report.M9.units"/> + <sch:value-of select="gmd:units"/>] + </sch:report> + <!-- FIXME : Rename to alert M10 --> + </sch:rule> + </sch:pattern> + <!-- anzlic/trunk/gml/3.2.0/gmd/dataQuality.xsd --> + <!-- TEST 10 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M11</sch:title> + <sch:rule context="//gmd:LI_Source"> + <sch:let name="extent" value="gmd:description[@gco:nilReason!='missing' or not(@gco:nilReason)] or gmd:sourceExtent"/> + <sch:assert test="$extent" + >$loc/strings/alert.M11</sch:assert> + <sch:report test="$extent" + >$loc/strings/report.M11</sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 7 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M13</sch:title> + <sch:rule context="//gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset' + or gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='series']"> + <sch:let name="emptyStatement" value=" + count(*/gmd:LI_Lineage/gmd:source) + count(*/gmd:LI_Lineage/gmd:processStep) = 0 + and not(gmd:lineage/gmd:LI_Lineage/gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)]) + "/> + <sch:assert + test="$emptyStatement = false()" + >$loc/strings/alert.M13</sch:assert> + <sch:report + test="$emptyStatement = false()" + >$loc/strings/report.M13</sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 8 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M14</sch:title> + <sch:rule context="//gmd:LI_Lineage"> + <sch:let name="emptySource" value="not(gmd:source) + and not(gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)]) + and not(gmd:processStep)"/> + <sch:assert test="$emptySource = false()" + >$loc/strings/alert.M14</sch:assert> + <sch:report test="$emptySource = false()" + >$loc/strings/report.M14</sch:report> + + <sch:let name="emptyProcessStep" value="not(gmd:processStep) + and not(gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)]) + and not(gmd:source)"/> + <sch:assert test="$emptyProcessStep = false()" + >$loc/strings/alert.M15</sch:assert> + <sch:report test="$emptyProcessStep = false()" + >$loc/strings/report.M15</sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 5 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M16</sch:title> + <sch:rule context="//gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset']"> + <sch:let name="noReportNorLineage" value="not(gmd:report) + and not(gmd:lineage)"/> + <sch:assert + test="$noReportNorLineage = false()" + >$loc/strings/alert.M16</sch:assert> + <sch:report + test="$noReportNorLineage = false()" + >$loc/strings/report.M16</sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 6 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M17</sch:title> + <sch:rule context="//gmd:DQ_Scope"> + <sch:let name="levelDesc" value="gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset' + or gmd:level/gmd:MD_ScopeCode/@codeListValue='series' + or (gmd:levelDescription and ((normalize-space(gmd:levelDescription) != '') + or (gmd:levelDescription/gmd:MD_ScopeDescription) + or (gmd:levelDescription/@gco:nilReason + and contains('inapplicable missing template unknown withheld',gmd:levelDescription/@gco:nilReason))))"/> + <sch:assert + test="$levelDesc" + >$loc/strings/alert.M17</sch:assert> + <sch:report + test="$levelDesc" + ><sch:value-of select="$loc/strings/report.M17"/> <sch:value-of select="gmd:levelDescription"/></sch:report> + </sch:rule> + </sch:pattern> + <!-- anzlic/trunk/gml/3.2.0/gmd/distribution.xsd--> + <!-- TEST 14 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M18</sch:title> + <sch:rule context="//gmd:MD_Medium"> + <sch:let name="density" value="gmd:density and not(gmd:densityUnits[@gco:nilReason!='missing' or not(@gco:nilReason)])"/> + <sch:assert test="$density = false()" + >$loc/strings/alert.M18</sch:assert> + <sch:report test="$density = false()" + ><sch:value-of select="$loc/strings/report.M18"/> <sch:value-of select="gmd:density"/> + <sch:value-of select="gmd:densityUnits/gco:CharacterString"/></sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST15 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M19</sch:title> + <sch:rule context="//gmd:MD_Distribution"> + <sch:let name="total" value="count(gmd:distributionFormat) + + count(gmd:distributor/gmd:MD_Distributor/gmd:distributorFormat)"/> + <sch:let name="count" value="count(gmd:distributionFormat)>0 + or count(gmd:distributor/gmd:MD_Distributor/gmd:distributorFormat)>0"/> + <sch:assert + test="$count" + >$loc/strings/alert.M19</sch:assert> + <sch:report + test="$count" + ><sch:value-of select="$total"/> <sch:value-of select="$loc/strings/report.M19"/></sch:report> + </sch:rule> + </sch:pattern> + <!-- anzlic/trunk/gml/3.2.0/gmd/extent.xsd--> + <!-- TEST 20 FXCHECK --> + <sch:pattern> + <sch:title>$loc/strings/M20</sch:title> + <sch:rule context="//gmd:EX_Extent"> + <sch:let name="count" value="count(gmd:description[@gco:nilReason!='missing' or not(@gco:nilReason)])>0 + or count(gmd:geographicElement)>0 + or count(gmd:temporalElement)>0 + or count(gmd:verticalElement)>0"/> + <sch:assert + test="$count" + >$loc/strings/alert.M20</sch:assert> + <sch:report + test="$count" + >$loc/strings/report.M20</sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 1 --> + <sch:pattern> + <sch:title>$loc/strings/M21</sch:title> + <sch:rule context="//gmd:MD_DataIdentification|//*[contains(@gco:isoType, 'MD_DataIdentification')]"> + <sch:let name="extent" value="(not(../../gmd:hierarchyLevel) + or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='dataset' + or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='') + and (count(gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox) + + count (gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicDescription))=0"/> + <sch:assert + test="$extent = false()" see="geonet:child[@name='extent']/@uuid" + >$loc/strings/alert.M21</sch:assert> + <sch:report + test="$extent = false()" + >$loc/strings/report.M21</sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 2 --> + <sch:pattern> + <sch:title>$loc/strings/M22</sch:title> + <sch:rule context="//gmd:MD_DataIdentification|//*[contains(@gco:isoType, 'MD_DataIdentification')]"> + <sch:let name="topic" value="(not(../../gmd:hierarchyLevel) + or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='dataset' + or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='series' + or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='' ) + and not(gmd:topicCategory)"/> + <sch:assert + test="$topic = false()" + >$loc/strings/alert.M6</sch:assert> + <sch:report + test="$topic = false()" + ><sch:value-of select="$loc/strings/report.M6"/> "<sch:value-of select="gmd:topicCategory/gmd:MD_TopicCategoryCode/text()"/>"</sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 3 --> + <sch:pattern> + <sch:title>$loc/strings/M23</sch:title> + <sch:rule context="//gmd:MD_AggregateInformation"> + <sch:assert test="gmd:aggregateDataSetName or gmd:aggregateDataSetIdentifier" + >$loc/strings/alert.M23</sch:assert> + <sch:report test="gmd:aggregateDataSetName or gmd:aggregateDataSetIdentifier" + >$loc/strings/report.M23</sch:report> + </sch:rule> + </sch:pattern> + <!-- anzlic/trunk/gml/3.2.0/gmd/metadataEntity.xsd: --> + <!--<sch:pattern> + <sch:title>$loc/strings/M24</sch:title> + <!-\- UNVERIFIED -\-> + <sch:rule + context="//gmd:MD_Metadata/gmd:language|//*[@gco:isoType='gmd:MD_Metadata']/gmd:language"> + <sch:assert + test=". and ((normalize-space(.) != '') + or (normalize-space(./gco:CharacterString) != '') + or (./gmd:LanguageCode) + or (./@gco:nilReason + and contains('inapplicable missing template unknown withheld',./@gco:nilReason)))" + >$loc/strings/alert.M24</sch:assert> + <!-\- language: documented if not defined by the encoding standard. + It can't be documented by the encoding because GML doesn't + include xml:language. -\-> + </sch:rule> + </sch:pattern>--> + <sch:pattern> + <sch:title>$loc/strings/M25</sch:title> + <!-- UNVERIFIED --> + <sch:rule context="//gmd:MD_Metadata|//*[@gco:isoType='gmd:MD_Metadata']"> + <!-- characterSet: documented if ISO/IEC 10646 not used and not defined by + the encoding standard. Can't tell if XML declaration has an encoding + attribute. --> + </sch:rule> + </sch:pattern> + + <!-- anzlic/trunk/gml/3.2.0/gmd/metadataExtension.xsd--> + <!-- TEST 16 --> + <sch:pattern> + <sch:title>$loc/strings/M26</sch:title> + <sch:rule context="//gmd:MD_ExtendedElementInformation"> + <sch:assert + test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' + or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' + or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') + or (gmd:obligation and ((normalize-space(gmd:obligation) != '') + or (gmd:obligation/gmd:MD_ObligationCode) + or (gmd:obligation/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:obligation/@gco:nilReason))))" + >$loc/strings/alert.M26.obligation</sch:assert> + <sch:assert + test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' + or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' + or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') + or (gmd:maximumOccurrence and ((normalize-space(gmd:maximumOccurrence) != '') + or (normalize-space(gmd:maximumOccurrence/gco:CharacterString) != '') + or (gmd:maximumOccurrence/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:maximumOccurrence/@gco:nilReason))))" + >$loc/strings/alert.M26.maximumOccurence</sch:assert> + <sch:assert + test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' + or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' + or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') + or (gmd:domainValue and ((normalize-space(gmd:domainValue) != '') + or (normalize-space(gmd:domainValue/gco:CharacterString) != '') + or (gmd:domainValue/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:domainValue/@gco:nilReason))))" + >$loc/strings/alert.M26.domainValue</sch:assert> + </sch:rule> + </sch:pattern> + <!-- TEST 17 --> + <sch:pattern> + <sch:title>$loc/strings/M27</sch:title> + <sch:rule context="//gmd:MD_ExtendedElementInformation"> + <sch:let name="condition" value="gmd:obligation/gmd:MD_ObligationCode='conditional' + and (not(gmd:condition) or count(gmd:condition[@gco:nilReason='missing'])>0)"/> + <sch:assert + test="$condition = false()" + > + <sch:value-of select="$loc/strings/alert.M27"/> + </sch:assert> + <sch:report + test="$condition = false()" + > + <sch:value-of select="$loc/strings/report.M27"/> + </sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 18 --> + <sch:pattern> + <sch:title>$loc/strings/M28</sch:title> + <sch:rule context="//gmd:MD_ExtendedElementInformation"> + <sch:let name="domain" value="gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement' and not(gmd:domainCode)"/> + <sch:assert + test="$domain = false()" + >$loc/strings/alert.M28</sch:assert> + <sch:report + test="$domain = false()" + >$loc/strings/report.M28</sch:report> + </sch:rule> + </sch:pattern> + <!-- TEST 19 --> + <sch:pattern> + <sch:title>$loc/strings/M29</sch:title> + <sch:rule context="//gmd:MD_ExtendedElementInformation"> + <sch:let name="shortName" value="gmd:dataType/gmd:MD_DatatypeCode/@codeListValue!='codelistElement' and not(gmd:shortName)"/> + <sch:assert + test="$shortName = false()" + >$loc/strings/alert.M29</sch:assert> + <sch:report + test="$shortName = false()" + >$loc/strings/report.M29</sch:report> + </sch:rule> + </sch:pattern> + <!-- anzlic/trunk/gml/3.2.0/gmd/spatialRepresentation.xsd--> + <!-- TEST 12 --> + <sch:pattern> + <sch:title>$loc/strings/M30</sch:title> + <sch:rule context="//gmd:MD_Georectified"> + <sch:let name="cpd" value="(gmd:checkPointAvailability/gco:Boolean='1' or gmd:checkPointAvailability/gco:Boolean='true') and + (not(gmd:checkPointDescription) or count(gmd:checkPointDescription[@gco:nilReason='missing'])>0)"/> + <sch:assert + test="$cpd = false()" + >$loc/strings/alert.M30</sch:assert> + <sch:report + test="$cpd = false()" + >$loc/strings/report.M30</sch:report> + </sch:rule> + </sch:pattern> + <!-- --> + <sch:pattern> + <sch:title>$loc/strings/M61</sch:title> + <sch:rule context="//gmd:MD_Metadata/gmd:hierarchyLevel|//*[@gco:isoType='gmd:MD_Metadata']/gmd:hierarchyLevel"> + <sch:let name="hl" value="count(../gmd:hierarchyLevel/gmd:MD_ScopeCode[@codeListValue='dataset' or @codeListValue=''])=0 and + (not(../gmd:hierarchyLevelName) or ../gmd:hierarchyLevelName/@gco:nilReason)"/> + <sch:let name="resourceType" value="string-join(../gmd:hierarchyLevel/*/@codeListValue, ',')"/> + + <sch:assert + test="$hl = false()" + >$loc/strings/alert.M61</sch:assert> + <sch:report + test="$hl = false()" + ><sch:value-of select=" $loc/strings/report.M61"/> "<sch:value-of select="$resourceType"/>"</sch:report> + </sch:rule> + </sch:pattern> + + + <sch:pattern> + <sch:title>$loc/strings/requiredElements</sch:title> + <sch:rule context="//gmd:identificationInfo/*/gmd:abstract"> + <sch:let name="text" value="(gco:CharacterString | .//gmd:LocalisedCharacterString)[normalize-space(text()) != '']"/> + <sch:let name="nilReason" value="@gco:nilReason and not(./node())"/> + <sch:assert test="$text or $nilReason"> + <sch:value-of select="$loc/strings/alert.requiredAbstract"/> + </sch:assert> + <sch:report test="$text or $nilReason" > + <sch:value-of select="$loc/strings/report.requiredAbstract"/> + </sch:report> + </sch:rule> + <sch:rule context="//gmd:identificationInfo/*/gmd:citation/*/gmd:title"> + <sch:let name="text" value="(gco:CharacterString | .//gmd:LocalisedCharacterString)[normalize-space(text()) != '']"/> + <sch:let name="nilReason" value="@gco:nilReason and not(./node())"/> + <sch:assert test="$text or $nilReason"> + <sch:value-of select="$loc/strings/alert.requiredTitle"/> + </sch:assert> + <sch:report test="$text or $nilReason" > + <sch:value-of select="$loc/strings/report.requiredTitle"/> + </sch:report> + </sch:rule> + <sch:rule context="//gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:date"> + <sch:let name="text" value="gco:Date|gco:DateTime"/> + <sch:let name="nilReason" value="@gco:nilReason and not(./node())"/> + <sch:assert test="$text or $nilReason"> + <sch:value-of select="$loc/strings/alert.requiredDate"/> + </sch:assert> + <sch:report test="$text or $nilReason" > + <sch:value-of select="$loc/strings/report.requiredDate"/> + </sch:report> + </sch:rule> + <sch:rule context="//gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:dateType"> + <sch:let name="text" value="gmd:CI_DateTypeCode"/> + <sch:let name="nilReason" value="@gco:nilReason and not(./node())"/> + <sch:assert test="$text or $nilReason"> + <sch:value-of select="$loc/strings/alert.requiredDateType"/> + </sch:assert> + <sch:report test="$text or $nilReason" > + <sch:value-of select="$loc/strings/report.requiredDateType"/> + </sch:report> + </sch:rule> + <sch:rule context="/*/gmd:contact"> + <sch:assert test="node() | @gco:nilReason"> + <sch:value-of select="$loc/strings/alert.requiredContact"/> + </sch:assert> + <sch:report test="node() | @gco:nilReason" > + <sch:value-of select="$loc/strings/report.requiredContact"/> + </sch:report> + </sch:rule> + <sch:rule context="/*/gmd:language"> + <sch:assert test="node() | @gco:nilReason"> + <sch:value-of select="$loc/strings/alert.requiredLanguage"/> + </sch:assert> + <sch:report test="node() | @gco:nilReason" > + <sch:value-of select="$loc/strings/report.requiredLanguage"/> + </sch:report> + </sch:rule> + <sch:rule context="//gmd:identificationInfo/*/gmd:language"> + <sch:assert test="node() | @gco:nilReason"> + <sch:value-of select="$loc/strings/alert.requiredLanguage"/> + </sch:assert> + <sch:report test="node() | @gco:nilReason" > + <sch:value-of select="$loc/strings/report.requiredLanguage"/> + </sch:report> + </sch:rule> + </sch:pattern> + + <sch:pattern> + <sch:title>$loc/strings/requireCitation</sch:title> + <sch:rule context="//gmd:identificationInfo/*/gmd:citation"> + <sch:assert test="gmd:CI_Citation | @gco:nilReason"> + <sch:value-of select="$loc/strings/alert.requiredCitation"/> + </sch:assert> + <sch:report test="gmd:CI_Citation | @gco:nilReason" > + <sch:value-of select="$loc/strings/report.requiredCitation"/> + </sch:report> + </sch:rule> + </sch:pattern> + +</sch:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-url-check.sch b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-url-check.sch new file mode 100644 index 00000000000..04599e7c2bf --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/schematron/schematron-rules-url-check.sch @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron"> + + <sch:title xmlns="http://www.w3.org/2001/XMLSchema">URL Validation</sch:title> + <sch:ns prefix="gml" uri="http://www.opengis.net/gml" /> + <sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd" /> + <sch:ns prefix="che" uri="http://www.geocat.ch/2008/che" /> + <sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv" /> + <sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco" /> + <sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork" /> + <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink" /> + <sch:ns prefix="xslutil" uri="java:org.fao.geonet.util.XslUtil" /> + <sch:ns prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance" /> + + <!-- ============================================================= + CHE schematron rules: + ============================================================= --> + + <sch:pattern> + <sch:title>$loc/strings/invalidURLCheck</sch:title> + <!-- Check specification names and status --> + <sch:rule context="//gmd:linkage//che:LocalisedURL[starts-with(text(), 'http')] | //gmd:linkage//gmd:URL[starts-with(text(), 'http')]"> + + <sch:let name="status" value="xslutil:getURLStatusAsString(text())" /> + <sch:let name="isValidUrl" value="xslutil:validateURL(text())" /> + <sch:assert test="$isValidUrl = true()"> + <sch:value-of select="$loc/strings/alert.invalidURL/div" /> + <sch:value-of select="$status"/> - + <sch:value-of select="string(.)"/> + </sch:assert> + <sch:report test="$isValidUrl = true()"> + <sch:value-of select="$loc/strings/alert.validURL/div" /> + '<sch:value-of select="string(.)"/>' + </sch:report> + </sch:rule> + </sch:pattern> + + <sch:pattern> + <sch:title>$loc/strings/invalidURLCheck</sch:title> + <!-- Check specification names and status --> + <sch:rule context="//gco:CharacterString[matches(., 'http|ftp')] | + //gmd:LocalisedCharacterString[matches(., 'http|ftp')]"> + + <sch:let name="isValidUrl" value="xslutil:findAndValidateURLs(text())" /> + + <sch:assert test="$isValidUrl = true()" see="(./ancestor::*[@xsi:type])[1]/geonet:element/@ref"> + <sch:value-of select="$loc/strings/alert.invalidURL/div" /> + '<sch:value-of select="string(.)" />' + </sch:assert> + </sch:rule> + </sch:pattern> + +</sch:schema> diff --git a/iso19139.che/src/main/plugin/iso19139.che/set-uuid.xsl b/iso19139.che/src/main/plugin/iso19139.che/set-uuid.xsl new file mode 100644 index 00000000000..7789b478295 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/set-uuid.xsl @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + version="1.0" + exclude-result-prefixes="gmd"> + + <!-- ================================================================= --> + + <xsl:template match="/root"> + <xsl:apply-templates select="*[name() != 'env']"/> + </xsl:template> + + <!-- ================================================================= --> + + <xsl:template match="che:CHE_MD_Metadata"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="/root/env/uuid"/> + </gco:CharacterString> + </gmd:fileIdentifier> + <xsl:apply-templates select="node()"/> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + + <xsl:template match="gmd:fileIdentifier"/> + + <!-- ================================================================= --> + + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/suggest.xsl b/iso19139.che/src/main/plugin/iso19139.che/suggest.xsl new file mode 100644 index 00000000000..06af94fe58f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/suggest.xsl @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:saxon="http://saxon.sf.net/" + extension-element-prefixes="saxon" + version="2.0"> + + + <!-- Register here the list of process for the schema--> + <xsl:include href="process/keywords-comma-exploder.xsl"/> + <xsl:include href="process/scale-denominator-formatter.xsl"/> + <xsl:include href="process/add-extent-from-geokeywords.xsl"/> + <xsl:include href="process/add-info-from-wms.xsl"/> + <xsl:include href="process/add-service-info-from-wxs.xsl"/> + <xsl:include href="process/inspire-add-conformity.xsl"/> + <xsl:include href="process/linked-data-checker.xsl"/> + <xsl:include href="process/related-metadata-checker.xsl"/> + + + <xsl:variable name="processes"> + <p>keywords-comma-exploder</p> + <p>scale-denominator-formatter</p> + <p>add-extent-from-geokeywords</p> + <p>add-info-from-wms</p> + <p>add-service-info-from-wxs</p> + <p>inspire-add-conformity</p> + <p>linked-data-checker</p> + <p>related-metadata-checker</p> + </xsl:variable> + + <xsl:param name="action" select="'list'"/> + <xsl:param name="process" select="''"/> + + <!-- Analyze or process --> + <xsl:template match="/"> + <xsl:choose> + <xsl:when test="$action= 'list' or $action = 'analyze'"> + <xsl:variable name="root" select="/"/> + + <suggestions> + <!-- Filter process if user ask for a specific one. If not loop over all. --> + <xsl:for-each select="if ($process='') then $processes/p else $processes/p[.=$process]"> + <xsl:variable name="tplName" select="concat($action, '-',.)"/> + <saxon:call-template name="{$tplName}"> + <xsl:with-param name="root" select="$root"/> + <xsl:fallback> + <xsl:message>Fall back as no saxon:call-template exists</xsl:message> + </xsl:fallback> + </saxon:call-template> + </xsl:for-each> + </suggestions> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/14fa2f9e-f963-45b5-a55c-3f8f2e043b9b.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/14fa2f9e-f963-45b5-a55c-3f8f2e043b9b.xml new file mode 100644 index 00000000000..6612a187b4c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/14fa2f9e-f963-45b5-a55c-3f8f2e043b9b.xml @@ -0,0 +1,184 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>14fa2f9e-f963-45b5-a55c-3f8f2e043b9b</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-11-16T16:17:00</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RDP Leitungskataster Wasser &lt;Name&gt;&lt;Gemeinde&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RDP Leitungskataster Wasser &lt;Name&gt;&lt;Gemeinde&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster Wasser: +Modell "SIA405_Was_2004_LK_LU01_minimal"</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster Wasser: +Modell "SIA405_Was_2004_LK_LU01_minimal"</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Pipeline cadastre</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Catasto delle condotte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Cadastre souterrain</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Daten des Leitungskatasters sind nicht öffentlich. Die Daten dürfen ohne schriftliche Beglaubigung des Kontakt „Ressource“ nicht im Zusammenhang mit Bauarbeiten oder ähnlichen Tätigkeiten verwendet werden!</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Daten des Leitungskatasters sind nicht öffentlich. Die Daten dürfen ohne schriftliche Beglaubigung des Kontakt „Ressource“ nicht im Zusammenhang mit Bauarbeiten oder ähnlichen Tätigkeiten verwendet werden!</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="restricted" /> + </gmd:useConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/17e0c6fc-c4dc-464e-8f74-0e7dcb4855e4.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/17e0c6fc-c4dc-464e-8f74-0e7dcb4855e4.xml new file mode 100644 index 00000000000..3688d5bd715 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/17e0c6fc-c4dc-464e-8f74-0e7dcb4855e4.xml @@ -0,0 +1,574 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>17e0c6fc-c4dc-464e-8f74-0e7dcb4855e4</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Centre de Compétence SIT, CCSIT</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Centre de Compétence SIT, CCSIT</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <che:directNumber> + <gco:CharacterString>026 / 305 31 77</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Fribourg</gco:CharacterString> + </gmd:city> + <gmd:administrativeArea> + <gco:CharacterString>Service du cadastre et de la géomatique (SCG)</gco:CharacterString> + </gmd:administrativeArea> + <gmd:postalCode> + <gco:CharacterString>1701</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>Vincent.Grandgirard@fr.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue Joseph-Piller</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>13</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.sysif.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Vincent</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Grandgirard</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SYSIF</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SYSIF</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-01-25T11:38:04</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:dataSetURI gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:dataSetURI> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CH1903+/MN95, Système de coordonnées nationales (EPSG:2056)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">CH1903+/MN95, Système de coordonnées nationales (EPSG:2056)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>GM03 Medium raster canton fribourg</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">GM03 Medium raster canton fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:presentationForm> + <gmd:CI_PresentationFormCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_PresentationFormCode" codeListValue="" /> + </gmd:presentationForm> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:resourceFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>TIFF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:resourceFormat> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>données raster</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">raster file</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Rasterdaten</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">dati in formato raster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">données raster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeListValue="grid" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:distance> + <gco:Distance uom="m" /> + </gmd:distance> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <gmd:environmentDescription xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:environmentDescription> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Fribourg</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>FR</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N91cfb3c634554ac8b79cc2515b5ac587"> + <gml:surfaceMember> + <gml:Polygon gml:id="N91cfb3c634554ac8b79cc2515b5ac587.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.93 46.9 6.924 46.904 6.922 46.906 6.896 46.925 6.929 46.953 6.962 46.927 6.972 46.921 6.978 46.923 6.988 46.918 6.982 46.914 6.984 46.908 7.009 46.889 6.994 46.879 6.999 46.874 7.007 46.873 7.016 46.881 7.032 46.876 7.036 46.873 7.03 46.866 7.039 46.859 7.029 46.851 7.035 46.847 7.038 46.845 7.05 46.855 7.058 46.862 7.067 46.869 7.071 46.873 7.066 46.881 7.062 46.88 7.062 46.884 7.08 46.894 7.074 46.895 7.083 46.896 7.091 46.892 7.1 46.898 7.091 46.904 7.09 46.908 7.084 46.913 7.06 46.937 7.06 46.951 7.056 46.955 7.06 46.956 7.063 46.971 7.041 46.979 7.04 46.98 7.058 46.977 7.09 46.977 7.138 46.983 7.147 46.985 7.16 46.987 7.171 46.991 7.179 46.994 7.187 46.997 7.2 47.002 7.205 47.006 7.217 47.006 7.226 46.999 7.223 46.994 7.229 46.991 7.236 46.985 7.231 46.981 7.223 46.975 7.215 46.971 7.214 46.967 7.195 46.964 7.194 46.961 7.2 46.959 7.206 46.96 7.211 46.957 7.208 46.949 7.21 46.943 7.204 46.938 7.212 46.931 7.211 46.927 7.205 46.922 7.207 46.91 7.204 46.906 7.188 46.9 7.195 46.899 7.2 46.902 7.208 46.903 7.218 46.897 7.223 46.903 7.23 46.904 7.237 46.898 7.257 46.898 7.281 46.89 7.29 46.894 7.309 46.892 7.326 46.894 7.349 46.889 7.354 46.886 7.352 46.876 7.359 46.863 7.349 46.853 7.338 46.85 7.326 46.852 7.323 46.855 7.331 46.858 7.316 46.863 7.312 46.856 7.302 46.852 7.33 46.835 7.33 46.83 7.32 46.825 7.317 46.814 7.302 46.794 7.303 46.789 7.305 46.783 7.292 46.774 7.296 46.765 7.303 46.76 7.303 46.754 7.304 46.748 7.297 46.737 7.299 46.723 7.308 46.717 7.35 46.712 7.346 46.699 7.36 46.698 7.377 46.689 7.373 46.68 7.376 46.675 7.371 46.669 7.369 46.656 7.377 46.656 7.358 46.643 7.346 46.655 7.324 46.655 7.33 46.642 7.323 46.637 7.313 46.637 7.312 46.622 7.318 46.616 7.315 46.6 7.321 46.592 7.313 46.589 7.308 46.581 7.299 46.579 7.281 46.584 7.26 46.563 7.237 46.554 7.223 46.548 7.208 46.533 7.192 46.547 7.171 46.533 7.159 46.527 7.148 46.528 7.136 46.509 7.123 46.499 7.11 46.495 7.1 46.487 7.078 46.489 7.072 46.486 7.066 46.489 7.061 46.487 7.023 46.462 7.018 46.447 6.984 46.438 6.992 46.449 6.98 46.459 6.978 46.473 6.981 46.475 6.975 46.479 6.971 46.491 6.962 46.497 6.948 46.501 6.934 46.502 6.925 46.508 6.91 46.512 6.901 46.513 6.896 46.508 6.897 46.519 6.883 46.513 6.882 46.513 6.866 46.501 6.863 46.494 6.858 46.493 6.848 46.494 6.833 46.505 6.83 46.512 6.824 46.512 6.812 46.526 6.824 46.541 6.832 46.537 6.851 46.541 6.855 46.541 6.861 46.531 6.867 46.541 6.868 46.542 6.888 46.558 6.893 46.559 6.902 46.561 6.898 46.571 6.885 46.562 6.874 46.565 6.872 46.57 6.865 46.576 6.853 46.582 6.842 46.582 6.841 46.58 6.835 46.575 6.829 46.577 6.814 46.586 6.813 46.578 6.799 46.574 6.795 46.575 6.799 46.584 6.801 46.593 6.798 46.6 6.802 46.601 6.804 46.609 6.797 46.634 6.803 46.645 6.799 46.649 6.818 46.648 6.828 46.66 6.838 46.663 6.844 46.661 6.854 46.656 6.863 46.658 6.872 46.673 6.865 46.676 6.863 46.681 6.866 46.684 6.873 46.683 6.881 46.69 6.893 46.7 6.892 46.703 6.898 46.708 6.921 46.722 6.922 46.724 6.934 46.732 6.936 46.733 6.941 46.745 6.938 46.749 6.931 46.754 6.911 46.753 6.908 46.758 6.914 46.763 6.92 46.76 6.929 46.767 6.939 46.782 6.951 46.785 6.959 46.79 6.956 46.793 6.967 46.803 6.958 46.811 6.958 46.819 6.965 46.828 6.971 46.824 6.985 46.822 6.993 46.83 6.985 46.841 6.992 46.848 6.99 46.85 6.983 46.846 6.976 46.847 6.982 46.867 6.989 46.873 6.987 46.875 6.974 46.887 6.962 46.884 6.959 46.879 6.97 46.867 6.965 46.865 6.939 46.89 6.926 46.893 6.924 46.895 6.93 46.9</gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:posList>7.124 46.901 7.138 46.908 7.136 46.917 7.132 46.919 7.115 46.916 7.113 46.911 7.119 46.902 7.124 46.901</gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="N91cfb3c634554ac8b79cc2515b5ac587.2"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.767 46.809 6.742 46.827 6.78 46.853 6.866 46.909 6.891 46.887 6.904 46.879 6.911 46.881 6.921 46.871 6.912 46.867 6.892 46.865 6.896 46.861 6.913 46.866 6.93 46.854 6.919 46.847 6.908 46.835 6.905 46.824 6.911 46.813 6.905 46.806 6.907 46.805 6.913 46.804 6.92 46.81 6.931 46.806 6.917 46.787 6.911 46.78 6.907 46.783 6.894 46.777 6.877 46.776 6.864 46.781 6.864 46.784 6.853 46.786 6.843 46.779 6.84 46.781 6.833 46.775 6.818 46.778 6.814 46.779 6.805 46.786 6.798 46.783 6.783 46.793 6.776 46.79 6.787 46.8 6.784 46.803 6.779 46.801 6.777 46.803 6.767 46.809</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="N91cfb3c634554ac8b79cc2515b5ac587.3"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.829 46.753 6.829 46.756 6.844 46.765 6.846 46.771 6.85 46.775 6.86 46.766 6.86 46.764 6.868 46.76 6.873 46.758 6.882 46.75 6.867 46.733 6.868 46.728 6.862 46.725 6.852 46.726 6.852 46.727 6.838 46.733 6.828 46.735 6.817 46.733 6.811 46.728 6.806 46.727 6.788 46.728 6.794 46.736 6.798 46.734 6.816 46.738 6.829 46.753</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="N91cfb3c634554ac8b79cc2515b5ac587.4"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.759 46.725 6.749 46.732 6.768 46.744 6.773 46.751 6.786 46.748 6.784 46.735 6.771 46.721 6.763 46.717 6.759 46.722 6.759 46.725</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 546871.0,143063.0,595318.0,206170.0--> + <gmd:westBoundLongitude> + <gco:Decimal>6.742</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>7.377</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>46.438</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.006</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_CoverageDescription> + <gmd:attributeDescription> + <gco:RecordType /> + </gmd:attributeDescription> + <gmd:contentType> + <gmd:MD_CoverageContentTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CoverageContentTypeCode" codeListValue="" /> + </gmd:contentType> + </che:CHE_MD_CoverageDescription> + </gmd:contentInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>TIFF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:metadataMaintenance xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + <gmd:dateOfNextUpdate> + <gco:Date /> + </gmd:dateOfNextUpdate> + </che:CHE_MD_MaintenanceInformation> + </gmd:metadataMaintenance> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:internalReference gco:nilReason="missing"> + <gco:CharacterString /> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/182b5658-0eab-44c9-acb0-5d67358c5bde.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/182b5658-0eab-44c9-acb0-5d67358c5bde.xml new file mode 100644 index 00000000000..ea1ce52262a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/182b5658-0eab-44c9-acb0-5d67358c5bde.xml @@ -0,0 +1,719 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" xsi:schemaLocation="http://www.geocat.ch/2008/che ../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>182b5658-0eab-44c9-acb0-5d67358c5bde</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Raumentwicklung und Geoinformation (SG)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Raumentwicklung und Geoinformation (SG)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41(0)58 229 31 47</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41(0)58 229 45 99</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>St. Gallen</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>geodaten@sg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Lämmlisbrunnenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>54</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo. - Fr. von 8:00 - 17:00 Uhr</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="partner" /> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AREG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AREG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2011-08-10T14:35:00</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:2056</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:2056</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + <gmd:codeSpace> + <gco:CharacterString>https://www.epsg.org/</gco:CharacterString> + </gmd:codeSpace> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:4326</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:4326</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + <gmd:codeSpace> + <gco:CharacterString>https://www.epsg.org/</gco:CharacterString> + </gmd:codeSpace> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG: 21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG: 21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + <gmd:codeSpace> + <gco:CharacterString>https://www.epsg.org/</gco:CharacterString> + </gmd:codeSpace> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Vorlage: Geodienste Kanton St. Gallen</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Vorlage: Geodienste Kanton St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2016-01-09</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2016-08-09</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="revision" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- kurze Beschreibung des Geodienstes --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- kurze Beschreibung des Geodienstes --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Einbindung in verschiedene GIS Viewer oder Applikationen mit WMS/WFS Unterstützung.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Einbindung in verschiedene GIS Viewer oder Applikationen mit WMS/WFS Unterstützung.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Raumentwicklung und Geoinformation (SG)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Raumentwicklung und Geoinformation (SG)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41(0)58 229 31 47</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41(0)58 229 45 99</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>St. Gallen</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>geodaten@sg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Lämmlisbrunnenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>54</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo. - Fr. von 8:00 - 17:00 Uhr</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="partner" /> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AREG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AREG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.3.0</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:restrictions> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsbedingungen betreffend Geodaten des Kanton St.Gallen: http://www.geoinformation.sg.ch/home/datenbezug/agb.html</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsbedingungen betreffend Geodaten des Kanton St.Gallen: http://www.geoinformation.sg.ch/home/datenbezug/agb.html</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>offen (für registrierte Nutzer)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">offen (für registrierte Nutzer)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Registrierung möglich unter: http://www.geoinformation.sg.ch/home/datenbezug/geodienste/registrierung.html</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Registrierung möglich unter: http://www.geoinformation.sg.ch/home/datenbezug/geodienste/registrierung.html</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </srv:restrictions> + <srv:keywords> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton St.Gallen, SG, Wanderwege</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton St.Gallen, SG, Wanderwege</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + </gmd:MD_Keywords> + </srv:keywords> + <srv:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>St. Gallen</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N2da911f743f5439a94dbe432691c8b18"> + <gml:surfaceMember> + <gml:Polygon gml:id="N2da911f743f5439a94dbe432691c8b18.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>9.277 46.907 9.267 46.903 9.249 46.916 9.253 46.927 9.25 46.935 9.239 46.941 9.237 46.955 9.246 46.959 9.248 47.0 9.241 47.018 9.236 47.024 9.23 47.026 9.22 47.033 9.202 47.035 9.181 47.026 9.156 47.03 9.138 47.039 9.154 47.047 9.17 47.051 9.182 47.058 9.185 47.064 9.192 47.073 9.186 47.098 9.189 47.116 9.19 47.124 9.136 47.132 9.099 47.133 9.086 47.131 9.072 47.13 9.05 47.142 9.008 47.172 9.005 47.173 8.981 47.183 8.97 47.179 8.962 47.184 8.958 47.199 8.965 47.198 8.969 47.212 8.974 47.213 8.966 47.217 8.941 47.218 8.841 47.208 8.823 47.211 8.809 47.22 8.808 47.22 8.796 47.239 8.803 47.247 8.809 47.248 8.828 47.25 8.855 47.244 8.87 47.245 8.874 47.25 8.885 47.253 8.909 47.254 8.936 47.26 8.949 47.281 8.935 47.288 8.949 47.292 8.957 47.304 8.975 47.307 8.985 47.319 8.977 47.327 8.974 47.347 8.96 47.356 8.951 47.372 8.944 47.376 8.971 47.391 8.973 47.405 8.979 47.412 8.989 47.411 8.993 47.422 8.99 47.429 9.0 47.432 8.999 47.435 9.012 47.434 9.022 47.442 9.026 47.437 9.034 47.435 9.038 47.441 9.054 47.443 9.062 47.446 9.044 47.454 9.027 47.458 9.028 47.461 9.028 47.465 9.03 47.467 9.008 47.472 9.012 47.49 9.03 47.49 9.042 47.496 9.043 47.496 9.055 47.488 9.082 47.495 9.091 47.483 9.099 47.486 9.113 47.484 9.118 47.48 9.129 47.484 9.153 47.487 9.166 47.504 9.172 47.503 9.171 47.497 9.177 47.495 9.178 47.497 9.181 47.497 9.184 47.492 9.208 47.489 9.209 47.48 9.225 47.484 9.237 47.481 9.239 47.481 9.251 47.474 9.263 47.475 9.279 47.481 9.298 47.477 9.321 47.491 9.318 47.5 9.309 47.497 9.308 47.501 9.31 47.508 9.317 47.509 9.303 47.516 9.29 47.507 9.272 47.508 9.269 47.512 9.28 47.512 9.282 47.521 9.293 47.523 9.31 47.524 9.323 47.53 9.338 47.529 9.339 47.531 9.342 47.522 9.354 47.52 9.346 47.508 9.339 47.507 9.338 47.501 9.356 47.501 9.356 47.503 9.365 47.502 9.374 47.5 9.366 47.485 9.382 47.485 9.392 47.479 9.399 47.478 9.406 47.492 9.418 47.498 9.421 47.496 9.434 47.506 9.503 47.547 9.515 47.537 9.551 47.537 9.561 47.5 9.561 47.499 9.564 47.493 9.577 47.486 9.594 47.464 9.603 47.462 9.609 47.471 9.622 47.458 9.656 47.454 9.659 47.449 9.651 47.443 9.644 47.435 9.651 47.417 9.652 47.405 9.674 47.391 9.673 47.38 9.658 47.369 9.624 47.366 9.6 47.346 9.587 47.316 9.566 47.304 9.556 47.298 9.543 47.278 9.531 47.271 9.53 47.269 9.521 47.245 9.51 47.232 9.49 47.198 9.488 47.19 9.486 47.181 9.495 47.157 9.503 47.147 9.515 47.122 9.516 47.115 9.52 47.098 9.513 47.085 9.474 47.066 9.472 47.062 9.476 47.052 9.477 47.049 9.485 47.04 9.492 47.034 9.51 47.01 9.546 46.977 9.524 46.973 9.517 46.968 9.518 46.956 9.505 46.954 9.498 46.945 9.478 46.921 9.479 46.916 9.488 46.912 9.475 46.906 9.468 46.897 9.467 46.886 9.454 46.884 9.454 46.877 9.449 46.873 9.432 46.885 9.414 46.891 9.382 46.898 9.343 46.898 9.339 46.902 9.326 46.901 9.291 46.907 9.277 46.907</gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:posList>9.583 47.41 9.605 47.414 9.589 47.422 9.589 47.425 9.618 47.437 9.626 47.439 9.63 47.44 9.63 47.444 9.589 47.458 9.589 47.459 9.577 47.463 9.562 47.463 9.553 47.464 9.546 47.463 9.543 47.469 9.533 47.468 9.529 47.465 9.524 47.452 9.509 47.449 9.495 47.442 9.468 47.438 9.452 47.431 9.435 47.434 9.435 47.422 9.426 47.407 9.4 47.401 9.372 47.408 9.358 47.402 9.34 47.4 9.325 47.4 9.303 47.395 9.294 47.397 9.266 47.401 9.252 47.401 9.236 47.396 9.233 47.398 9.232 47.388 9.219 47.385 9.221 47.373 9.21 47.363 9.191 47.362 9.196 47.354 9.192 47.351 9.205 47.342 9.225 47.342 9.233 47.332 9.21 47.321 9.218 47.308 9.217 47.303 9.224 47.293 9.206 47.276 9.234 47.265 9.275 47.269 9.297 47.257 9.309 47.259 9.308 47.255 9.324 47.247 9.343 47.249 9.35 47.245 9.37 47.24 9.382 47.234 9.402 47.238 9.412 47.245 9.445 47.255 9.473 47.271 9.484 47.283 9.489 47.302 9.496 47.306 9.493 47.313 9.498 47.319 9.503 47.337 9.503 47.347 9.502 47.354 9.499 47.364 9.508 47.393 9.509 47.395 9.542 47.4 9.548 47.393 9.555 47.396 9.567 47.4 9.583 47.409 9.583 47.41</gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing> + <gml:posList>9.464 47.484 9.476 47.489 9.449 47.501 9.45 47.492 9.465 47.487 9.464 47.484</gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 702753.0,193270.0,768722.0,268320.0--> + <gmd:westBoundLongitude> + <gco:Decimal>8.796</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.674</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>46.873</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.547</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </srv:extent> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geodienste.sg.ch/wss/service/SG00001_WMS/guest?request=GetCapabilities&amp;service=WMS</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>PNG</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>GIF - Graphics Interchange Format</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>JPG</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>TIFF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>SVG-XML</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>BMP</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>Exportformat</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Raumentwicklung und Geoinformation (SG)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Raumentwicklung und Geoinformation (SG)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41(0)58 229 31 47</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41(0)58 229 45 99</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>St. Gallen</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>geodaten@sg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Lämmlisbrunnenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>54</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo. - Fr. von 8:00 - 17:00 Uhr</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="partner" /> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AREG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AREG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geodienste.sg.ch/wss/service/SG00001_WMS/httpauth?</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Link zur Ressource</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Link zur Ressource</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geodienste.sg.ch/wss/service/metadaten/guest/vorschau/SG00001.V.jpg</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vorschau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vorschau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geodienste.sg.ch/wss/service/metadaten/guest/legenden/SG00001.L.pdf</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Legende</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Legende</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/186c31e1-6d17-4943-a2e1-3d1043396ade.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/186c31e1-6d17-4943-a2e1-3d1043396ade.xml new file mode 100644 index 00000000000..d21108312a7 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/186c31e1-6d17-4943-a2e1-3d1043396ade.xml @@ -0,0 +1,296 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>186c31e1-6d17-4943-a2e1-3d1043396ade</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-10-26T15:09:06</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RDP Baulinien &lt;Gemeinde&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RDP Baulinien &lt;Gemeinde&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Baulinien begrenzen die Bebauung und dienen insbesondere der Sicherung bestehender und geplanter Anlagen und Flächen sowie der baulichen Gestaltung. Die Strassen- und Baulinienpläne dienen dazu, den Strassenraum zu gestalten oder Gelände für geplante Strassen freizuhalten. + +Baulinien können mit folgenden Planungsinstrumenten erlassen werden: +•Baulinien, die im Rahmen von Strassen- und Baulinienplänen erlassen wurden +•Baulinien, die im Rahmen von kommunalen Nutzungsplanungen erlassen wurden +•Baulinien, die im Rahmen von Bebauungsplänen erlassen wurden + +Siehe "Richtlinien zur Erstellung digitaler Baulinien", Modell "Baulinien_LU_02."</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Baulinien begrenzen die Bebauung und dienen insbesondere der Sicherung bestehender und geplanter Anlagen und Flächen sowie der baulichen Gestaltung. Die Strassen- und Baulinienpläne dienen dazu, den Strassenraum zu gestalten oder Gelände für geplante Strassen freizuhalten. + +Baulinien können mit folgenden Planungsinstrumenten erlassen werden: +•Baulinien, die im Rahmen von Strassen- und Baulinienplänen erlassen wurden +•Baulinien, die im Rahmen von kommunalen Nutzungsplanungen erlassen wurden +•Baulinien, die im Rahmen von Bebauungsplänen erlassen wurden + +Siehe "Richtlinien zur Erstellung digitaler Baulinien", Modell "Baulinien_LU_02."</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Baulinie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Building line</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Baulinie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Linea di edificazione</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Alignement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Zonenplan</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">plan of zones</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Zonenplan</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">piano delle zone</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Plan de zones</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bebauungsplan</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">allocation plan</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bebauungsplan</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">piano regolatore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">plan d'affectation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Den Daten der digitalen Baulinien kommt keine Rechtswirkung zu. Rechtswirkung haben die genehmigten Originalpläne. Der Benutzer von digitalen Zonenplänen ist verantwortlich, deren Richtigkeit anhand der rechtskräftigen Originalpläne zu überprüfen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Den Daten der digitalen Baulinien kommt keine Rechtswirkung zu. Rechtswirkung haben die genehmigten Originalpläne. Der Benutzer von digitalen Zonenplänen ist verantwortlich, deren Richtigkeit anhand der rechtskräftigen Originalpläne zu überprüfen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="copyright" /> + </gmd:useConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geo.lu.ch/app/raumdaten/index.php?NAME=****&amp;VIEW=PLANEN</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoportal Gemeinde</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoportal Gemeinde</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/1d01fe5d-5aae-4be8-90c2-792479b429c3.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/1d01fe5d-5aae-4be8-90c2-792479b429c3.xml new file mode 100644 index 00000000000..fb12050bc9f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/1d01fe5d-5aae-4be8-90c2-792479b429c3.xml @@ -0,0 +1,1078 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>1d01fe5d-5aae-4be8-90c2-792479b429c3</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Bau und Infrastruktur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+423 236 60 72</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+423 236 60 79</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Vaduz</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9490</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>LI</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>vermessung@llv.li</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Städtle</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>38</gco:CharacterString> + </che:streetNumber> + <che:postBox> + <gco:CharacterString>684</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>8:00-11:30 und 13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualLastName> + <gco:CharacterString>Fachbereich Vermessung und Geoinformation</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>ABI (LLV)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">ABI (LLV)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2014-10-16T13:43:15</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="fullPlanarGraph" /> + </gmd:topologyLevel> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="surface" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer>1</gco:Integer> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.opengis.net/def/crs/EPSG/0/21782</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.opengis.net/def/crs/EPSG/0/21782</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.opengis.net/def/crs/EPSG/0/4936</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem /> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Vorlage Fürstentum Liechtenstein --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Vorlage Fürstentum Liechtenstein --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Alternativtitel oder Feld löschen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Alternativtitel oder Feld löschen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2013-11-13</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>abi:template1</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurzbeschreibung des Datensatzes --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurzbeschreibung des Datensatzes --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zweck, Verwendungszweck --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zweck, Verwendungszweck --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Bau und Infrastruktur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+423 236 60 72</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+423 236 60 79</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Vaduz</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9490</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>LI</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>vermessung@llv.li</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Städtle</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>38</gco:CharacterString> + </che:streetNumber> + <che:postBox> + <gco:CharacterString>684</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>8:00-11:30 und 13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualLastName> + <gco:CharacterString>Fachbereich Vermessung und Geoinformation</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>ABI (LLV)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">ABI (LLV)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="asNeeded" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vektor</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">vector</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vektor</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">vettore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">vecteur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INSPIRE</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">INSPIRE</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INSPIRE</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">INSPIRE</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">INSPIRE</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Koordinatenreferenzsysteme</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Coordinate reference systems</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Koordinatenreferenzsysteme</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Sistemi di coordinate</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Référentiels de coordonnées</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="theme" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET - INSPIRE themes, version 1.0</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-06-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external.theme.inspire-theme">geonetwork.thesaurus.external.theme.inspire-theme</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>gebührenpflichtig</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">gebührenpflichtig</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="license" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="license" /> + </gmd:useConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>keine Einschränkung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">keine Einschränkung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <che:legislationConstraints> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="LI" /> + </che:country> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung vom 30. August 2011 über die Gebühren für die Nutzung der Geodateninfrastruktur Liechtenstein</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung vom 30. August 2011 über die Gebühren für die Nutzung der Geodateninfrastruktur Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2011-08-30</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>500</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>climatologyMeteorologyAtmosphere</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Liechtenstein</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Liechtenstein</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N264e552faa2249cd91ad2ca203ffb2f6"> + <gml:surfaceMember> + <gml:Polygon gml:id="N264e552faa2249cd91ad2ca203ffb2f6.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>9.536 47.266 9.537 47.266 9.538 47.266 9.539 47.266 9.54 47.265 9.54 47.264 9.54 47.263 9.54 47.262 9.539 47.262 9.54 47.262 9.54 47.261 9.543 47.26 9.543 47.259 9.544 47.259 9.544 47.258 9.545 47.258 9.546 47.258 9.548 47.257 9.549 47.257 9.55 47.256 9.551 47.256 9.552 47.255 9.553 47.254 9.554 47.253 9.555 47.253 9.556 47.253 9.557 47.252 9.557 47.251 9.558 47.251 9.56 47.251 9.56 47.25 9.561 47.249 9.562 47.249 9.562 47.248 9.562 47.247 9.563 47.246 9.564 47.246 9.567 47.243 9.567 47.242 9.567 47.241 9.566 47.24 9.566 47.239 9.565 47.238 9.564 47.237 9.562 47.237 9.562 47.236 9.561 47.235 9.56 47.235 9.56 47.234 9.559 47.233 9.558 47.233 9.558 47.232 9.558 47.231 9.557 47.231 9.557 47.23 9.556 47.23 9.556 47.229 9.555 47.229 9.554 47.227 9.555 47.227 9.553 47.226 9.553 47.225 9.552 47.225 9.553 47.225 9.552 47.224 9.553 47.224 9.554 47.224 9.555 47.224 9.555 47.223 9.556 47.223 9.557 47.223 9.558 47.224 9.559 47.224 9.56 47.224 9.561 47.223 9.562 47.223 9.563 47.222 9.563 47.221 9.564 47.221 9.565 47.221 9.566 47.22 9.567 47.22 9.568 47.22 9.569 47.22 9.569 47.219 9.57 47.218 9.571 47.218 9.571 47.217 9.572 47.216 9.573 47.216 9.573 47.215 9.574 47.215 9.576 47.214 9.577 47.212 9.577 47.211 9.578 47.21 9.578 47.209 9.579 47.209 9.58 47.208 9.581 47.208 9.582 47.207 9.582 47.206 9.584 47.206 9.585 47.205 9.583 47.203 9.582 47.202 9.582 47.201 9.581 47.2 9.581 47.199 9.581 47.198 9.58 47.197 9.58 47.196 9.579 47.196 9.579 47.195 9.577 47.194 9.577 47.193 9.576 47.193 9.574 47.191 9.573 47.191 9.573 47.188 9.573 47.187 9.574 47.186 9.574 47.185 9.573 47.184 9.574 47.183 9.574 47.182 9.574 47.18 9.574 47.179 9.574 47.178 9.573 47.177 9.574 47.177 9.573 47.177 9.574 47.177 9.573 47.176 9.572 47.175 9.571 47.175 9.57 47.175 9.568 47.174 9.568 47.173 9.567 47.173 9.566 47.172 9.565 47.171 9.565 47.17 9.566 47.17 9.567 47.17 9.568 47.17 9.569 47.17 9.57 47.17 9.571 47.17 9.573 47.17 9.575 47.17 9.576 47.17 9.577 47.171 9.578 47.171 9.579 47.171 9.582 47.169 9.584 47.168 9.589 47.166 9.591 47.165 9.592 47.164 9.597 47.163 9.598 47.162 9.599 47.161 9.601 47.159 9.601 47.158 9.6 47.157 9.601 47.156 9.602 47.156 9.602 47.155 9.603 47.154 9.603 47.153 9.603 47.152 9.603 47.151 9.605 47.15 9.605 47.149 9.606 47.149 9.608 47.148 9.609 47.148 9.61 47.148 9.611 47.147 9.612 47.147 9.614 47.148 9.615 47.148 9.617 47.149 9.618 47.149 9.618 47.15 9.619 47.15 9.619 47.151 9.62 47.151 9.62 47.152 9.621 47.152 9.622 47.151 9.621 47.151 9.621 47.15 9.622 47.15 9.623 47.149 9.623 47.148 9.623 47.147 9.624 47.147 9.624 47.146 9.625 47.146 9.626 47.146 9.624 47.143 9.623 47.143 9.623 47.142 9.623 47.141 9.625 47.139 9.625 47.138 9.624 47.136 9.624 47.135 9.625 47.134 9.625 47.133 9.625 47.132 9.626 47.132 9.626 47.131 9.628 47.131 9.629 47.131 9.63 47.131 9.63 47.13 9.631 47.13 9.631 47.129 9.632 47.129 9.633 47.129 9.634 47.128 9.635 47.128 9.634 47.127 9.633 47.127 9.633 47.125 9.632 47.124 9.631 47.124 9.63 47.123 9.628 47.122 9.628 47.121 9.627 47.121 9.626 47.12 9.626 47.119 9.625 47.119 9.625 47.118 9.625 47.117 9.625 47.116 9.625 47.115 9.624 47.114 9.624 47.113 9.623 47.113 9.623 47.112 9.621 47.111 9.621 47.11 9.622 47.109 9.622 47.108 9.623 47.108 9.625 47.108 9.626 47.108 9.627 47.108 9.628 47.108 9.629 47.108 9.628 47.107 9.628 47.106 9.629 47.105 9.63 47.105 9.631 47.104 9.632 47.103 9.633 47.103 9.633 47.102 9.634 47.102 9.634 47.101 9.635 47.1 9.635 47.099 9.636 47.097 9.636 47.096 9.636 47.095 9.636 47.093 9.635 47.092 9.635 47.091 9.633 47.086 9.633 47.085 9.633 47.083 9.629 47.083 9.626 47.083 9.623 47.083 9.623 47.082 9.621 47.08 9.619 47.078 9.618 47.078 9.617 47.079 9.616 47.079 9.615 47.079 9.614 47.079 9.613 47.079 9.612 47.079 9.611 47.079 9.611 47.078 9.612 47.078 9.611 47.077 9.611 47.076 9.611 47.075 9.61 47.075 9.611 47.075 9.611 47.074 9.612 47.074 9.612 47.073 9.613 47.073 9.613 47.072 9.613 47.071 9.613 47.07 9.613 47.069 9.613 47.068 9.612 47.068 9.611 47.067 9.611 47.066 9.611 47.065 9.612 47.065 9.612 47.064 9.611 47.064 9.61 47.063 9.609 47.062 9.607 47.061 9.606 47.061 9.605 47.061 9.604 47.062 9.603 47.062 9.603 47.061 9.602 47.061 9.601 47.061 9.601 47.06 9.6 47.06 9.6 47.059 9.598 47.059 9.597 47.059 9.596 47.058 9.595 47.058 9.594 47.057 9.593 47.057 9.592 47.057 9.591 47.057 9.59 47.056 9.589 47.056 9.589 47.055 9.588 47.055 9.587 47.055 9.586 47.054 9.585 47.054 9.584 47.054 9.583 47.054 9.583 47.053 9.582 47.053 9.581 47.053 9.58 47.053 9.579 47.053 9.578 47.053 9.577 47.053 9.576 47.053 9.575 47.053 9.574 47.053 9.573 47.053 9.572 47.052 9.571 47.052 9.57 47.052 9.569 47.052 9.568 47.052 9.567 47.051 9.566 47.051 9.565 47.051 9.564 47.051 9.564 47.05 9.563 47.05 9.562 47.049 9.561 47.049 9.56 47.049 9.559 47.048 9.558 47.048 9.557 47.049 9.556 47.049 9.556 47.05 9.555 47.05 9.554 47.05 9.554 47.051 9.554 47.052 9.553 47.053 9.554 47.053 9.553 47.054 9.553 47.055 9.553 47.057 9.552 47.058 9.552 47.059 9.551 47.059 9.55 47.06 9.549 47.061 9.548 47.061 9.548 47.062 9.547 47.062 9.546 47.062 9.545 47.062 9.544 47.063 9.543 47.064 9.542 47.064 9.541 47.064 9.54 47.065 9.538 47.065 9.537 47.065 9.536 47.064 9.535 47.064 9.534 47.064 9.533 47.063 9.532 47.063 9.531 47.063 9.521 47.061 9.517 47.06 9.516 47.06 9.515 47.059 9.515 47.058 9.514 47.057 9.512 47.057 9.503 47.056 9.502 47.057 9.501 47.057 9.5 47.057 9.5 47.056 9.499 47.055 9.5 47.054 9.497 47.054 9.495 47.056 9.493 47.057 9.492 47.056 9.491 47.056 9.49 47.055 9.49 47.054 9.488 47.053 9.486 47.05 9.486 47.049 9.484 47.049 9.483 47.051 9.483 47.052 9.482 47.053 9.482 47.055 9.482 47.056 9.481 47.056 9.48 47.055 9.479 47.056 9.477 47.055 9.476 47.053 9.477 47.052 9.476 47.052 9.472 47.06 9.472 47.062 9.472 47.063 9.472 47.064 9.472 47.065 9.473 47.066 9.474 47.066 9.475 47.067 9.476 47.067 9.477 47.068 9.479 47.069 9.482 47.07 9.488 47.072 9.491 47.073 9.493 47.074 9.494 47.075 9.499 47.078 9.505 47.081 9.508 47.083 9.511 47.084 9.513 47.085 9.514 47.086 9.515 47.087 9.516 47.088 9.516 47.089 9.518 47.093 9.518 47.094 9.519 47.095 9.519 47.097 9.52 47.098 9.52 47.1 9.519 47.102 9.519 47.104 9.519 47.106 9.518 47.107 9.516 47.115 9.516 47.116 9.515 47.122 9.514 47.126 9.512 47.13 9.512 47.132 9.511 47.134 9.51 47.136 9.51 47.137 9.509 47.14 9.508 47.141 9.507 47.142 9.506 47.144 9.503 47.147 9.501 47.148 9.5 47.15 9.499 47.151 9.497 47.154 9.495 47.157 9.494 47.159 9.492 47.162 9.491 47.163 9.491 47.165 9.49 47.166 9.489 47.169 9.489 47.171 9.488 47.173 9.488 47.174 9.488 47.175 9.487 47.177 9.487 47.178 9.486 47.179 9.486 47.181 9.486 47.183 9.487 47.186 9.487 47.188 9.488 47.19 9.488 47.191 9.489 47.193 9.489 47.194 9.49 47.196 9.49 47.198 9.491 47.199 9.492 47.2 9.493 47.202 9.494 47.203 9.494 47.204 9.496 47.206 9.497 47.207 9.499 47.21 9.5 47.211 9.5 47.212 9.502 47.22 9.504 47.224 9.51 47.232 9.511 47.232 9.52 47.243 9.521 47.245 9.53 47.263 9.53 47.269 9.53 47.27 9.531 47.271 9.532 47.269 9.533 47.268 9.534 47.268 9.536 47.266</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 754425.0,212925.0,766777.0,237635.0--> + <gmd:westBoundLongitude> + <gco:Decimal>9.472</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.636</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>47.048</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.271</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>DXF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Bau und Infrastruktur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+423 236 60 72</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+423 236 60 79</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Vaduz</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9490</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>LI</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>vermessung@llv.li</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Städtle</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>38</gco:CharacterString> + </che:streetNumber> + <che:postBox> + <gco:CharacterString>684</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>8:00-11:30 und 13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualLastName> + <gco:CharacterString>Fachbereich Vermessung und Geoinformation</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>ABI (LLV)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">ABI (LLV)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.gdi.llv.li/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geodatenportal der Liechtensteinische Landesverwaltung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geodatenportal der Liechtensteinische Landesverwaltung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geodatenportal</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geodatenportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.llv.li/#/1627/datenausgabe</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage ABI, Datenausgabestelle</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage ABI, Datenausgabestelle</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Datenausgabestelle der Liechteinsteinischen Landesverwaltung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Datenausgabestelle der Liechteinsteinischen Landesverwaltung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:level> + <gmd:levelDescription> + <gmd:MD_ScopeDescription> + <gmd:other> + <gco:CharacterString>Alle Ebenen</gco:CharacterString> + </gmd:other> + </gmd:MD_ScopeDescription> + </gmd:levelDescription> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>VERORDNUNG (EG) Nr. 1089/2010 DER KOMMISSION vom 23. November 2010 zur Durchführung der Richtlinie 2007/2/EG des Europäischen Parlaments und des Rates hinsichtlich der Interoperabilität von Geodatensätzen und -diensten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">VERORDNUNG (EG) Nr. 1089/2010 DER KOMMISSION vom 23. November 2010 zur Durchführung der Richtlinie 2007/2/EG des Europäischen Parlaments und des Rates hinsichtlich der Interoperabilität von Geodatensätzen und -diensten</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">REGOLAMENTO (UE) N. 1089/2010 DELLA COMMISSIONE del 23 novembre 2010 recante attuazione della direttiva 2007/2/CE del Parlamento europeo e del Consiglio per quanto riguarda l'interoperabilità dei set di dati territoriali e dei servizi di dati territoriali</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Règlement (UE) n o 1089/2010 de la commission du 23 novembre 2010 portant modalités d'application de la directive 2007/2/ce du Parlement Européen et du conseil en ce qui concerne l'interopérabilité des séries et des services de données géographiques</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2010-12-08</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString>nicht geprüft</gco:CharacterString> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>0</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- wie wurden die Daten erfasst ---</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- wie wurden die Daten erfasst ---</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:metadataMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="asNeeded" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:metadataMaintenance> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/1d9eeaf1-ba48-425f-a260-59995389dc14.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/1d9eeaf1-ba48-425f-a260-59995389dc14.xml new file mode 100644 index 00000000000..1ceff3b1bdd --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/1d9eeaf1-ba48-425f-a260-59995389dc14.xml @@ -0,0 +1,189 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>1d9eeaf1-ba48-425f-a260-59995389dc14</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-11-16T16:24:27</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RDP Leitungskataster Kabelkommunikation &lt;Name&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RDP Leitungskataster Kabelkommunikation &lt;Name&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster Kabelkommunikation: +Modell "SIA405_mit_Erweiterungen_LU01_minimal" +TOPIC SIA405_Kabelkommunikation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster Kabelkommunikation: +Modell "SIA405_mit_Erweiterungen_LU01_minimal" +TOPIC SIA405_Kabelkommunikation</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Pipeline cadastre</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Catasto delle condotte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Cadastre souterrain</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Daten des Leitungskatasters sind nicht öffentlich. Die Daten dürfen ohne schriftliche Beglaubigung des Kontakt „Ressource“ nicht im Zusammenhang mit Bauarbeiten oder ähnlichen Tätigkeiten verwendet werden!</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Daten des Leitungskatasters sind nicht öffentlich. Die Daten dürfen ohne schriftliche Beglaubigung des Kontakt „Ressource“ nicht im Zusammenhang mit Bauarbeiten oder ähnlichen Tätigkeiten verwendet werden!</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="restricted" /> + </gmd:useConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>utilitiesCommunication_Communication</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/2102b2eb-2949-49ef-a785-82a3e654072e.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/2102b2eb-2949-49ef-a785-82a3e654072e.xml new file mode 100644 index 00000000000..33d02ca46f8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/2102b2eb-2949-49ef-a785-82a3e654072e.xml @@ -0,0 +1,563 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" xsi:schemaLocation="http://www.geocat.ch/2008/che ../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>2102b2eb-2949-49ef-a785-82a3e654072e</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:dateStamp> + <gco:DateTime>2016-08-03T10:27:48</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:2049</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:2049</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + <gmd:codeSpace> + <gco:CharacterString>TEST</gco:CharacterString> + </gmd:codeSpace> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 WMS (de) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- GM03 WMS (de) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Raumentwicklung und Geoinformation (SG)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Raumentwicklung und Geoinformation (SG)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41(0)58 229 31 47</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41(0)58 229 45 99</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>St. Gallen</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>geodaten@sg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Lämmlisbrunnenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>54</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo. - Fr. von 8:00 - 17:00 Uhr</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="partner" /> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AREG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AREG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:graphicOverview> + <gmd:MD_BrowseGraphic> + <gmd:fileName> + <gco:CharacterString>https://www.geocat.ch:443/geonetwork/srv/ger//resources.get?uuid=2102b2eb-2949-49ef-a785-82a3e654072e&amp;fname=SG00062.bmp</gco:CharacterString> + </gmd:fileName> + <gmd:fileDescription xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>large_thumbnail</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">large_thumbnail</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:fileDescription> + <gmd:fileType> + <gco:CharacterString>bmp</gco:CharacterString> + </gmd:fileType> + </gmd:MD_BrowseGraphic> + </gmd:graphicOverview> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.1.1</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:extent> + <gmd:EX_Extent /> + </srv:extent> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetMap</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeatureInfo</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess> + <gmd:fees gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:fees> + <gmd:plannedAvailableDateTime> + <gco:Date /> + </gmd:plannedAvailableDateTime> + <gmd:orderingInstructions xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:orderingInstructions> + <gmd:turnaround gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:turnaround> + </gmd:MD_StandardOrderProcess> + </gmd:distributionOrderProcess> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess /> + </gmd:distributionOrderProcess> + <gmd:distributorFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Landestopografie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Federal Office of Topography</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Landestopografie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ufficio federale di topografia</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Bundesamt für Landestopografie</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kundenaufträge Kartografie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Customer Services Cartography</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kundenaufträge Kartografie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Prestations cartographiques</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Lavori di cartografia commissionati da clienti</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Kundenaufträge Kartografie</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 58 469 01 11</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41 58 469 04 59</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>karto@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.swisstopo.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.swisstopo.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.swisstopo.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.swisstopo.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.swisstopo.admin.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>07h45 - 11h45 / 13h30 - 17h00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualLastName> + <gco:CharacterString>karto</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorFormat> + <gmd:distributorFormat> + <gmd:MD_Format> + <gmd:name gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:name> + <gmd:version gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:version> + </gmd:MD_Format> + </gmd:distributorFormat> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:distributor> + <gmd:MD_Distributor /> + </gmd:distributor> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess /> + </gmd:distributionOrderProcess> + <gmd:distributorFormat> + <gmd:MD_Format> + <gmd:name gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:name> + <gmd:version gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:version> + <gmd:formatDistributor> + <gmd:MD_Distributor /> + </gmd:formatDistributor> + </gmd:MD_Format> + </gmd:distributorFormat> + </gmd:MD_Distributor> + </gmd:distributor> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:metadataConstraints /> + <gmd:metadataConstraints> + <gmd:MD_LegalConstraints /> + </gmd:metadataConstraints> + <gmd:metadataConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <che:legislationConstraints> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:title> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:metadataConstraints> + <gmd:metadataConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:metadataConstraints> + <gmd:metadataConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:metadataConstraints> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/35d389c8-bdfe-4a5f-b31e-752c15752a62.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/35d389c8-bdfe-4a5f-b31e-752c15752a62.xml new file mode 100644 index 00000000000..499aba90b47 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/35d389c8-bdfe-4a5f-b31e-752c15752a62.xml @@ -0,0 +1,449 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>35d389c8-bdfe-4a5f-b31e-752c15752a62</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="staticMap" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Confédération Suisse</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType" gco:nilReason="missing"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Master HES-SO</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Lausanne, Provence</gco:CharacterString> + </gmd:city> + <gmd:electronicMailAddress> + <gco:CharacterString>stephane.cretegn@master.hes-so.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <gmd:electronicMailAddress> + <gco:CharacterString>stephane.cretegn@master.hes-so.ch</gco:CharacterString> + </gmd:electronicMailAddress> + </che:CHE_CI_Address> + </gmd:address> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_RoleCode" codeListValue="originator" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Stéphane</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Cretegny</gco:CharacterString> + </che:individualLastName> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2017-04-25T11:37:44</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03Core</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Lausanne_Stephane_Cretegny</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Lausanne_Stephane_Cretegny</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime>2015-01-01T00:00:00</gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime>2017-01-01T00:00:00</gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Carte nationale de la Suisse: Feuille 1243</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Carte nationale de la Suisse: Feuille 1243</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Office fédéral de topographie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Landestopographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>058 469 01 11</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>058 469 04 02</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>andre.schneider@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="resourceProvider" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>André</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Schneider</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Carte nationale</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">National Map</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Landeskarte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">carta nazionale</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Carte nationale</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Carte topographique</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Topographic map</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Topografische Karte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">carta topografica</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Carte topographique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>imageryBaseMapsEarthCover</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>imageryBaseMapsEarthCover_BaseMaps</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>imageryBaseMapsEarthCover_BaseMaps</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Lausanne</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Lausanne</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Lausanne</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="Nc5559bbde68c417c99e15c99e733fb9a"> + <gml:surfaceMember> + <gml:Polygon gml:id="Nc5559bbde68c417c99e15c99e733fb9a.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.657 46.562 6.66 46.567 6.657 46.576 6.653 46.586 6.647 46.59 6.653 46.594 6.657 46.599 6.666 46.601 6.68 46.596 6.7 46.581 6.706 46.581 6.721 46.58 6.718 46.573 6.698 46.543 6.694 46.544 6.671 46.533 6.654 46.513 6.639 46.51 6.642 46.505 6.621 46.508 6.591 46.518 6.587 46.518 6.584 46.521 6.589 46.528 6.595 46.524 6.602 46.525 6.613 46.535 6.612 46.55 6.62 46.551 6.629 46.54 6.647 46.547 6.674 46.538 6.685 46.549 6.686 46.556 6.673 46.558 6.669 46.562 6.674 46.565 6.67 46.567 6.661 46.56 6.657 46.562</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="Nc5559bbde68c417c99e15c99e733fb9a.2"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.586 46.552 6.585 46.561 6.592 46.572 6.603 46.582 6.617 46.582 6.629 46.579 6.63 46.579 6.627 46.572 6.618 46.566 6.611 46.569 6.601 46.57 6.595 46.566 6.597 46.563 6.586 46.552</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 534438.0,150752.0,544986.0,161355.0--> + <gmd:westBoundLongitude> + <gco:Decimal>6.584</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>6.721</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>46.505</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>46.601</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/38a70e4a-72a7-4f08-8f31-38dca226cb38.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/38a70e4a-72a7-4f08-8f31-38dca226cb38.xml new file mode 100644 index 00000000000..ffa7224aa1a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/38a70e4a-72a7-4f08-8f31-38dca226cb38.xml @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>38a70e4a-72a7-4f08-8f31-38dca226cb38</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2014-07-10T09:58:26</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 WMS (fr) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- GM03 WMS (fr) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:edition gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:edition> + <gmd:editionDate> + <gco:Date /> + </gmd:editionDate> + <gmd:ISBN gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:ISBN> + <gmd:ISSN gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:ISSN> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- résumé --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- résumé --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.1.1</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetMap</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeatureInfo</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + <srv:dependsOn /> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/3b18aadc-4494-4be7-80bb-54ed8e3dce4c.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/3b18aadc-4494-4be7-80bb-54ed8e3dce4c.xml new file mode 100644 index 00000000000..494d83092fc --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/3b18aadc-4494-4be7-80bb-54ed8e3dce4c.xml @@ -0,0 +1,478 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>3b18aadc-4494-4be7-80bb-54ed8e3dce4c</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2013-01-11T13:32:48</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="" /> + </gmd:topologyLevel> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer /> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 Medium Vektor --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- GM03 Medium Vektor --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>--Eindeutige ID des Datenbestands (INSPIRE) --</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vektor</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">vector</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vektor</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">vettore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">vecteur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- wenn benutzerdef. ausgewählt --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- wenn benutzerdef. ausgewählt --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess> + <gmd:fees gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:fees> + </gmd:MD_StandardOrderProcess> + </gmd:distributionOrderProcess> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MediumNameCode" codeListValue="" /> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INSPIRE Durchführungsbestimmungen bezüglich Metadaten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INSPIRE Durchführungsbestimmungen bezüglich Metadaten</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-12-03</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>0</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:processStep> + <gmd:LI_ProcessStep> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:dateTime> + <gco:DateTime /> + </gmd:dateTime> + </gmd:LI_ProcessStep> + </gmd:processStep> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:portrayalCatalogueInfo> + <che:CHE_MD_PortrayalCatalogueReference> + <gmd:portrayalCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:portrayalCatalogueCitation> + <che:portrayalCatalogueURL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:portrayalCatalogueURL> + </che:CHE_MD_PortrayalCatalogueReference> + </gmd:portrayalCatalogueInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/3cd0e26f-dfaf-4ccc-b3bc-5bb8d4ca28d0.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/3cd0e26f-dfaf-4ccc-b3bc-5bb8d4ca28d0.xml new file mode 100644 index 00000000000..6bccc2a68b5 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/3cd0e26f-dfaf-4ccc-b3bc-5bb8d4ca28d0.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>3cd0e26f-dfaf-4ccc-b3bc-5bb8d4ca28d0</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2009-12-15T17:33:03</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Obligatorischer Core (de) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Obligatorischer Core (de) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/3ce08348-ca72-4d00-808f-61a875953d91.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/3ce08348-ca72-4d00-808f-61a875953d91.xml new file mode 100644 index 00000000000..3d70e64af0b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/3ce08348-ca72-4d00-808f-61a875953d91.xml @@ -0,0 +1,325 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>3ce08348-ca72-4d00-808f-61a875953d91</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeListValue="nonGeographicDataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Modelldokumentation</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Landestopographie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Landestopographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>058 469 01 11</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>058 469 04 02</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>andre.schneider@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>André</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Schneider</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Landestopographie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Landestopographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>058 469 01 11</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>058 469 03 38</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>pasquale.didonato@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Pasquale</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Di Donato</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2016-12-07T15:09:26</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Modelldokumentation ...</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Modelldokumentation ...</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Documentation de modèle ...</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Das Dokument beschreibt das minimale Geodatenmodell ...</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Das Dokument beschreibt das minimale Geodatenmodell ...</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="local://eng/xml.keyword.get?thesaurus=local._none_.non_validated&amp;id=http%3A%2F%2Fgeocat.ch%2Fconcept%237950c5b9-e991-44cd-b6e4-ee7cbdf96062,http%3A%2F%2Fgeocat.ch%2Fconcept%2311fcc338-bf35-477a-bd4b-e45e76df2dae,http%3A%2F%2Fgeocat.ch%2Fconcept%23b6291656-f6fd-4199-9678-ad9be0fefe9f,http%3A%2F%2Fgeocat.ch%2Fconcept%23d0065481-9a97-417d-aa05-7d10f1893614&amp;multiple=true&amp;lang=eng,ger,ita,fre,roh&amp;textgroupOnly=true" xlink:role="http://www.geonetwork.org/non_valid_obj" /> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mime="java:org.fao.geonet.util.MimeTypeFinder" xmlns:gts="http://www.isotc211.org/2005/gts"> + <gmd:MD_Distribution> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/479ae5bb-fee9-4be3-af0f-ce3a2c0d30d2.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/479ae5bb-fee9-4be3-af0f-ce3a2c0d30d2.xml new file mode 100644 index 00000000000..a96a4907bb2 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/479ae5bb-fee9-4be3-af0f-ce3a2c0d30d2.xml @@ -0,0 +1,590 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>479ae5bb-fee9-4be3-af0f-ce3a2c0d30d2</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2014-03-11T09:39:13</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="" /> + </gmd:topologyLevel> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer /> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 Medium (Vektor, de) -- test logo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- GM03 Medium (Vektor, de) -- test logo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">test logo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>--Eindeutige ID des Datenbestands (INSPIRE) --</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vektor</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">vector</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vektor</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">vettore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">vecteur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- wenn benutzerdef. ausgewählt --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- wenn benutzerdef. ausgewählt --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:class> + <che:CHE_MD_Class> + <che:name> + <gco:CharacterString>ISO Ansicht "Inhalt" um weitere Klassen anzugeben</gco:CharacterString> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + <che:attribute> + <che:name> + <gco:CharacterString>ISO Ansicht "Inhalt" um weitere Attribute anzugeben</gco:CharacterString> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + </che:attribute> + </che:CHE_MD_Class> + </che:class> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess> + <gmd:fees gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:fees> + </gmd:MD_StandardOrderProcess> + </gmd:distributionOrderProcess> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MediumNameCode" codeListValue="" /> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INSPIRE Durchführungsbestimmungen bezüglich Metadaten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INSPIRE Durchführungsbestimmungen bezüglich Metadaten</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-12-03</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>0</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:processStep> + <gmd:LI_ProcessStep> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:dateTime> + <gco:DateTime /> + </gmd:dateTime> + </gmd:LI_ProcessStep> + </gmd:processStep> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:portrayalCatalogueInfo> + <che:CHE_MD_PortrayalCatalogueReference> + <gmd:portrayalCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:portrayalCatalogueCitation> + <che:portrayalCatalogueURL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:portrayalCatalogueURL> + </che:CHE_MD_PortrayalCatalogueReference> + </gmd:portrayalCatalogueInfo> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:internalReference gco:nilReason="missing"> + <gco:CharacterString /> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/541f852e-fa8b-442b-b585-83f49236651c.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/541f852e-fa8b-442b-b585-83f49236651c.xml new file mode 100644 index 00000000000..7ded6f4c9ae --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/541f852e-fa8b-442b-b585-83f49236651c.xml @@ -0,0 +1,599 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" xsi:schemaLocation="http://www.geocat.ch/2008/che ../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>541f852e-fa8b-442b-b585-83f49236651c</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Thurgau, Amt für Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Thurgau, Amt für Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>0041 58 345 54 30</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>0041 58 345 54 31</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Frauenfeld</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>8510</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>agi@tg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Promenadenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>8</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geoinformation.tg.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo-Fr: 8:00-12:00+13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="resourceProvider" /> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AGI</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2011-08-09T10:24:50</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:3785</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:3785</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Vorlage: Geodienste Kanton Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Vorlage: Geodienste Kanton Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2011-08-09</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2011-08-09</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="revision" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- kurze Beschreibung des Geodienstes --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- kurze Beschreibung des Geodienstes --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- z.B. Einbindung in Bundesportal --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- z.B. Einbindung in Bundesportal --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Thurgau, Amt für Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Thurgau, Amt für Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>0041 58 345 54 30</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>0041 58 345 54 31</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Frauenfeld</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>8510</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>agi@tg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Promenadenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>8</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geoinformation.tg.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo-Fr: 8:00-12:00+13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="resourceProvider" /> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AGI</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.1.1</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:restrictions> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </srv:restrictions> + <srv:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>TG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N690b5edefd2349d4ac26f62eeed6798e"> + <gml:surfaceMember> + <gml:Polygon gml:id="N690b5edefd2349d4ac26f62eeed6798e.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.677 47.672 8.668 47.678 8.669 47.685 8.69 47.695 8.701 47.692 8.708 47.69 8.718 47.691 8.728 47.693 8.758 47.689 8.785 47.677 8.796 47.675 8.799 47.676 8.805 47.678 8.819 47.678 8.837 47.671 8.855 47.661 8.846 47.653 8.852 47.651 8.863 47.655 8.875 47.655 8.898 47.648 8.941 47.656 8.987 47.676 9.023 47.687 9.1 47.677 9.117 47.669 9.139 47.664 9.15 47.668 9.157 47.666 9.163 47.66 9.171 47.655 9.182 47.656 9.234 47.657 9.248 47.659 9.268 47.656 9.445 47.595 9.503 47.547 9.434 47.506 9.421 47.496 9.418 47.498 9.406 47.492 9.399 47.478 9.392 47.479 9.382 47.485 9.366 47.485 9.374 47.5 9.365 47.502 9.356 47.503 9.356 47.501 9.338 47.501 9.339 47.507 9.346 47.508 9.354 47.52 9.342 47.522 9.339 47.531 9.338 47.529 9.323 47.53 9.31 47.524 9.293 47.523 9.282 47.521 9.28 47.512 9.269 47.512 9.272 47.508 9.29 47.507 9.303 47.516 9.317 47.509 9.31 47.508 9.308 47.501 9.309 47.497 9.318 47.5 9.321 47.491 9.298 47.477 9.279 47.481 9.263 47.475 9.251 47.474 9.239 47.481 9.237 47.481 9.225 47.484 9.209 47.48 9.208 47.489 9.184 47.492 9.181 47.497 9.178 47.497 9.177 47.495 9.171 47.497 9.172 47.503 9.166 47.504 9.153 47.487 9.129 47.484 9.118 47.48 9.113 47.484 9.099 47.486 9.091 47.483 9.082 47.495 9.055 47.488 9.043 47.496 9.042 47.496 9.03 47.49 9.012 47.49 9.008 47.472 9.03 47.467 9.028 47.465 9.028 47.461 9.027 47.458 9.044 47.454 9.062 47.446 9.054 47.443 9.038 47.441 9.034 47.435 9.026 47.437 9.022 47.442 9.012 47.434 8.999 47.435 9.0 47.432 8.99 47.429 8.993 47.422 8.989 47.411 8.979 47.412 8.973 47.405 8.971 47.391 8.944 47.376 8.94 47.38 8.942 47.387 8.921 47.399 8.906 47.401 8.903 47.402 8.913 47.413 8.913 47.428 8.92 47.433 8.931 47.432 8.933 47.436 8.907 47.439 8.903 47.444 8.909 47.448 8.894 47.463 8.894 47.464 8.884 47.47 8.893 47.488 8.895 47.503 8.898 47.524 8.888 47.528 8.874 47.529 8.868 47.53 8.841 47.533 8.83 47.553 8.829 47.558 8.851 47.561 8.851 47.564 8.839 47.565 8.839 47.571 8.831 47.573 8.81 47.571 8.805 47.575 8.806 47.583 8.798 47.585 8.762 47.593 8.748 47.592 8.74 47.608 8.74 47.612 8.746 47.613 8.746 47.621 8.75 47.621 8.755 47.618 8.762 47.618 8.788 47.61 8.789 47.603 8.803 47.601 8.804 47.608 8.805 47.613 8.814 47.621 8.813 47.627 8.825 47.637 8.826 47.647 8.815 47.65 8.805 47.652 8.803 47.665 8.799 47.665 8.789 47.665 8.786 47.655 8.776 47.649 8.765 47.649 8.747 47.639 8.732 47.642 8.717 47.642 8.688 47.65 8.677 47.666 8.677 47.672</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="N690b5edefd2349d4ac26f62eeed6798e.2"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>9.464 47.484 9.465 47.487 9.45 47.492 9.449 47.501 9.476 47.489 9.464 47.484</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 692329.0,248312.0,755372.0,283510.0--> + <gmd:westBoundLongitude> + <gco:Decimal>8.668</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.503</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>47.376</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.695</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </srv:extent> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetMap</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeatureInfo</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>PNG</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>GIF - Graphics Interchange Format</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>JPG</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>vnd.wap.wbmp</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>TIFF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>SVG-XML</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geoinformation.tg.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/54f7dfa9-4690-474c-a320-97da11fff077.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/54f7dfa9-4690-474c-a320-97da11fff077.xml new file mode 100644 index 00000000000..342d361f38a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/54f7dfa9-4690-474c-a320-97da11fff077.xml @@ -0,0 +1,237 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>54f7dfa9-4690-474c-a320-97da11fff077</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-10-26T15:06:18</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RDP Leitungskataster Fernwärme &lt;Name&gt;&lt;Gemeinde&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RDP Leitungskataster Fernwärme &lt;Name&gt;&lt;Gemeinde&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster Fernwärme: +Modell "SIA405_mit_Erweiterungen_LU01_minimal" +TOPIC SIA405_Fernwaerme</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster Fernwärme: +Modell "SIA405_mit_Erweiterungen_LU01_minimal" +TOPIC SIA405_Fernwaerme</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Pipeline cadastre</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Catasto delle condotte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Cadastre souterrain</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Fernwärme</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">district heating</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Fernwärme</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">riscaldamento urbano</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">chauffage urbain</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Daten des Leitungskatasters sind nicht öffentlich. Die Daten dürfen ohne schriftliche Beglaubigung des Kontakt „Ressource“ nicht im Zusammenhang mit Bauarbeiten oder ähnlichen Tätigkeiten verwendet werden!</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Daten des Leitungskatasters sind nicht öffentlich. Die Daten dürfen ohne schriftliche Beglaubigung des Kontakt „Ressource“ nicht im Zusammenhang mit Bauarbeiten oder ähnlichen Tätigkeiten verwendet werden!</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="restricted" /> + </gmd:useConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/5bf0e5e4-775e-4b7a-a2d2-b5e8cb137ffc.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/5bf0e5e4-775e-4b7a-a2d2-b5e8cb137ffc.xml new file mode 100644 index 00000000000..d44b3794848 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/5bf0e5e4-775e-4b7a-a2d2-b5e8cb137ffc.xml @@ -0,0 +1,672 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>5bf0e5e4-775e-4b7a-a2d2-b5e8cb137ffc</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:DateTime>2014-06-10T16:16:00</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SZ Datensatz Vorlage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SZ Datensatz Vorlage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurztitel obligatorisch für BGDI max. 30 Zeichen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurztitel obligatorisch für BGDI max. 30 Zeichen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="revision" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>GEWISS</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schwyz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SZ</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="Nf6109c1aa91f4e45a5e91ef0b5db9471"> + <gml:surfaceMember> + <gml:Polygon gml:id="Nf6109c1aa91f4e45a5e91ef0b5db9471.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.493 47.1 8.522 47.09 8.547 47.094 8.563 47.093 8.564 47.082 8.587 47.086 8.608 47.092 8.612 47.095 8.637 47.093 8.645 47.096 8.649 47.103 8.681 47.125 8.687 47.136 8.684 47.141 8.688 47.146 8.701 47.151 8.696 47.163 8.692 47.163 8.692 47.167 8.682 47.174 8.681 47.184 8.694 47.196 8.713 47.203 8.793 47.223 8.808 47.22 8.809 47.22 8.823 47.211 8.841 47.208 8.941 47.218 8.966 47.217 8.974 47.213 8.969 47.212 8.965 47.198 8.958 47.199 8.962 47.184 8.97 47.179 8.981 47.183 9.005 47.173 8.967 47.137 8.969 47.134 8.965 47.122 8.972 47.118 8.974 47.115 8.971 47.104 8.96 47.1 8.954 47.094 8.955 47.09 8.973 47.085 8.962 47.076 8.961 47.072 8.951 47.061 8.948 47.049 8.921 47.038 8.902 47.038 8.895 47.021 8.91 47.017 8.912 47.009 8.928 46.998 8.938 46.987 8.932 46.982 8.946 46.967 8.95 46.969 8.956 46.963 8.972 46.96 8.963 46.955 8.955 46.939 8.961 46.932 8.963 46.927 8.935 46.92 8.853 46.885 8.848 46.891 8.849 46.913 8.836 46.908 8.828 46.922 8.83 46.931 8.827 46.936 8.811 46.941 8.798 46.937 8.792 46.931 8.779 46.932 8.774 46.938 8.766 46.939 8.729 46.928 8.718 46.918 8.708 46.917 8.699 46.924 8.697 46.929 8.7 46.933 8.693 46.947 8.67 46.944 8.637 46.95 8.621 46.953 8.604 46.952 8.603 46.987 8.582 46.993 8.571 46.99 8.543 46.98 8.519 46.98 8.497 46.976 8.465 46.984 8.468 46.997 8.474 46.996 8.508 47.004 8.514 47.013 8.513 47.022 8.495 47.029 8.475 47.043 8.465 47.049 8.462 47.05 8.441 47.063 8.43 47.065 8.4 47.06 8.391 47.061 8.389 47.068 8.389 47.071 8.407 47.079 8.409 47.093 8.421 47.102 8.45 47.114 8.464 47.111 8.474 47.112 8.476 47.106 8.493 47.1</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 672198.0,193670.0,718724.0,231067.0--> + <gmd:westBoundLongitude> + <gco:Decimal>8.389</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.005</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>46.885</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.223</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + <che:basicGeodataID> + <gco:CharacterString>-- z.B. 123.4 -- (siehe Sammlung Geobasisdatensätze)</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="federal" codeList="#basicGeodataIDTypeCode" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>MDB Geomedia</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://map.geo.sz.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>CHTOPO:specialised-geoportal</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>WebGIS des Kanton Schwyz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">WebGIS des Kanton Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <che:legislationInformation xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>--SR/SRSZ--</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">--SR/SRSZ--</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/5d9c0cc1-7781-4f99-a6ff-7cc2c78d9092.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/5d9c0cc1-7781-4f99-a6ff-7cc2c78d9092.xml new file mode 100644 index 00000000000..42acecc3410 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/5d9c0cc1-7781-4f99-a6ff-7cc2c78d9092.xml @@ -0,0 +1,263 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>5d9c0cc1-7781-4f99-a6ff-7cc2c78d9092</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ita</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-10-26T15:03:06</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 WMS (it) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-- GM03 WMS (it) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date /> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Resconto --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-- Resconto --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>servizi online</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">on-line service</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Online-Dienst</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">servizi online</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">service en ligne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- restrizioni generali --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-- restrizioni generali --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- restrizioni generali legali --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-- restrizioni generali legali --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- riempire se "Autres restrictions", altrimenti chuidere --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-- riempire se "Autres restrictions", altrimenti chuidere --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.1.1</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#IT">-- Indirizzo del WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetMap</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#IT">-- Indirizzo del WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeatureInfo</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#IT">-- Indirizzo del WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <che:inspireServiceType> + <che:CHE_SV_inspireServiceTypeCode codeList="#CHE_SV_inspireServiceTypeCode" codeListValue="ViewService" /> + </che:inspireServiceType> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/5dc6f781-f2c0-4a20-9442-32bee96e3855.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/5dc6f781-f2c0-4a20-9442-32bee96e3855.xml new file mode 100644 index 00000000000..80edca70ce8 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/5dc6f781-f2c0-4a20-9442-32bee96e3855.xml @@ -0,0 +1,943 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>5dc6f781-f2c0-4a20-9442-32bee96e3855</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Thurgau, Amt für Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Thurgau, Amt für Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>0041 58 345 54 30</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>0041 58 345 54 31</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Frauenfeld</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>8510</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>agi@tg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Promenadenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>8</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geoinformation.tg.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo-Fr: 8:00-12:00+13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="resourceProvider" /> + </gmd:role> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AGI</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:DateTime>2011-08-08T17:14:36</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>-- GM03 2+ --</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- CH1903+, LV95 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- CH1903+, LV95 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Vorlage: Geodaten Kanton Thurgau --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Vorlage: Geodaten Kanton Thurgau --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-01-02</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="creation" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2016-05-19</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="revision" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- kurze Beschreibung des Geodatensatzes --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- kurze Beschreibung des Geodatensatzes --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Grundlagedaten --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Grundlagedaten --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeListValue="completed" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" /> + </gmd:status> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Thurgau, Amt für Raumentwicklung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Thurgau, Amt für Raumentwicklung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>0041 58 345 62 50</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>0041 58 345 62 51</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Frauenfeld</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>8510</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>sekretariat.are@tg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Promenadenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>8</gco:CharacterString> + </che:streetNumber> + <che:addressLine> + <gco:CharacterString>Verwaltungsgebäude Promenade</gco:CharacterString> + </che:addressLine> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.raumentwicklung.tg.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo-Fr: 8:00-11:30 + 13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="resourceProvider" /> + </gmd:role> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>ARE</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">ARE</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="continual" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geodaten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Geodata</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geodaten</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Geodati</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Géodonnées</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kantons Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kantons Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeListValue="otherRestrictions" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeListValue="otherRestrictions" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" /> + </gmd:useConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kantons Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kantons Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kantons Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kantons Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:useLimitation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- keine --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- keine --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="unclassified" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- keine --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- keine --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeListValue="vector" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:distance> + <gco:Distance uom="m">1</gco:Distance> + </gmd:distance> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>5000</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>TG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">TG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="Na2da4e10a53740fc881ca109658eda5b"> + <gml:surfaceMember> + <gml:Polygon gml:id="Na2da4e10a53740fc881ca109658eda5b.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.677 47.672 8.668 47.678 8.669 47.685 8.69 47.695 8.701 47.692 8.708 47.69 8.718 47.691 8.728 47.693 8.758 47.689 8.785 47.677 8.796 47.675 8.799 47.676 8.805 47.678 8.819 47.678 8.837 47.671 8.855 47.661 8.846 47.653 8.852 47.651 8.863 47.655 8.875 47.655 8.898 47.648 8.941 47.656 8.987 47.676 9.023 47.687 9.1 47.677 9.117 47.669 9.139 47.664 9.15 47.668 9.157 47.666 9.163 47.66 9.171 47.655 9.182 47.656 9.234 47.657 9.248 47.659 9.268 47.656 9.445 47.595 9.503 47.547 9.434 47.506 9.421 47.496 9.418 47.498 9.406 47.492 9.399 47.478 9.392 47.479 9.382 47.485 9.366 47.485 9.374 47.5 9.365 47.502 9.356 47.503 9.356 47.501 9.338 47.501 9.339 47.507 9.346 47.508 9.354 47.52 9.342 47.522 9.339 47.531 9.338 47.529 9.323 47.53 9.31 47.524 9.293 47.523 9.282 47.521 9.28 47.512 9.269 47.512 9.272 47.508 9.29 47.507 9.303 47.516 9.317 47.509 9.31 47.508 9.308 47.501 9.309 47.497 9.318 47.5 9.321 47.491 9.298 47.477 9.279 47.481 9.263 47.475 9.251 47.474 9.239 47.481 9.237 47.481 9.225 47.484 9.209 47.48 9.208 47.489 9.184 47.492 9.181 47.497 9.178 47.497 9.177 47.495 9.171 47.497 9.172 47.503 9.166 47.504 9.153 47.487 9.129 47.484 9.118 47.48 9.113 47.484 9.099 47.486 9.091 47.483 9.082 47.495 9.055 47.488 9.043 47.496 9.042 47.496 9.03 47.49 9.012 47.49 9.008 47.472 9.03 47.467 9.028 47.465 9.028 47.461 9.027 47.458 9.044 47.454 9.062 47.446 9.054 47.443 9.038 47.441 9.034 47.435 9.026 47.437 9.022 47.442 9.012 47.434 8.999 47.435 9.0 47.432 8.99 47.429 8.993 47.422 8.989 47.411 8.979 47.412 8.973 47.405 8.971 47.391 8.944 47.376 8.94 47.38 8.942 47.387 8.921 47.399 8.906 47.401 8.903 47.402 8.913 47.413 8.913 47.428 8.92 47.433 8.931 47.432 8.933 47.436 8.907 47.439 8.903 47.444 8.909 47.448 8.894 47.463 8.894 47.464 8.884 47.47 8.893 47.488 8.895 47.503 8.898 47.524 8.888 47.528 8.874 47.529 8.868 47.53 8.841 47.533 8.83 47.553 8.829 47.558 8.851 47.561 8.851 47.564 8.839 47.565 8.839 47.571 8.831 47.573 8.81 47.571 8.805 47.575 8.806 47.583 8.798 47.585 8.762 47.593 8.748 47.592 8.74 47.608 8.74 47.612 8.746 47.613 8.746 47.621 8.75 47.621 8.755 47.618 8.762 47.618 8.788 47.61 8.789 47.603 8.803 47.601 8.804 47.608 8.805 47.613 8.814 47.621 8.813 47.627 8.825 47.637 8.826 47.647 8.815 47.65 8.805 47.652 8.803 47.665 8.799 47.665 8.789 47.665 8.786 47.655 8.776 47.649 8.765 47.649 8.747 47.639 8.732 47.642 8.717 47.642 8.688 47.65 8.677 47.666 8.677 47.672</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="Na2da4e10a53740fc881ca109658eda5b.2"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>9.464 47.484 9.465 47.487 9.45 47.492 9.449 47.501 9.476 47.489 9.464 47.484</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 692329.0,248312.0,755372.0,283510.0--> + <gmd:westBoundLongitude> + <gco:Decimal>8.668</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.503</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>47.376</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.695</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + <che:basicGeodataID> + <gco:CharacterString>-- 67.1-TG --</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeList="#basicGeodataIDTypeCode" codeListValue="cantonal" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>1</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Datenmodell, z.B. ORTSPLANUNG_TG02 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Datenmodell, z.B. ORTSPLANUNG_TG02 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2007-10-22</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="INTERLIS1" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- z.B. ARP (ArcGIS-Schema) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- z.B. ARP (ArcGIS-Schema) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2010-06-30</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- ARP --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:class> + <che:CHE_MD_Class> + <che:name> + <gco:CharacterString>-- z.B. BUBAUZ --</gco:CharacterString> + </che:name> + <che:description> + <gco:CharacterString>-- z.B. Bauzoneneinteilung des Bundes --</gco:CharacterString> + </che:description> + <che:attribute> + <che:name> + <gco:CharacterString>-- OBJECTID --</gco:CharacterString> + </che:name> + <che:description> + <gco:CharacterString>-- System-Objektidentifikator --</gco:CharacterString> + </che:description> + <che:anonymousType> + <che:CHE_MD_Type> + <che:type> + <gco:CharacterString>-- Object ID --</gco:CharacterString> + </che:type> + </che:CHE_MD_Type> + </che:anonymousType> + </che:attribute> + <che:attribute> + <che:name> + <gco:CharacterString>-- z.B. BB_ID --</gco:CharacterString> + </che:name> + <che:description> + <gco:CharacterString>-- z.B. Bundesbauzone (Identifikator) --</gco:CharacterString> + </che:description> + <che:anonymousType> + <che:CHE_MD_Type> + <che:type> + <gco:CharacterString>-- Long Integer --</gco:CharacterString> + </che:type> + </che:CHE_MD_Type> + </che:anonymousType> + </che:attribute> + <che:attribute> + <che:name> + <gco:CharacterString>-- z.B. BB_BUBAUZ --</gco:CharacterString> + </che:name> + <che:description> + <gco:CharacterString>-- z.B. Name der Bundesbauzone --</gco:CharacterString> + </che:description> + <che:anonymousType> + <che:CHE_MD_Type> + <che:type> + <gco:CharacterString>-- Text --</gco:CharacterString> + </che:type> + </che:CHE_MD_Type> + </che:anonymousType> + </che:attribute> + </che:CHE_MD_Class> + </che:class> + <che:class> + <che:CHE_MD_Class> + <che:name> + <gco:CharacterString>-- z.B. KRP_SIEDSTRUKT --</gco:CharacterString> + </che:name> + <che:description> + <gco:CharacterString>-- Siedlungsstrukturen des Kantonalen Richtplans --</gco:CharacterString> + </che:description> + <che:attribute> + <che:name> + <gco:CharacterString>-- z.B. OBJECTID --</gco:CharacterString> + </che:name> + <che:description> + <gco:CharacterString>-- System-Objektidentifikator --</gco:CharacterString> + </che:description> + <che:anonymousType> + <che:CHE_MD_Type> + <che:type> + <gco:CharacterString>-- Object ID --</gco:CharacterString> + </che:type> + </che:CHE_MD_Type> + </che:anonymousType> + </che:attribute> + <che:attribute> + <che:name> + <gco:CharacterString>-- z.B. ST_ID --</gco:CharacterString> + </che:name> + <che:description> + <gco:CharacterString>-- z.B. Siedlungsstruktur (Identifikator) --</gco:CharacterString> + </che:description> + <che:anonymousType> + <che:CHE_MD_Type> + <che:type> + <gco:CharacterString>-- Long Integer --</gco:CharacterString> + </che:type> + </che:CHE_MD_Type> + </che:anonymousType> + </che:attribute> + <che:attribute> + <che:name> + <gco:CharacterString>-- z.B. ST_KRP_SIEDSTRUK --</gco:CharacterString> + </che:name> + <che:description> + <gco:CharacterString>-- z.B. Bezeichnung der Siedlungsstruktur --</gco:CharacterString> + </che:description> + <che:anonymousType> + <che:CHE_MD_Type> + <che:type> + <gco:CharacterString>-- Text --</gco:CharacterString> + </che:type> + </che:CHE_MD_Type> + </che:anonymousType> + </che:attribute> + </che:CHE_MD_Class> + </che:class> + <che:domain> + <che:CHE_MD_CodeDomain> + <che:name> + <gco:CharacterString>-- Domäne 1, z.B. CVD_BUeberplant --</gco:CharacterString> + </che:name> + <che:type> + <che:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Short Integer --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN" /> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Short Integer --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:type> + <che:value> + <che:CHE_MD_CodeValue> + <che:name> + <gco:CharacterString>-- z.B. Nicht Ueberplant --</gco:CharacterString> + </che:name> + <che:code> + <gco:CharacterString>-- 0 --</gco:CharacterString> + </che:code> + </che:CHE_MD_CodeValue> + </che:value> + <che:value> + <che:CHE_MD_CodeValue> + <che:name> + <gco:CharacterString>-- z.B. Teilweise Ueberplant --</gco:CharacterString> + </che:name> + <che:code> + <gco:CharacterString>-- 1 --</gco:CharacterString> + </che:code> + </che:CHE_MD_CodeValue> + </che:value> + <che:value> + <che:CHE_MD_CodeValue> + <che:name> + <gco:CharacterString>-- z.B. Vollstaendig Ueberplant --</gco:CharacterString> + </che:name> + <che:code> + <gco:CharacterString>-- 2 --</gco:CharacterString> + </che:code> + </che:CHE_MD_CodeValue> + </che:value> + </che:type> + </che:CHE_MD_CodeDomain> + </che:domain> + <che:domain> + <che:CHE_MD_CodeDomain> + <che:name> + <gco:CharacterString>-- Domäne 2, z.B. CVD_Gemeindetyp --</gco:CharacterString> + </che:name> + <che:type> + <che:type> + <gco:CharacterString>-- z.B. Coded Values --</gco:CharacterString> + </che:type> + <che:value> + <che:CHE_MD_CodeValue> + <che:name> + <gco:CharacterString>-- z.B. OG --</gco:CharacterString> + </che:name> + <che:code> + <gco:CharacterString>-- 0 --</gco:CharacterString> + </che:code> + </che:CHE_MD_CodeValue> + </che:value> + <che:value> + <che:CHE_MD_CodeValue> + <che:name> + <gco:CharacterString>-- z.B. EG --</gco:CharacterString> + </che:name> + <che:code> + <gco:CharacterString>-- 1 --</gco:CharacterString> + </che:code> + </che:CHE_MD_CodeValue> + </che:value> + <che:value> + <che:CHE_MD_CodeValue> + <che:name> + <gco:CharacterString>-- z.B. PG --</gco:CharacterString> + </che:name> + <che:code> + <gco:CharacterString>-- 2 --</gco:CharacterString> + </che:code> + </che:CHE_MD_CodeValue> + </che:value> + </che:type> + </che:CHE_MD_CodeDomain> + </che:domain> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="Other" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Thurgau, Amt für Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Thurgau, Amt für Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>0041 58 345 54 30</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>0041 58 345 54 31</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Frauenfeld</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>8510</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>thurgis@tg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Promenadenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>8</gco:CharacterString> + </che:streetNumber> + <che:addressLine> + <gco:CharacterString>Verwaltungsgebäude</gco:CharacterString> + </che:addressLine> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geoinformation.tg.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo-Fr: 8:00-11:30 + 13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="distributor" /> + </gmd:role> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AGI</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geoinformation.tg.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore" xmlns:gmi="http://www.isotc211.org/2005/gmi"> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Erläuterungen zur Datenqualität, z.B. Digitalisierung ab Grundlage --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Erläuterungen zur Datenqualität, z.B. Digitalisierung ab Grundlage --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/603b6bef-814c-4942-a39a-65b8adae4ced.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/603b6bef-814c-4942-a39a-65b8adae4ced.xml new file mode 100644 index 00000000000..1f5176ac119 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/603b6bef-814c-4942-a39a-65b8adae4ced.xml @@ -0,0 +1,279 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>603b6bef-814c-4942-a39a-65b8adae4ced</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-10-26T15:06:44</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RDP Zonenplan &lt;Gemeinde&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RDP Zonenplan &lt;Gemeinde&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Mit den Zonenplänen ordnen die Gemeinden die zulässige Nutzung ihres Gebietes. Sie scheiden dabei unter Beachtung der übergeordneten Vorschriften Bau-, Nichtbau- und Schutzzonen aus, die weiter unterteilt werden können. Gestattet sind auch gemischte Zonen und Zonenüberlagerungen. + +Im zugehörigen Bau- und Zonenreglement (BZR) legen die Gemeinden für alle Zonen die Art und Dichte der Nutzung sowie gestalterische, erschliessungstechnische, umweltrechtliche und weitere Vorgaben fest. Zonenplan und BZR werden von den Stimmberechtigten oder vom Gemeindeparlament erlassen. Sie bedürfen der Genehmigung des Regierungsrates. + +Siehe "Richtlinien zur Erstellung digitaler Zonenpläne", Modell "Nutzungsplanung_LU_200."</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Mit den Zonenplänen ordnen die Gemeinden die zulässige Nutzung ihres Gebietes. Sie scheiden dabei unter Beachtung der übergeordneten Vorschriften Bau-, Nichtbau- und Schutzzonen aus, die weiter unterteilt werden können. Gestattet sind auch gemischte Zonen und Zonenüberlagerungen. + +Im zugehörigen Bau- und Zonenreglement (BZR) legen die Gemeinden für alle Zonen die Art und Dichte der Nutzung sowie gestalterische, erschliessungstechnische, umweltrechtliche und weitere Vorgaben fest. Zonenplan und BZR werden von den Stimmberechtigten oder vom Gemeindeparlament erlassen. Sie bedürfen der Genehmigung des Regierungsrates. + +Siehe "Richtlinien zur Erstellung digitaler Zonenpläne", Modell "Nutzungsplanung_LU_200."</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Zonenplan</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">plan of zones</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Zonenplan</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">piano delle zone</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Plan de zones</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bauzone</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Construction zone</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bauzone</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">zona edificabile</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Zone à bâtir</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Nutzungszone</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">use zone (?)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Nutzungszone</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">zona di utilizzazione</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">zone d'affectation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Baulinie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Building line</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Baulinie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Linea di edificazione</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Alignement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Den Daten der digitalen Zonenpläne kommt keine Rechtswirkung zu. Rechtswirkung haben die genehmigten Originalpläne. Der Benutzer von digitalen Zonenplänen ist verantwortlich, deren Richtigkeit anhand der rechtskräftigen Originalpläne zu überprüfen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Den Daten der digitalen Zonenpläne kommt keine Rechtswirkung zu. Rechtswirkung haben die genehmigten Originalpläne. Der Benutzer von digitalen Zonenplänen ist verantwortlich, deren Richtigkeit anhand der rechtskräftigen Originalpläne zu überprüfen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="copyright" /> + </gmd:useConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geo.lu.ch/app/raumdaten/index.php?NAME=****&amp;VIEW=PLANEN</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoportal Gemeinde</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoportal Gemeinde</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/67fa3c4e-1ce0-47a8-99b2-03a5b382a1ee.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/67fa3c4e-1ce0-47a8-99b2-03a5b382a1ee.xml new file mode 100644 index 00000000000..090aa4baf3e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/67fa3c4e-1ce0-47a8-99b2-03a5b382a1ee.xml @@ -0,0 +1,458 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata" xsi:schemaLocation="http://www.geocat.ch/2008/che http://www.isotc211.org/2005/gmd http://www.isotc211.org/2005/gmd/gmd.xsd http://www.isotc211.org/2005/srv http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd"> + <gmd:fileIdentifier> + <gco:CharacterString>67fa3c4e-1ce0-47a8-99b2-03a5b382a1ee</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2014-04-14T09:17:03</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- AAP Template --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- AAP Template --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurztitel obligatorisch für BGDI max. 35 Zeichen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurztitel obligatorisch für BGDI max. 35 Zeichen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + <che:appraisal> + <che:CHE_MD_Appraisal_AAP> + <che:durationOfConservation> + <gco:Integer /> + </che:durationOfConservation> + <che:appraisalOfArchivalValue> + <che:CHE_AppraisalOfArchivalValueCode codeList="#CHE_AppraisalOfArchivalValueCode" codeListValue="" /> + </che:appraisalOfArchivalValue> + </che:CHE_MD_Appraisal_AAP> + </che:appraisal> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BGDI Bundesgeodaten-Infrastruktur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">FSDI Federal Spatial Data Infrastructure</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BGDI Bundesgeodaten-Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">IFDG Infrastruttura federale dei dati geografici</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">IFDG l’Infrastructure Fédérale de données géographiques</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- URL Nutzungsbedingungen (s. Handbuch)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- URL Nutzungsbedingungen (s. Handbuch)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- gebührenpflichtig --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- gebührenpflichtig --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <che:basicGeodataID> + <gco:CharacterString>-- z.B. 123.4 -- (siehe Sammlung Geobasisdatensätze)</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="federal" codeList="#basicGeodataIDTypeCode" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL /> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL /> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-URL</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- URL zum Download, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- URL zum Download, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL /> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>CHTOPO:specialised-geoportal</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- z. B. Link zu Fachportal, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- z. B. Link zu Fachportal, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <che:legislationInformation xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:internalReference> + <gco:CharacterString>510.620, Anhang 1</gco:CharacterString> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung über Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung über Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoinformationsverordnung GeoIV</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoinformationsverordnung GeoIV</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-05-21</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-07-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SR 510.620</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SR 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + <gmd:otherCitationDetails xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherCitationDetails> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/68859499-f9ae-4bf8-b5b5-7b3f92d3fd33.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/68859499-f9ae-4bf8-b5b5-7b3f92d3fd33.xml new file mode 100644 index 00000000000..7d9823f0ce3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/68859499-f9ae-4bf8-b5b5-7b3f92d3fd33.xml @@ -0,0 +1,695 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>68859499-f9ae-4bf8-b5b5-7b3f92d3fd33</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Raumentwicklung und Geoinformation (SG)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Raumentwicklung und Geoinformation (SG)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41(0)58 229 31 47</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41(0)58 229 45 99</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>St. Gallen</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>geodaten@sg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Lämmlisbrunnenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>54</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo. - Fr. von 8:00 - 17:00 Uhr</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="resourceProvider" /> + </gmd:role> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AREG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AREG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:DateTime>2017-02-22T10:09:52</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>GM03 Core</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CH1903+, LV95</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CH1903+, LV95</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Vorlage: Geodaten Kanton St. Gallen</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Vorlage: Geodaten Kanton St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-02-24</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="creation" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-03-31</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="revision" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>&lt;Kurze, beschreibende Zusammenfassung des Inhals der Ressource&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">&lt;Kurze, beschreibende Zusammenfassung des Inhals der Ressource&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>&lt;Zusammenfassung, für welchen Zweck oder mit welcher Absicht die Ressource erstellt wurde. Dieses Element unterscheidet sich vom Element 'resourceSpecificUsage', da hier der Erstellungszweck der Ressource gemeint ist.&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">&lt;Zusammenfassung, für welchen Zweck oder mit welcher Absicht die Ressource erstellt wurde. Dieses Element unterscheidet sich vom Element 'resourceSpecificUsage', da hier der Erstellungszweck der Ressource gemeint ist.&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeListValue="onGoing" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" /> + </gmd:status> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Raumentwicklung und Geoinformation (SG)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Raumentwicklung und Geoinformation (SG)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41(0)58 229 31 47</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41(0)58 229 45 99</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>St. Gallen</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>geodaten@sg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Lämmlisbrunnenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>54</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo. - Fr. von 8:00 - 17:00 Uhr</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="partner" /> + </gmd:role> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AREG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AREG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeListValue="irregular" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:graphicOverview> + <gmd:MD_BrowseGraphic> + <gmd:fileName> + <gco:CharacterString>https://www.geocat.ch:443/geonetwork/srv/ger//resources.get?uuid=68859499-f9ae-4bf8-b5b5-7b3f92d3fd33&amp;fname=CMS_BOD_516_260_10.jpg</gco:CharacterString> + </gmd:fileName> + <gmd:fileDescription xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>large_thumbnail</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">large_thumbnail</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:fileDescription> + <gmd:fileType> + <gco:CharacterString>jpg</gco:CharacterString> + </gmd:fileType> + </gmd:MD_BrowseGraphic> + </gmd:graphicOverview> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Abfallholz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Waste wood</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Abfallholz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Bois de récupération</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeListValue="otherRestrictions" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" /> + </gmd:accessConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>&lt;Andere Einschränkungen und rechtliche Voraussetzung für den Zugriff und die Verwendung der Ressource oder der Metadaten. Mit diesem Element können sonstige Einschränkungen erfasst werden, denen der Datenzugriff oder die Datennutzung unterliegt. Dieses Element muss nur dann belegt werden, wenn in den Auswahllisten der Elemente "accessConstraints" oder "useConstraints" der Wert "otherRestrictions" gewählt wurde.&gt; Bsp Kt.TG: "Gemäss Nutzungsanweisungen betreffend GEodaten des Kanton Thurgau"</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">&lt;Andere Einschränkungen und rechtliche Voraussetzung für den Zugriff und die Verwendung der Ressource oder der Metadaten. Mit diesem Element können sonstige Einschränkungen erfasst werden, denen der Datenzugriff oder die Datennutzung unterliegt. Dieses Element muss nur dann belegt werden, wenn in den Auswahllisten der Elemente "accessConstraints" oder "useConstraints" der Wert "otherRestrictions" gewählt wurde.&gt; Bsp Kt.TG: "Gemäss Nutzungsanweisungen betreffend GEodaten des Kanton Thurgau"</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="unclassified" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_Constraints /> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeListValue="vector" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:distance> + <gco:Distance uom="m">1</gco:Distance> + </gmd:distance> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>25000</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>imageryBaseMapsEarthCover_BaseMaps</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>St. Gallen</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">St. Gallen</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">SG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="Ncc50b6fb32724a07901ee3db41d86e64"> + <gml:surfaceMember> + <gml:Polygon gml:id="Ncc50b6fb32724a07901ee3db41d86e64.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>9.277 46.907 9.267 46.903 9.249 46.916 9.253 46.927 9.25 46.935 9.239 46.941 9.237 46.955 9.246 46.959 9.248 47.0 9.241 47.018 9.236 47.024 9.23 47.026 9.22 47.033 9.202 47.035 9.181 47.026 9.156 47.03 9.138 47.039 9.154 47.047 9.17 47.051 9.182 47.058 9.185 47.064 9.192 47.073 9.186 47.098 9.189 47.116 9.19 47.124 9.136 47.132 9.099 47.133 9.086 47.131 9.072 47.13 9.05 47.142 9.008 47.172 9.005 47.173 8.981 47.183 8.97 47.179 8.962 47.184 8.958 47.199 8.965 47.198 8.969 47.212 8.974 47.213 8.966 47.217 8.941 47.218 8.841 47.208 8.823 47.211 8.809 47.22 8.808 47.22 8.796 47.239 8.803 47.247 8.809 47.248 8.828 47.25 8.855 47.244 8.87 47.245 8.874 47.25 8.885 47.253 8.909 47.254 8.936 47.26 8.949 47.281 8.935 47.288 8.949 47.292 8.957 47.304 8.975 47.307 8.985 47.319 8.977 47.327 8.974 47.347 8.96 47.356 8.951 47.372 8.944 47.376 8.971 47.391 8.973 47.405 8.979 47.412 8.989 47.411 8.993 47.422 8.99 47.429 9.0 47.432 8.999 47.435 9.012 47.434 9.022 47.442 9.026 47.437 9.034 47.435 9.038 47.441 9.054 47.443 9.062 47.446 9.044 47.454 9.027 47.458 9.028 47.461 9.028 47.465 9.03 47.467 9.008 47.472 9.012 47.49 9.03 47.49 9.042 47.496 9.043 47.496 9.055 47.488 9.082 47.495 9.091 47.483 9.099 47.486 9.113 47.484 9.118 47.48 9.129 47.484 9.153 47.487 9.166 47.504 9.172 47.503 9.171 47.497 9.177 47.495 9.178 47.497 9.181 47.497 9.184 47.492 9.208 47.489 9.209 47.48 9.225 47.484 9.237 47.481 9.239 47.481 9.251 47.474 9.263 47.475 9.279 47.481 9.298 47.477 9.321 47.491 9.318 47.5 9.309 47.497 9.308 47.501 9.31 47.508 9.317 47.509 9.303 47.516 9.29 47.507 9.272 47.508 9.269 47.512 9.28 47.512 9.282 47.521 9.293 47.523 9.31 47.524 9.323 47.53 9.338 47.529 9.339 47.531 9.342 47.522 9.354 47.52 9.346 47.508 9.339 47.507 9.338 47.501 9.356 47.501 9.356 47.503 9.365 47.502 9.374 47.5 9.366 47.485 9.382 47.485 9.392 47.479 9.399 47.478 9.406 47.492 9.418 47.498 9.421 47.496 9.434 47.506 9.503 47.547 9.515 47.537 9.551 47.537 9.561 47.5 9.561 47.499 9.564 47.493 9.577 47.486 9.594 47.464 9.603 47.462 9.609 47.471 9.622 47.458 9.656 47.454 9.659 47.449 9.651 47.443 9.644 47.435 9.651 47.417 9.652 47.405 9.674 47.391 9.673 47.38 9.658 47.369 9.624 47.366 9.6 47.346 9.587 47.316 9.566 47.304 9.556 47.298 9.543 47.278 9.531 47.271 9.53 47.269 9.521 47.245 9.51 47.232 9.49 47.198 9.488 47.19 9.486 47.181 9.495 47.157 9.503 47.147 9.515 47.122 9.516 47.115 9.52 47.098 9.513 47.085 9.474 47.066 9.472 47.062 9.476 47.052 9.477 47.049 9.485 47.04 9.492 47.034 9.51 47.01 9.546 46.977 9.524 46.973 9.517 46.968 9.518 46.956 9.505 46.954 9.498 46.945 9.478 46.921 9.479 46.916 9.488 46.912 9.475 46.906 9.468 46.897 9.467 46.886 9.454 46.884 9.454 46.877 9.449 46.873 9.432 46.885 9.414 46.891 9.382 46.898 9.343 46.898 9.339 46.902 9.326 46.901 9.291 46.907 9.277 46.907</gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:posList>9.583 47.41 9.605 47.414 9.589 47.422 9.589 47.425 9.618 47.437 9.626 47.439 9.63 47.44 9.63 47.444 9.589 47.458 9.589 47.459 9.577 47.463 9.562 47.463 9.553 47.464 9.546 47.463 9.543 47.469 9.533 47.468 9.529 47.465 9.524 47.452 9.509 47.449 9.495 47.442 9.468 47.438 9.452 47.431 9.435 47.434 9.435 47.422 9.426 47.407 9.4 47.401 9.372 47.408 9.358 47.402 9.34 47.4 9.325 47.4 9.303 47.395 9.294 47.397 9.266 47.401 9.252 47.401 9.236 47.396 9.233 47.398 9.232 47.388 9.219 47.385 9.221 47.373 9.21 47.363 9.191 47.362 9.196 47.354 9.192 47.351 9.205 47.342 9.225 47.342 9.233 47.332 9.21 47.321 9.218 47.308 9.217 47.303 9.224 47.293 9.206 47.276 9.234 47.265 9.275 47.269 9.297 47.257 9.309 47.259 9.308 47.255 9.324 47.247 9.343 47.249 9.35 47.245 9.37 47.24 9.382 47.234 9.402 47.238 9.412 47.245 9.445 47.255 9.473 47.271 9.484 47.283 9.489 47.302 9.496 47.306 9.493 47.313 9.498 47.319 9.503 47.337 9.503 47.347 9.502 47.354 9.499 47.364 9.508 47.393 9.509 47.395 9.542 47.4 9.548 47.393 9.555 47.396 9.567 47.4 9.583 47.409 9.583 47.41</gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing> + <gml:posList>9.464 47.484 9.476 47.489 9.449 47.501 9.45 47.492 9.465 47.487 9.464 47.484</gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 702753.0,193270.0,768722.0,268320.0--> + <gmd:westBoundLongitude> + <gco:Decimal>8.796</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.674</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>46.873</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.547</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mime="java:org.fao.geonet.util.MimeTypeFinder"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>DXF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>14</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>andere Formate auf Anfrage</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_Distributor> + <gmd:distributorContact xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Raumentwicklung und Geoinformation (SG)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Raumentwicklung und Geoinformation (SG)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41(0)58 229 31 47</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41(0)58 229 45 99</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>St. Gallen</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>geodaten@sg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Lämmlisbrunnenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>54</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo. - Fr. von 8:00 - 17:00 Uhr</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="partner" /> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AREG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AREG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore" xmlns:gmi="http://www.isotc211.org/2005/gmi"> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>&lt;Allgemeine Aussagen des Datenerzeugers zur Herkunft des Datenbestands&gt; +&lt;Aussagen zur Datenerhebung&gt; Bsp: "Ab 1990 systematische Erhebung aller Verdachtsflächen, ..." +&lt;Aussagen zur Datenerfassung&gt; Bsp: "Digitalisierung von Handskizzen und Plänen"</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">&lt;Allgemeine Aussagen des Datenerzeugers zur Herkunft des Datenbestands&gt; +&lt;Aussagen zur Datenerhebung&gt; Bsp: "Ab 1990 systematische Erhebung aller Verdachtsflächen, ..." +&lt;Aussagen zur Datenerfassung&gt; Bsp: "Digitalisierung von Handskizzen und Plänen"</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/69e455f9-19d0-4473-857f-8f6e1234f934.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/69e455f9-19d0-4473-857f-8f6e1234f934.xml new file mode 100644 index 00000000000..07c1b7ed43f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/69e455f9-19d0-4473-857f-8f6e1234f934.xml @@ -0,0 +1,748 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>69e455f9-19d0-4473-857f-8f6e1234f934</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Basel-Stadt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bau- und Verkehrsdepartement</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 (0)61 267 92 85</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41 (0)61 267 92 91</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Basel</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>4001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>geo@bs.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Münsterplatz</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>11</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.geo.bs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geo.bs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.geo.bs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.geo.bs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.geo.bs.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="custodian" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Grundbuch- und Vermessungsamt</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Fachstelle für Geoinformation</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BS-BVD-GVA-FGI</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">BS-BVD-GVA-FGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BS-BVD-GVA-FGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">BS-BVD-GVA-FGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">BS-BVD-GVA-FGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">BS-BVD-GVA-FGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2013-03-19T09:09:44</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03 Basel-Stadt</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>2.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG: 2056</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG: 2056</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + <gmd:codeSpace> + <gco:CharacterString>CH1903+ / LV95</gco:CharacterString> + </gmd:codeSpace> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vorlage Kanton Basel-Stadt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vorlage Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="creation" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="asNeeded" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Die Geodaten sind öffentlich zugänglich. (Zugangsberechtigungsstufe [A] = öffentlich)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Die Geodaten sind öffentlich zugänglich. (Zugangsberechtigungsstufe [A] = öffentlich)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Die Geodaten sind beschränkt öffentlich zugänglich. (Zugangsberechtigungsstufe [B1] = intern)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Die Geodaten sind beschränkt öffentlich zugänglich. (Zugangsberechtigungsstufe [B1] = intern)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Die Geodaten sind beschränkt öffentlich zugänglich. (Zugangsberechtigungsstufe [B2] = Dienststelle)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Die Geodaten sind beschränkt öffentlich zugänglich. (Zugangsberechtigungsstufe [B2] = Dienststelle)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Die Geodaten sind beschränkt öffentlich zugänglich. (Zugangsberechtigungsstufe [B3] = Person)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Die Geodaten sind beschränkt öffentlich zugänglich. (Zugangsberechtigungsstufe [B3] = Person)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Es gelten die Nutzungsbedingungen für Geodaten des Kantons Basel-Stadt. (http://www.geo.bs.ch/agb)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Es gelten die Nutzungsbedingungen für Geodaten des Kantons Basel-Stadt. (http://www.geo.bs.ch/agb)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:distance> + <gco:Distance uom="m" /> + </gmd:distance> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Basel-Stadt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BS</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">BS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">BS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">BS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">BS</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N74ceb78c0a0148aab67791d190fc8751"> + <gml:surfaceMember> + <gml:Polygon gml:id="N74ceb78c0a0148aab67791d190fc8751.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>7.565 47.557 7.555 47.564 7.559 47.569 7.557 47.573 7.566 47.578 7.585 47.576 7.589 47.59 7.605 47.585 7.605 47.578 7.619 47.577 7.625 47.579 7.646 47.597 7.674 47.592 7.683 47.598 7.693 47.601 7.672 47.587 7.681 47.581 7.69 47.571 7.686 47.566 7.683 47.57 7.653 47.562 7.648 47.56 7.636 47.564 7.634 47.561 7.633 47.562 7.618 47.559 7.623 47.55 7.622 47.542 7.622 47.54 7.613 47.539 7.595 47.519 7.59 47.521 7.589 47.528 7.584 47.531 7.587 47.542 7.565 47.546 7.556 47.544 7.565 47.557</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 608728.0,263189.0,619153.0,272279.0--> + <gmd:westBoundLongitude> + <gco:Decimal>7.555</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>7.693</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>47.519</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.601</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + <gmd:supplementalInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:supplementalInformation> + <che:basicGeodataID gco:nilReason="missing"> + <gco:CharacterString /> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeList="#basicGeodataIDTypeCode" codeListValue="" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>DXF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>DWG</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Basel-Stadt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Kanton Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bau- und Verkehrsdepartement</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Bau- und Verkehrsdepartement</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 (0)61 267 92 85</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+41 (0)61 267 92 91</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Basel</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>4001</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>gva@bs.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Münsterplatz</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>11</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.gva.bs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.gva.bs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.gva.bs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.gva.bs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.gva.bs.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo - Do: 8:00 bis 12:00, 13:30 bis 16:30, Fr: 8:00 bis 12:00, 13:30 bis 16:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="distributor" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Grundbuch- und Vermessungsamt</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Kundenzentrum</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BS-BVD-GVA-KUZ</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">BS-BVD-GVA-KZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BS-BVD-GVA-KUZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">BS-BVD-GVA-KZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">BS-BVD-GVA-KZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">BS-BVD-GVA-KZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.stadtplan.bs.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>GeoViewer</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">GeoViewer</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Öffentliches Auskunftssystem des Kantons Basel-Stadt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Öffentliches Auskunftssystem des Kantons Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://map.geo.bs.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>MapBS</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">MapBS</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verwaltungsinternes Auskunftssystem des Kantons Basel-Stadt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verwaltungsinternes Auskunftssystem des Kantons Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://shop.geo.bs.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geodaten-Shop</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geodaten-Shop</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Öffentlich zugänglicher Geodaten-Downloaddienst des Kantons Basel-Stadt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Öffentlich zugänglicher Geodaten-Downloaddienst des Kantons Basel-Stadt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/7c60a4ac-1887-4121-949c-915ca618aadf.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/7c60a4ac-1887-4121-949c-915ca618aadf.xml new file mode 100644 index 00000000000..1cb1831fa30 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/7c60a4ac-1887-4121-949c-915ca618aadf.xml @@ -0,0 +1,597 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>7c60a4ac-1887-4121-949c-915ca618aadf</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:DateTime>2014-10-17T16:40:10</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CH1903</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CH1903</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SZ Datensatz Vorlage</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SZ Datensatz Vorlage</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurztitel obligatorisch für BGDI max. 30 Zeichen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurztitel obligatorisch für BGDI max. 30 Zeichen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="revision" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:otherCitationDetails xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>sonst noch etwas...? sonst wegklicken</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">sonst noch etwas...? sonst wegklicken</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherCitationDetails> + <gmd:collectiveTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="asNeeded" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>GEWISS</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>gibt es das? sonst wegklicken...</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">gibt es das? sonst wegklicken...</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <che:legislationConstraints> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>gibt es das? sonst wegklicken...</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">gibt es das? sonst wegklicken...</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schwyz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SZ</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">SZ</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N35e5911bca6049a4b4f64f052a79d1c7"> + <gml:surfaceMember> + <gml:Polygon gml:id="N35e5911bca6049a4b4f64f052a79d1c7.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.493 47.1 8.522 47.09 8.547 47.094 8.563 47.093 8.564 47.082 8.587 47.086 8.608 47.092 8.612 47.095 8.637 47.093 8.645 47.096 8.649 47.103 8.681 47.125 8.687 47.136 8.684 47.141 8.688 47.146 8.701 47.151 8.696 47.163 8.692 47.163 8.692 47.167 8.682 47.174 8.681 47.184 8.694 47.196 8.713 47.203 8.793 47.223 8.808 47.22 8.809 47.22 8.823 47.211 8.841 47.208 8.941 47.218 8.966 47.217 8.974 47.213 8.969 47.212 8.965 47.198 8.958 47.199 8.962 47.184 8.97 47.179 8.981 47.183 9.005 47.173 8.967 47.137 8.969 47.134 8.965 47.122 8.972 47.118 8.974 47.115 8.971 47.104 8.96 47.1 8.954 47.094 8.955 47.09 8.973 47.085 8.962 47.076 8.961 47.072 8.951 47.061 8.948 47.049 8.921 47.038 8.902 47.038 8.895 47.021 8.91 47.017 8.912 47.009 8.928 46.998 8.938 46.987 8.932 46.982 8.946 46.967 8.95 46.969 8.956 46.963 8.972 46.96 8.963 46.955 8.955 46.939 8.961 46.932 8.963 46.927 8.935 46.92 8.853 46.885 8.848 46.891 8.849 46.913 8.836 46.908 8.828 46.922 8.83 46.931 8.827 46.936 8.811 46.941 8.798 46.937 8.792 46.931 8.779 46.932 8.774 46.938 8.766 46.939 8.729 46.928 8.718 46.918 8.708 46.917 8.699 46.924 8.697 46.929 8.7 46.933 8.693 46.947 8.67 46.944 8.637 46.95 8.621 46.953 8.604 46.952 8.603 46.987 8.582 46.993 8.571 46.99 8.543 46.98 8.519 46.98 8.497 46.976 8.465 46.984 8.468 46.997 8.474 46.996 8.508 47.004 8.514 47.013 8.513 47.022 8.495 47.029 8.475 47.043 8.465 47.049 8.462 47.05 8.441 47.063 8.43 47.065 8.4 47.06 8.391 47.061 8.389 47.068 8.389 47.071 8.407 47.079 8.409 47.093 8.421 47.102 8.45 47.114 8.464 47.111 8.474 47.112 8.476 47.106 8.493 47.1</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 672198.0,193670.0,718724.0,231067.0--> + <gmd:westBoundLongitude> + <gco:Decimal>8.389</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.005</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>46.885</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.223</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + <gmd:supplementalInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>sonst noch was...? sonst wegklicken.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">sonst noch was...? sonst wegklicken.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:supplementalInformation> + <che:basicGeodataID> + <gco:CharacterString>-- z.B. 123.4 -- (siehe Sammlung Geobasisdatensätze)</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="cantonal" codeList="#basicGeodataIDTypeCode" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>MDB Geomedia</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://map.geo.sz.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>CHTOPO:specialised-geoportal</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>WebGIS des Kanton Schwyz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">WebGIS des Kanton Schwyz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>woher...? sonst wegklicken</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">woher...? sonst wegklicken</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <che:legislationInformation xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>--SR/SRSZ--</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">--SR/SRSZ--</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/8864721a-471b-4781-9cb2-1697e4065f6a.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/8864721a-471b-4781-9cb2-1697e4065f6a.xml new file mode 100644 index 00000000000..ca94504169e --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/8864721a-471b-4781-9cb2-1697e4065f6a.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" xsi:schemaLocation="http://www.geocat.ch/2008/che ../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>8864721a-471b-4781-9cb2-1697e4065f6a</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:dateStamp> + <gco:DateTime>2010-01-27T16:38:19</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 WFS (de) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- GM03 WFS (de) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <srv:serviceType> + <gco:LocalName>OGC:WFS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WFS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WFS-http-get-capabilities</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>DescribeFeature</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WFS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WFS-http-get-capabilities</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeature</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WFS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WFS-http-get-capabilities</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <che:inspireServiceType> + <che:CHE_SV_inspireServiceTypeCode codeList="#CHE_SV_inspireServiceTypeCode" codeListValue="DownloadService" /> + </che:inspireServiceType> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/8c03a903-a0ed-443b-9cc8-c9bcd32c5467.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/8c03a903-a0ed-443b-9cc8-c9bcd32c5467.xml new file mode 100644 index 00000000000..afb6d87e6db --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/8c03a903-a0ed-443b-9cc8-c9bcd32c5467.xml @@ -0,0 +1,325 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>8c03a903-a0ed-443b-9cc8-c9bcd32c5467</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeListValue="model" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Minimales Geodatenmodell</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Landestopographie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Landestopographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>058 469 01 11</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>058 469 04 02</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>andre.schneider@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>André</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Schneider</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Landestopographie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Landestopographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>058 469 01 11</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>058 469 03 38</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>pasquale.didonato@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.swisstopo.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Pasquale</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Di Donato</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2016-12-07T15:09:26</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geodatenmodell ...</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geodatenmodell ...</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Modèle de géodonnées ...</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Minimales Geodatenmodell ...</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Minimales Geodatenmodell ...</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="local://eng/xml.keyword.get?thesaurus=local._none_.non_validated&amp;id=http%3A%2F%2Fgeocat.ch%2Fconcept%23b6291656-f6fd-4199-9678-ad9be0fefe9f&amp;multiple=true&amp;lang=eng,ger,ita,fre,roh&amp;textgroupOnly=true" xlink:role="http://www.geonetwork.org/non_valid_obj" /> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mime="java:org.fao.geonet.util.MimeTypeFinder" xmlns:gts="http://www.isotc211.org/2005/gts"> + <gmd:MD_Distribution> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/8d124a60-2127-4b57-aa0e-725c3bdfe2ed.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/8d124a60-2127-4b57-aa0e-725c3bdfe2ed.xml new file mode 100644 index 00000000000..d6c15faa02f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/8d124a60-2127-4b57-aa0e-725c3bdfe2ed.xml @@ -0,0 +1,509 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>8d124a60-2127-4b57-aa0e-725c3bdfe2ed</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Service du cadastre et de la géomatique</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service du cadastre et de la géomatique</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Collaborateur technique</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Collaborateur technique</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 (0)26305 35 50</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Fribourg</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>1701</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>claude.grand@fr.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetNumber> + <gco:CharacterString>Rue Joseph-Piller 13</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Grand</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Claude</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SCG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SCG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2015-08-13T14:42:47</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Thème du modèle "MOPplusFR " de la mensuration officielle du canton de Fribourg</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Thème du modèle "MOPplusFR " de la mensuration officielle du canton de Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-08-13</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:edition gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:edition> + <gmd:editionDate> + <gco:Date /> + </gmd:editionDate> + <gmd:ISBN gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:ISBN> + <gmd:ISSN gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:ISSN> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>le thème propriété foncière reprend le "topic" bien-fonds de la mensuration officielle. +Il comprend les "immeubles" figurant sur le plan du registre foncier et les "points-limites". +......</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">le thème propriété foncière reprend le "topic" bien-fonds de la mensuration officielle. +Il comprend les "immeubles" figurant sur le plan du registre foncier et les "points-limites". +......</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Service du cadastre et de la géomatique</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Service du cadastre et de la géomatique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Service du cadastre et de la géomatique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service du cadastre et de la géomatique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Service du cadastre et de la géomatique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Service du cadastre et de la géomatique</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Collaborateur scientifique</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Collaborateur scientifique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Collaborateur scientifique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Collaborateur scientifique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Collaborateur scientifique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Collaborateur scientifique</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 (0)26 305 35 48</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Fribourg</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>1701</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>AF</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>gregoire.boegli@fr.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue Joseph-Piller</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>13</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.fr.ch/scg</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.fr.ch/scg</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.fr.ch/scg</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.fr.ch/scg</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.fr.ch/scg</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Grégoire</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Boegli</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SCG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">SCG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SCG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SCG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">SCG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">SCG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="weekly" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:resourceFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Enterprise Geodatabase / Interlis</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:resourceFormat> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>mensuration officielle MO</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">cadastral surveying</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">amtliche Vermessung AV</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">misurazione ufficiale MU</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">mensuration officielle MO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <che:legislationConstraints> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.1.1</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetMap</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeatureInfo</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + <srv:dependsOn /> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/a1266954-f2b4-40b1-8f9f-ffad99a8ef9a.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/a1266954-f2b4-40b1-8f9f-ffad99a8ef9a.xml new file mode 100644 index 00000000000..ef02a9ce723 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/a1266954-f2b4-40b1-8f9f-ffad99a8ef9a.xml @@ -0,0 +1,755 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>a1266954-f2b4-40b1-8f9f-ffad99a8ef9a</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>IBAarau AG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">IBAarau AG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>062 835 00 20</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Aarau</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>5001</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>leitungsauskunft@ibaarau.ch</gco:CharacterString> + </gmd:electronicMailAddress> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoproregio.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2013-01-17T14:48:59</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster Wasser Gemeinde Moosleerau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster Wasser Gemeinde Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2013-01-11</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="revision" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>Leitungskataster Wasser</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + <gmd:citedResponsibleParty xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemeindeverwaltung Moosleerau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemeindeverwaltung Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>062 / 738 70 80</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>062 / 738 70 81</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Moosleerau</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>5054</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>moosleerau@moosleerau.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Hubelstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>220</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoproregio.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="owner" /> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster Wasser der Gemeinde Moosleerau in SIA 405-Darstellung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster Wasser der Gemeinde Moosleerau in SIA 405-Darstellung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>IBAarau AG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">IBAarau AG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>062 835 00 20</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Aarau</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>5001</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>leitungsauskunft@ibaarau.ch</gco:CharacterString> + </gmd:electronicMailAddress> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoproregio.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:electronicMailAddress> + <gco:CharacterString>d5372144-3bf3-42ab-9f80-fcaf0c25548d@generated.org</gco:CharacterString> + </gmd:electronicMailAddress> + </che:CHE_CI_Address> + </gmd:address> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="processor" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>a</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>b</gco:CharacterString> + </che:individualLastName> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Pipeline cadastre</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Catasto delle condotte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Cadastre souterrain</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Wasserleitungsnetz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Water-supply system</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Wasserleitungsnetz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Rete di distribuzione idrica</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Réseau de distribution d'eau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Wasser</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">water (substance)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Wasser</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">acqua (sostanza)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">eau (substance)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Wasserversorgung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">water supply</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Wasserversorgung</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">approvvigionamento idrico</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">alimentation en eau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Trinkwasserversorgung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">drinking water supply</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Trinkwasserversorgung</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">approvvigionamento di acqua potabile</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">approvisionnement en eau potable</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>utilitiesCommunication</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>utilitiesCommunication_Energy</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Moosleerau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Moosleerau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Moosleerau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="Na16dbb6a0fcf44a8a47ec48c3876c3f9"> + <gml:surfaceMember> + <gml:Polygon gml:id="Na16dbb6a0fcf44a8a47ec48c3876c3f9.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.057 47.255 8.055 47.259 8.05 47.268 8.056 47.277 8.087 47.264 8.088 47.263 8.066 47.255 8.057 47.255</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 646302.0,233975.0,649169.0,236371.0--> + <gmd:westBoundLongitude> + <gco:Decimal>8.05</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>8.088</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>47.255</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.277</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>PDF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>DXF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>14</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>DWG</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>14</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>IBAarau AG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">IBAarau AG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>062 835 00 20</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Aarau</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>5001</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>leitungsauskunft@ibaarau.ch</gco:CharacterString> + </gmd:electronicMailAddress> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoproregio.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>IBAarau AG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">IBAarau AG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>062 835 00 20</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Aarau</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>5001</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>leitungsauskunft@ibaarau.ch</gco:CharacterString> + </gmd:electronicMailAddress> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoproregio.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.geoproregio.ch/ Geoportal für Online Leitungsauskunft</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/a1344a78-f4de-42dc-b2b0-304ba92f57a1.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/a1344a78-f4de-42dc-b2b0-304ba92f57a1.xml new file mode 100644 index 00000000000..055e5a93fac --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/a1344a78-f4de-42dc-b2b0-304ba92f57a1.xml @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>a1344a78-f4de-42dc-b2b0-304ba92f57a1</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2011-06-16T09:29:24</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RDP Leitungskataster Abwasser &lt;Name&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RDP Leitungskataster Abwasser &lt;Name&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster Abwasser: +Modell +"SIA405_Abw_2008_WI_LU01_minimal" +"SIA405_Abw_2008_WI_LU01_ziel"</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster Abwasser: +Modell +"SIA405_Abw_2008_WI_LU01_minimal" +"SIA405_Abw_2008_WI_LU01_ziel"</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Leitungskataster</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Pipeline cadastre</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Catasto delle condotte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Cadastre souterrain</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Daten des Leitungskatasters sind nicht öffentlich. Die Daten dürfen ohne schriftliche Beglaubigung des Kontakt „Ressource“ nicht im Zusammenhang mit Bauarbeiten oder ähnlichen Tätigkeiten verwendet werden!</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Daten des Leitungskatasters sind nicht öffentlich. Die Daten dürfen ohne schriftliche Beglaubigung des Kontakt „Ressource“ nicht im Zusammenhang mit Bauarbeiten oder ähnlichen Tätigkeiten verwendet werden!</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="restricted" /> + </gmd:useConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/b27d4194-cd71-4aed-a521-330f90bbcd97.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/b27d4194-cd71-4aed-a521-330f90bbcd97.xml new file mode 100644 index 00000000000..e720e095bc6 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/b27d4194-cd71-4aed-a521-330f90bbcd97.xml @@ -0,0 +1,518 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>b27d4194-cd71-4aed-a521-330f90bbcd97</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2011-10-03T15:44:33</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- NGDI Template --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- NGDI Template --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurztitel obligatorisch für NGDI max 30 Zeichen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurztitel obligatorisch für NGDI max 30 Zeichen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>e-geo.ch Geoportal</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">e-geo.ch geoportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">e-geo.ch Geoportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">geoportale e-geo.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">géoportail e-geo.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeListValue="otherRestrictions" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" /> + </gmd:useConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- URL Nutzungsbedingungen (s. Handbuch) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- URL Nutzungsbedingungen (s. Handbuch) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>-- MinScale (z.B 5000) -- Entfernen falls nicht relevant</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>-- MaxScale (z.B. 100000) -- Entfernen falls nicht relevant</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <che:basicGeodataID> + <gco:CharacterString>-- z.B. 123.4 -- (siehe Sammlung Geobasisdatensätze)</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeList="#basicGeodataIDTypeCode" codeListValue="federal" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- URL zum Download, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- URL zum Download, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--samples</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- z.B. Link zu Fachportal, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- z.B. Link zu Fachportal, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Name des Layers --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Name des Layers --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>WMS für das Nationale Geoportal</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">WMS für das Nationale Geoportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">WMS pour le géoportail national</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">WMS for the national geoportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMTS-http-get-capabilities</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Name des Layers --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Name des Layers --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>WMTS für das Nationale Geoportal</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">WMTS für das Nationale Geoportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">WMTS pour le géoportail national</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">WMTS for the national geoportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <che:legislationInformation xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:internalReference> + <gco:CharacterString>Anhang 1</gco:CharacterString> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung über Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung über Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoinformationsverordnung GeoIV</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoinformationsverordnung GeoIV</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OGéo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">OGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-05-21</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-07-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SR 510.620</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SR 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">RS 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">RS 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + <gmd:otherCitationDetails xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Liste aller Geodaten, welche über eine gesetzliche Grundlage auf Bundesebene verfügen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Liste aller Geodaten, welche über eine gesetzliche Grundlage auf Bundesebene verfügen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Liste de toutes les géodonnées de base de droit fédéral.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Questo elenco contiene tutti i geodati di base del diritto federale.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherCitationDetails> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/b9a415ee-16a7-45ee-a87d-371fb6687f9d.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/b9a415ee-16a7-45ee-a87d-371fb6687f9d.xml new file mode 100644 index 00000000000..0a289366346 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/b9a415ee-16a7-45ee-a87d-371fb6687f9d.xml @@ -0,0 +1,312 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>b9a415ee-16a7-45ee-a87d-371fb6687f9d</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-10-26T15:05:11</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RDP Bebauungspläne &lt;Gemeinde&gt; &lt;Name&gt;</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RDP Bebauungspläne &lt;Gemeinde&gt; &lt;Name&gt;</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Mit dem Bebauungsplan wird bezweckt, massgebliche Elemente einer Überbauung, die weitere Unterteilung der Bauzonen sowie die Freihaltung der Erschliessungsflächen und des nicht zu überbauenden Gebietes festzulegen. + +Siehe "Richtlinien zur Erstellung digitaler Bebauungspläne", Modell "Bebauungsplan_LU_103."</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Mit dem Bebauungsplan wird bezweckt, massgebliche Elemente einer Überbauung, die weitere Unterteilung der Bauzonen sowie die Freihaltung der Erschliessungsflächen und des nicht zu überbauenden Gebietes festzulegen. + +Siehe "Richtlinien zur Erstellung digitaler Bebauungspläne", Modell "Bebauungsplan_LU_103."</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bebauungsplan</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">allocation plan</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bebauungsplan</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">piano regolatore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">plan d'affectation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Zonenplan</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">plan of zones</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Zonenplan</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">piano delle zone</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Plan de zones</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Sondernutzungsplan, Spezialplan</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN" /> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Sondernutzungsplan, Spezialplan</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">piano di utilizzazione speciale</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">plan spécial, plan d'affectation de détail</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Baulinie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Building line</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Baulinie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Linea di edificazione</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Alignement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Den Daten der digitalen Bebauungspläne kommt keine Rechtswirkung zu. Rechtswirkung haben die genehmigten Originalpläne. Der Benutzer von digitalen Zonenplänen ist verantwortlich, deren Richtigkeit anhand der rechtskräftigen Originalpläne zu überprüfen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Den Daten der digitalen Bebauungspläne kommt keine Rechtswirkung zu. Rechtswirkung haben die genehmigten Originalpläne. Der Benutzer von digitalen Zonenplänen ist verantwortlich, deren Richtigkeit anhand der rechtskräftigen Originalpläne zu überprüfen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="copyright" /> + </gmd:useConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>planningCadastre_Planning</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>structure</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geo.lu.ch/app/raumdaten/index.php?NAME=****&amp;VIEW=PLANEN</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoportal der Gemeinde</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoportal der Gemeinde</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/ba94b195-b41f-424c-955e-2cbb06025e5a.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/ba94b195-b41f-424c-955e-2cbb06025e5a.xml new file mode 100644 index 00000000000..563b5667cb1 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/ba94b195-b41f-424c-955e-2cbb06025e5a.xml @@ -0,0 +1,426 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>ba94b195-b41f-424c-955e-2cbb06025e5a</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Militärkartografie / Bundesamt für Landestopografie swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 58 46 90111</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>+41 58 46 90590</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:administrativeArea> + <gco:CharacterString>VBS</gco:CharacterString> + </gmd:administrativeArea> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>milgeo@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>MilKarto / swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2016-02-02T15:06:15</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>MGDI Template</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">MGDI Template</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="revision" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <che:legislationConstraints> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:title /> + </che:CHE_MD_Legislation> + </che:legislationConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints /> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <gmd:extent> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_Distribution> + <gmd:distributor xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Militärkartografie / Bundesamt für Landestopografie swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Militärkartografie / Bundesamt für Landestopografie swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 58 46 90111</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>+41 58 46 90590</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:administrativeArea> + <gco:CharacterString>VBS</gco:CharacterString> + </gmd:administrativeArea> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>milgeo@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.swisstopo.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>MilKarto / swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">MilKarto / swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/bb4f66a9-0ab3-43ac-994e-cdd634d75efb.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/bb4f66a9-0ab3-43ac-994e-cdd634d75efb.xml new file mode 100644 index 00000000000..d6294865c4b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/bb4f66a9-0ab3-43ac-994e-cdd634d75efb.xml @@ -0,0 +1,587 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>bb4f66a9-0ab3-43ac-994e-cdd634d75efb</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-10-26T15:02:51</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="" /> + </gmd:topologyLevel> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer /> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 Medium (Vektor, de) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- GM03 Medium (Vektor, de) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>--Eindeutige ID des Datenbestands (INSPIRE) --</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vektor</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">vector</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vektor</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">vettore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">vecteur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- wenn benutzerdef. ausgewählt --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- wenn benutzerdef. ausgewählt --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:class> + <che:CHE_MD_Class> + <che:name> + <gco:CharacterString>ISO Ansicht "Inhalt" um weitere Klassen anzugeben</gco:CharacterString> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + <che:attribute> + <che:name> + <gco:CharacterString>ISO Ansicht "Inhalt" um weitere Attribute anzugeben</gco:CharacterString> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + </che:attribute> + </che:CHE_MD_Class> + </che:class> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess> + <gmd:fees gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:fees> + </gmd:MD_StandardOrderProcess> + </gmd:distributionOrderProcess> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MediumNameCode" codeListValue="" /> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INSPIRE Durchführungsbestimmungen bezüglich Metadaten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INSPIRE Durchführungsbestimmungen bezüglich Metadaten</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-12-03</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>0</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:processStep> + <gmd:LI_ProcessStep> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:dateTime> + <gco:DateTime /> + </gmd:dateTime> + </gmd:LI_ProcessStep> + </gmd:processStep> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:portrayalCatalogueInfo> + <che:CHE_MD_PortrayalCatalogueReference> + <gmd:portrayalCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:portrayalCatalogueCitation> + <che:portrayalCatalogueURL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:portrayalCatalogueURL> + </che:CHE_MD_PortrayalCatalogueReference> + </gmd:portrayalCatalogueInfo> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:internalReference gco:nilReason="missing"> + <gco:CharacterString /> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/c0773bc2-6202-4ac1-a144-8085cc9c0bf8.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/c0773bc2-6202-4ac1-a144-8085cc9c0bf8.xml new file mode 100644 index 00000000000..b209f7a2d15 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/c0773bc2-6202-4ac1-a144-8085cc9c0bf8.xml @@ -0,0 +1,304 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata" xsi:schemaLocation="http://www.geocat.ch/2008/che http://www.isotc211.org/2005/gmd http://www.isotc211.org/2005/gmd/gmd.xsd http://www.isotc211.org/2005/srv http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd"> + <gmd:fileIdentifier> + <gco:CharacterString>c0773bc2-6202-4ac1-a144-8085cc9c0bf8</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2016-05-24T11:31:16</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- opendata.swiss-Template--</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- opendata.swiss-Template--</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- opendata.swiss-Template--</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurztitel obligatorisch für BGDI max. 35 Zeichen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurztitel obligatorisch für BGDI max. 35 Zeichen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- Résumée --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>opendata.swiss</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:useConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>keine Einschränkung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">keine Einschränkung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <che:basicGeodataID> + <gco:CharacterString>-- z.B. 123.4 -- (siehe Sammlung Geobasisdatensätze)</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="federal" codeList="#basicGeodataIDTypeCode" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_Distribution> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-URL</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- URL zum Download</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- URL zum Download</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- URL pour download --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/c56bebff-2db0-4387-a702-f6a48f907e70.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/c56bebff-2db0-4387-a702-f6a48f907e70.xml new file mode 100644 index 00000000000..a3ad7a5d67b --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/c56bebff-2db0-4387-a702-f6a48f907e70.xml @@ -0,0 +1,587 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>c56bebff-2db0-4387-a702-f6a48f907e70</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ita</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-10-26T15:02:56</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="" /> + </gmd:topologyLevel> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer /> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 Medium Vettore --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-- GM03 Medium Vettore --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>-- id unico per i data (per INSPIRE) --</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>vettore</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">vector</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vektor</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">vettore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">vecteur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- se "Autres restrictions" selezionnato --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-- se "Autres restrictions" selezionnato --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:class> + <che:CHE_MD_Class> + <che:name> + <gco:CharacterString>-- Vue ISO "Contenu" per aggiungere delle classe</gco:CharacterString> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + <che:attribute> + <che:name> + <gco:CharacterString>-- Vue ISO "Contenu" per aggiungere degli attributi</gco:CharacterString> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + </che:attribute> + </che:CHE_MD_Class> + </che:class> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess> + <gmd:fees gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:fees> + </gmd:MD_StandardOrderProcess> + </gmd:distributionOrderProcess> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#IT" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MediumNameCode" codeListValue="" /> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INSPIRE Recante attuazione per i metadati</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">INSPIRE Recante attuazione per i metadati</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-12-03</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>0</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:processStep> + <gmd:LI_ProcessStep> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>cambiare in vue ISO per aggiungere processi</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">cambiare in vue ISO per aggiungere processi</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:dateTime> + <gco:DateTime /> + </gmd:dateTime> + </gmd:LI_ProcessStep> + </gmd:processStep> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:portrayalCatalogueInfo> + <che:CHE_MD_PortrayalCatalogueReference> + <gmd:portrayalCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:portrayalCatalogueCitation> + <che:portrayalCatalogueURL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:portrayalCatalogueURL> + </che:CHE_MD_PortrayalCatalogueReference> + </gmd:portrayalCatalogueInfo> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:internalReference gco:nilReason="missing"> + <gco:CharacterString /> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/caad4dfb-1d0e-4bc3-968a-5f103df0a521.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/caad4dfb-1d0e-4bc3-968a-5f103df0a521.xml new file mode 100644 index 00000000000..6b81e8f883f --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/caad4dfb-1d0e-4bc3-968a-5f103df0a521.xml @@ -0,0 +1,393 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>caad4dfb-1d0e-4bc3-968a-5f103df0a521</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2009-05-07T15:19:38</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_GridSpatialRepresentation> + <gmd:numberOfDimensions> + <gco:Integer /> + </gmd:numberOfDimensions> + <gmd:cellGeometry> + <gmd:MD_CellGeometryCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CellGeometryCode" codeListValue="" /> + </gmd:cellGeometry> + <gmd:transformationParameterAvailability> + <gco:Boolean>0</gco:Boolean> + </gmd:transformationParameterAvailability> + </gmd:MD_GridSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 Medium (Raster, de) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- GM03 Medium (Raster, de) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Rasterdaten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">raster file</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Rasterdaten</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">dati in formato raster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">données raster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + <gmd:userNote xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:userNote> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeListValue="grid" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:distance> + <gco:Distance uom="m" /> + </gmd:distance> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <gmd:environmentDescription xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:environmentDescription> + <gmd:supplementalInformation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:supplementalInformation> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_CoverageDescription> + <gmd:attributeDescription> + <gco:RecordType /> + </gmd:attributeDescription> + <gmd:contentType> + <gmd:MD_CoverageContentTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CoverageContentTypeCode" codeListValue="" /> + </gmd:contentType> + </che:CHE_MD_CoverageDescription> + </gmd:contentInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>GeoTIFF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + <gmd:source> + <gmd:LI_Source> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:LI_Source> + </gmd:source> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:metadataMaintenance xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:metadataMaintenance> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/cd9549ed-e1a1-4fcd-856e-96df79eee579.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/cd9549ed-e1a1-4fcd-856e-96df79eee579.xml new file mode 100644 index 00000000000..3e489b252b3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/cd9549ed-e1a1-4fcd-856e-96df79eee579.xml @@ -0,0 +1,493 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata" xsi:schemaLocation="http://www.geocat.ch/2008/che http://www.isotc211.org/2005/gmd http://www.isotc211.org/2005/gmd/gmd.xsd http://www.isotc211.org/2005/srv http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd"> + <gmd:fileIdentifier> + <gco:CharacterString>cd9549ed-e1a1-4fcd-856e-96df79eee579</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2014-04-14T09:17:03</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- BGDI Template --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- BGDI Template --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurztitel obligatorisch für BGDI max. 35 Zeichen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurztitel obligatorisch für BGDI max. 35 Zeichen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="asNeeded" /> + </gmd:maintenanceAndUpdateFrequency> + <che:appraisal> + <che:CHE_MD_Appraisal_AAP> + <che:durationOfConservation> + <gco:Integer /> + </che:durationOfConservation> + <che:appraisalOfArchivalValue> + <che:CHE_AppraisalOfArchivalValueCode codeList="#CHE_AppraisalOfArchivalValueCode" codeListValue="" /> + </che:appraisalOfArchivalValue> + <che:reasonForArchivingValue> + <che:CHE_ReasonForArchivingValueCode codeList="#CHE_ReasonForArchivingValueCode" codeListValue="" /> + </che:reasonForArchivingValue> + </che:CHE_MD_Appraisal_AAP> + </che:appraisal> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Aufbewahrungs- und Archivierungsplanung AAP - Bund</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Conservation and archiving planning AAP - Confederation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Aufbewahrungs- und Archivierungsplanung AAP - Bund</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Pianificazione della conservazione e dell’archiviazione AAP - Confederazione</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Planification de la conservation et de l'archivage AAP - Conféderation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BGDI Bundesgeodaten-Infrastruktur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">FSDI Federal Spatial Data Infrastructure</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BGDI Bundesgeodaten-Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">IFDG Infrastruttura federale dei dati geografici</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">IFDG l’Infrastructure Fédérale de données géographiques</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- URL Nutzungsbedingungen (s. Handbuch)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- URL Nutzungsbedingungen (s. Handbuch)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- gebührenpflichtig --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- gebührenpflichtig --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <che:basicGeodataID> + <gco:CharacterString>-- z.B. 123.4 -- (siehe Sammlung Geobasisdatensätze)</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="federal" codeList="#basicGeodataIDTypeCode" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-URL</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- URL zum Download, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- URL zum Download, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>CHTOPO:specialised-geoportal</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- z. B. Link zu Fachportal, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- z. B. Link zu Fachportal, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <che:legislationInformation xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:internalReference> + <gco:CharacterString>510.620, Anhang 1</gco:CharacterString> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung über Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung über Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoinformationsverordnung GeoIV</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoinformationsverordnung GeoIV</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-05-21</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-07-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SR 510.620</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SR 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + <gmd:otherCitationDetails xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherCitationDetails> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/d45563b9-4b52-4381-be57-9b68d8345744.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/d45563b9-4b52-4381-be57-9b68d8345744.xml new file mode 100644 index 00000000000..41f893f6d6d --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/d45563b9-4b52-4381-be57-9b68d8345744.xml @@ -0,0 +1,590 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>d45563b9-4b52-4381-be57-9b68d8345744</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-10-26T15:02:45</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="" /> + </gmd:topologyLevel> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer /> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 Medium Vecteur --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- GM03 Medium Vecteur --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>--Identifiant unique du jeu de données (pour INSPIRE) --</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>vecteur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">vector</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vektor</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">vettore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">vecteur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- si "Autres restrictions" selectionné en haut --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- si "Autres restrictions" selectionné en haut --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:class> + <che:CHE_MD_Class> + <che:name> + <gco:CharacterString>-- Vue ISO "Contenu" pour ajouter des classes</gco:CharacterString> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + <che:attribute> + <che:name> + <gco:CharacterString>-- Vue ISO "Contenu" pour ajouter des attributs</gco:CharacterString> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + </che:attribute> + </che:CHE_MD_Class> + </che:class> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributionOrderProcess> + <gmd:MD_StandardOrderProcess> + <gmd:fees gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:fees> + </gmd:MD_StandardOrderProcess> + </gmd:distributionOrderProcess> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MediumNameCode" codeListValue="" /> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INSPIRE Modalités d'application concernant les métadonnées</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">INSPIRE Modalités d'application concernant les métadonnées</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-12-03</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>0</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + <gmd:source> + <gmd:LI_Source /> + </gmd:source> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:processStep> + <gmd:LI_ProcessStep> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Passez en vue ISO pour ajouter des processus</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Passez en vue ISO pour ajouter des processus</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:dateTime> + <gco:DateTime /> + </gmd:dateTime> + </gmd:LI_ProcessStep> + </gmd:processStep> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:portrayalCatalogueInfo> + <che:CHE_MD_PortrayalCatalogueReference> + <gmd:portrayalCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:portrayalCatalogueCitation> + <che:portrayalCatalogueURL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:portrayalCatalogueURL> + </che:CHE_MD_PortrayalCatalogueReference> + </gmd:portrayalCatalogueInfo> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:internalReference gco:nilReason="missing"> + <gco:CharacterString /> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/d5fbca42-0ab7-4797-be8a-846fb78c7d3f.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/d5fbca42-0ab7-4797-be8a-846fb78c7d3f.xml new file mode 100644 index 00000000000..0705b8dc9f3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/d5fbca42-0ab7-4797-be8a-846fb78c7d3f.xml @@ -0,0 +1,605 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>d5fbca42-0ab7-4797-be8a-846fb78c7d3f</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Centre de Compétence SIT, CCSIT</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Centre de Compétence SIT, CCSIT</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <che:directNumber> + <gco:CharacterString>026 / 305 31 77</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Fribourg</gco:CharacterString> + </gmd:city> + <gmd:administrativeArea> + <gco:CharacterString>Service du cadastre et de la géomatique (SCG)</gco:CharacterString> + </gmd:administrativeArea> + <gmd:postalCode> + <gco:CharacterString>1701</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>Vincent.Grandgirard@fr.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue Joseph-Piller</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>13</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.sysif.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Vincent</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Grandgirard</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SYSIF</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">SYSIF</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2015-04-30T08:33:30</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:dataSetURI gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:dataSetURI> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer /> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CH1903+/MN95, Système de coordonnées nationales (EPSG:2056)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">CH1903+/MN95, Système de coordonnées nationales (EPSG:2056)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>GM03 Medium vecteur canton fribourg</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">GM03 Medium vecteur canton fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:presentationForm> + <gmd:CI_PresentationFormCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_PresentationFormCode" codeListValue="" /> + </gmd:presentationForm> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + <gmd:dateOfNextUpdate> + <gco:Date /> + </gmd:dateOfNextUpdate> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:resourceFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Enterprise Geodatabase</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:resourceFormat> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>vecteur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">vector</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vektor</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">vettore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">vecteur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <gmd:environmentDescription xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:environmentDescription> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Fribourg</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Fribourg</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>FR</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">FR</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="Nacf17a7a613040fd8298b1ab7aa5e9b1"> + <gml:surfaceMember> + <gml:Polygon gml:id="Nacf17a7a613040fd8298b1ab7aa5e9b1.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.93 46.9 6.924 46.904 6.922 46.906 6.896 46.925 6.929 46.953 6.962 46.927 6.972 46.921 6.978 46.923 6.988 46.918 6.982 46.914 6.984 46.908 7.009 46.889 6.994 46.879 6.999 46.874 7.007 46.873 7.016 46.881 7.032 46.876 7.036 46.873 7.03 46.866 7.039 46.859 7.029 46.851 7.035 46.847 7.038 46.845 7.05 46.855 7.058 46.862 7.067 46.869 7.071 46.873 7.066 46.881 7.062 46.88 7.062 46.884 7.08 46.894 7.074 46.895 7.083 46.896 7.091 46.892 7.1 46.898 7.091 46.904 7.09 46.908 7.084 46.913 7.06 46.937 7.06 46.951 7.056 46.955 7.06 46.956 7.063 46.971 7.041 46.979 7.04 46.98 7.058 46.977 7.09 46.977 7.138 46.983 7.147 46.985 7.16 46.987 7.171 46.991 7.179 46.994 7.187 46.997 7.2 47.002 7.205 47.006 7.217 47.006 7.226 46.999 7.223 46.994 7.229 46.991 7.236 46.985 7.231 46.981 7.223 46.975 7.215 46.971 7.214 46.967 7.195 46.964 7.194 46.961 7.2 46.959 7.206 46.96 7.211 46.957 7.208 46.949 7.21 46.943 7.204 46.938 7.212 46.931 7.211 46.927 7.205 46.922 7.207 46.91 7.204 46.906 7.188 46.9 7.195 46.899 7.2 46.902 7.208 46.903 7.218 46.897 7.223 46.903 7.23 46.904 7.237 46.898 7.257 46.898 7.281 46.89 7.29 46.894 7.309 46.892 7.326 46.894 7.349 46.889 7.354 46.886 7.352 46.876 7.359 46.863 7.349 46.853 7.338 46.85 7.326 46.852 7.323 46.855 7.331 46.858 7.316 46.863 7.312 46.856 7.302 46.852 7.33 46.835 7.33 46.83 7.32 46.825 7.317 46.814 7.302 46.794 7.303 46.789 7.305 46.783 7.292 46.774 7.296 46.765 7.303 46.76 7.303 46.754 7.304 46.748 7.297 46.737 7.299 46.723 7.308 46.717 7.35 46.712 7.346 46.699 7.36 46.698 7.377 46.689 7.373 46.68 7.376 46.675 7.371 46.669 7.369 46.656 7.377 46.656 7.358 46.643 7.346 46.655 7.324 46.655 7.33 46.642 7.323 46.637 7.313 46.637 7.312 46.622 7.318 46.616 7.315 46.6 7.321 46.592 7.313 46.589 7.308 46.581 7.299 46.579 7.281 46.584 7.26 46.563 7.237 46.554 7.223 46.548 7.208 46.533 7.192 46.547 7.171 46.533 7.159 46.527 7.148 46.528 7.136 46.509 7.123 46.499 7.11 46.495 7.1 46.487 7.078 46.489 7.072 46.486 7.066 46.489 7.061 46.487 7.023 46.462 7.018 46.447 6.984 46.438 6.992 46.449 6.98 46.459 6.978 46.473 6.981 46.475 6.975 46.479 6.971 46.491 6.962 46.497 6.948 46.501 6.934 46.502 6.925 46.508 6.91 46.512 6.901 46.513 6.896 46.508 6.897 46.519 6.883 46.513 6.882 46.513 6.866 46.501 6.863 46.494 6.858 46.493 6.848 46.494 6.833 46.505 6.83 46.512 6.824 46.512 6.812 46.526 6.824 46.541 6.832 46.537 6.851 46.541 6.855 46.541 6.861 46.531 6.867 46.541 6.868 46.542 6.888 46.558 6.893 46.559 6.902 46.561 6.898 46.571 6.885 46.562 6.874 46.565 6.872 46.57 6.865 46.576 6.853 46.582 6.842 46.582 6.841 46.58 6.835 46.575 6.829 46.577 6.814 46.586 6.813 46.578 6.799 46.574 6.795 46.575 6.799 46.584 6.801 46.593 6.798 46.6 6.802 46.601 6.804 46.609 6.797 46.634 6.803 46.645 6.799 46.649 6.818 46.648 6.828 46.66 6.838 46.663 6.844 46.661 6.854 46.656 6.863 46.658 6.872 46.673 6.865 46.676 6.863 46.681 6.866 46.684 6.873 46.683 6.881 46.69 6.893 46.7 6.892 46.703 6.898 46.708 6.921 46.722 6.922 46.724 6.934 46.732 6.936 46.733 6.941 46.745 6.938 46.749 6.931 46.754 6.911 46.753 6.908 46.758 6.914 46.763 6.92 46.76 6.929 46.767 6.939 46.782 6.951 46.785 6.959 46.79 6.956 46.793 6.967 46.803 6.958 46.811 6.958 46.819 6.965 46.828 6.971 46.824 6.985 46.822 6.993 46.83 6.985 46.841 6.992 46.848 6.99 46.85 6.983 46.846 6.976 46.847 6.982 46.867 6.989 46.873 6.987 46.875 6.974 46.887 6.962 46.884 6.959 46.879 6.97 46.867 6.965 46.865 6.939 46.89 6.926 46.893 6.924 46.895 6.93 46.9</gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:posList>7.124 46.901 7.138 46.908 7.136 46.917 7.132 46.919 7.115 46.916 7.113 46.911 7.119 46.902 7.124 46.901</gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="Nacf17a7a613040fd8298b1ab7aa5e9b1.2"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.767 46.809 6.742 46.827 6.78 46.853 6.866 46.909 6.891 46.887 6.904 46.879 6.911 46.881 6.921 46.871 6.912 46.867 6.892 46.865 6.896 46.861 6.913 46.866 6.93 46.854 6.919 46.847 6.908 46.835 6.905 46.824 6.911 46.813 6.905 46.806 6.907 46.805 6.913 46.804 6.92 46.81 6.931 46.806 6.917 46.787 6.911 46.78 6.907 46.783 6.894 46.777 6.877 46.776 6.864 46.781 6.864 46.784 6.853 46.786 6.843 46.779 6.84 46.781 6.833 46.775 6.818 46.778 6.814 46.779 6.805 46.786 6.798 46.783 6.783 46.793 6.776 46.79 6.787 46.8 6.784 46.803 6.779 46.801 6.777 46.803 6.767 46.809</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="Nacf17a7a613040fd8298b1ab7aa5e9b1.3"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.829 46.753 6.829 46.756 6.844 46.765 6.846 46.771 6.85 46.775 6.86 46.766 6.86 46.764 6.868 46.76 6.873 46.758 6.882 46.75 6.867 46.733 6.868 46.728 6.862 46.725 6.852 46.726 6.852 46.727 6.838 46.733 6.828 46.735 6.817 46.733 6.811 46.728 6.806 46.727 6.788 46.728 6.794 46.736 6.798 46.734 6.816 46.738 6.829 46.753</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="Nacf17a7a613040fd8298b1ab7aa5e9b1.4"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>6.759 46.725 6.749 46.732 6.768 46.744 6.773 46.751 6.786 46.748 6.784 46.735 6.771 46.721 6.763 46.717 6.759 46.722 6.759 46.725</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 546871.0,143063.0,595318.0,206170.0--> + <gmd:westBoundLongitude> + <gco:Decimal>6.742</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>7.377</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>46.438</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.006</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL /> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:class> + <che:CHE_MD_Class> + <che:name gco:nilReason="missing"> + <gco:CharacterString /> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + <che:attribute> + <che:name gco:nilReason="missing"> + <gco:CharacterString /> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + </che:attribute> + </che:CHE_MD_Class> + </che:class> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Enterprise Geodatabase</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:metadataMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="" /> + </gmd:maintenanceAndUpdateFrequency> + <gmd:dateOfNextUpdate> + <gco:Date /> + </gmd:dateOfNextUpdate> + </che:CHE_MD_MaintenanceInformation> + </gmd:metadataMaintenance> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="" /> + </che:country> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="" /> + </che:legislationType> + <che:internalReference gco:nilReason="missing"> + <gco:CharacterString /> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/dae82bbe-3859-4482-be8f-045a09e62f9f.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/dae82bbe-3859-4482-be8f-045a09e62f9f.xml new file mode 100644 index 00000000000..53c3bd5de86 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/dae82bbe-3859-4482-be8f-045a09e62f9f.xml @@ -0,0 +1,531 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata" xsi:schemaLocation="http://www.geocat.ch/2008/che http://www.isotc211.org/2005/gmd http://www.isotc211.org/2005/gmd/gmd.xsd http://www.isotc211.org/2005/srv http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd"> + <gmd:fileIdentifier> + <gco:CharacterString>dae82bbe-3859-4482-be8f-045a09e62f9f</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <ERROR>no deleted object with id: '10808739' exists</ERROR> + </gmd:contact> + <gmd:dateStamp xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2016-03-03T12:09:15</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Waldschadenkarte - Projektil</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Waldschadenkarte - Projektil</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Carte des dégâts aux forêts - projektil</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Mappa dei danni forestali - projektil</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Waldschadenkarte</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Waldschadenkarte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Mappa dei danni forestali</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Carte des dégâts aux forêts</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2005</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Die Web-Applikation PROJEKTIL dient der Visualisierung von: +- bisherigen Schiessschäden am Holz inkl. Folgeschäden, welche durch das Militär verursacht wurden und +- Schiessplätzen. +Durch die Visualisierung über das Internet, wird den Chefexperten und Ferrosko-peuren ein effizientes Tool zur Verfügung gestellt, um sich einen Überblick über bisherige Schiessschäden und Schiessplätze zu verschaffen. Dies mit dem Ziel, zukünftige Schäden und damit verbundene Entschädigungszahlungen zu reduzie-ren (Prävention).</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Die Web-Applikation PROJEKTIL dient der Visualisierung von: +- bisherigen Schiessschäden am Holz inkl. Folgeschäden, welche durch das Militär verursacht wurden und +- Schiessplätzen. +Durch die Visualisierung über das Internet, wird den Chefexperten und Ferrosko-peuren ein effizientes Tool zur Verfügung gestellt, um sich einen Überblick über bisherige Schiessschäden und Schiessplätze zu verschaffen. Dies mit dem Ziel, zukünftige Schäden und damit verbundene Entschädigungszahlungen zu reduzie-ren (Prävention).</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Le programme PROJEKTIL vous permet de visualiser: +• les dommages causés aux arbres par des impacts de tirs, y compris les dommages subséquents provoqués par les militaires, et +• les places de tir. +Grâce à cette visualisation par le biais d'Internet, l'utilisateur dispose d'un outil efficace pour acquérir une vue d'ensemble sur les dégâts occasionnés par des tirs et sur les places de tir. L'objectif, à l'avenir, est de réduire les dégâts et le verse-ment d'indemnisations y relatives (prévention).</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <ERROR>no deleted object with id: '10808738' exists</ERROR> + </gmd:pointOfContact> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <ERROR>no deleted object with id: '10808739' exists</ERROR> + </gmd:pointOfContact> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schiessschaden</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN" /> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schiessschaden</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT" /> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">dégâts de tirs</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="local://eng/xml.keyword.get?thesaurus=local._none_.non_validated&amp;id=http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%23f6159453-f62e-4a0f-ac83-1b5da3334b80,http%3A%2F%2Fgeocat.ch%2Fconcept%239609bd43-0098-453c-846f-bf2c29b5d325&amp;multiple=true&amp;lang=eng,ger,ita,fre,roh&amp;textgroupOnly=true" xlink:role="http://www.geonetwork.org/non_valid_obj" /> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Waldschaden</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">forest damage</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Waldschaden</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">danno forestale</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">dégâts forestiers</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Keine Einschränkung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Keine Einschränkung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_Constraints /> + </gmd:resourceConstraints> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>intelligenceMilitary</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="Nfef528e2ab0447b695ec9c8fc74dbfdc"> + <gml:surfaceMember> + <gml:Polygon gml:id="Nfef528e2ab0447b695ec9c8fc74dbfdc.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.785 47.677 8.796 47.675 8.794 47.68 8.797 47.688 8.8 47.692 8.81 47.693 8.793 47.704 8.769 47.707 8.77 47.715 8.785 47.727 8.799 47.727 8.797 47.735 8.807 47.738 8.809 47.725 8.823 47.716 8.819 47.713 8.826 47.711 8.834 47.715 8.843 47.712 8.848 47.703 8.868 47.705 8.873 47.704 8.876 47.697 8.871 47.693 8.862 47.697 8.852 47.697 8.852 47.681 8.861 47.68 8.868 47.676 8.874 47.667 8.875 47.656 8.875 47.655 8.898 47.648 8.941 47.656 8.987 47.676 9.023 47.687 9.1 47.677 9.117 47.669 9.139 47.664 9.15 47.668 9.157 47.666 9.163 47.66 9.171 47.655 9.182 47.656 9.234 47.657 9.248 47.659 9.268 47.656 9.445 47.595 9.503 47.547 9.515 47.537 9.551 47.537 9.561 47.5 9.561 47.499 9.564 47.493 9.577 47.486 9.594 47.464 9.603 47.462 9.609 47.471 9.622 47.458 9.656 47.454 9.659 47.449 9.651 47.443 9.644 47.435 9.651 47.417 9.652 47.405 9.674 47.391 9.673 47.38 9.658 47.369 9.624 47.366 9.6 47.346 9.587 47.316 9.566 47.304 9.556 47.298 9.543 47.278 9.531 47.271 9.53 47.269 9.521 47.245 9.51 47.232 9.49 47.198 9.488 47.19 9.486 47.181 9.495 47.157 9.503 47.147 9.515 47.122 9.516 47.115 9.52 47.098 9.513 47.085 9.474 47.066 9.472 47.062 9.476 47.052 9.482 47.056 9.486 47.049 9.491 47.056 9.512 47.057 9.531 47.063 9.54 47.065 9.552 47.059 9.557 47.049 9.588 47.055 9.603 47.062 9.607 47.061 9.617 47.054 9.637 47.052 9.645 47.06 9.658 47.058 9.676 47.061 9.718 47.043 9.745 47.041 9.748 47.037 9.783 47.038 9.831 47.014 9.851 47.016 9.861 47.022 9.876 47.021 9.88 47.018 9.871 47.013 9.873 47.007 9.889 47.001 9.891 46.992 9.874 46.966 9.879 46.957 9.876 46.935 9.892 46.932 9.906 46.925 9.912 46.926 9.916 46.922 9.946 46.912 9.959 46.916 9.967 46.912 9.978 46.916 9.981 46.906 9.99 46.902 10.02 46.899 10.052 46.877 10.051 46.865 10.055 46.862 10.088 46.86 10.097 46.849 10.105 46.841 10.118 46.844 10.123 46.848 10.139 46.847 10.147 46.851 10.157 46.848 10.183 46.857 10.194 46.866 10.231 46.866 10.232 46.872 10.235 46.885 10.23 46.898 10.241 46.931 10.257 46.93 10.294 46.922 10.297 46.92 10.302 46.925 10.316 46.925 10.317 46.931 10.306 46.94 10.308 46.948 10.328 46.954 10.33 46.965 10.35 46.991 10.372 46.991 10.389 47.001 10.398 46.997 10.413 46.983 10.427 46.975 10.422 46.96 10.429 46.956 10.434 46.956 10.458 46.951 10.487 46.939 10.486 46.915 10.479 46.908 10.475 46.894 10.465 46.884 10.471 46.873 10.47 46.855 10.467 46.836 10.46 46.835 10.458 46.817 10.451 46.805 10.443 46.799 10.43 46.797 10.427 46.789 10.423 46.788 10.434 46.782 10.442 46.772 10.443 46.754 10.4 46.733 10.418 46.718 10.416 46.709 10.403 46.706 10.393 46.689 10.384 46.683 10.392 46.672 10.391 46.659 10.394 46.655 10.402 46.637 10.409 46.635 10.446 46.641 10.491 46.615 10.484 46.605 10.487 46.589 10.484 46.578 10.475 46.566 10.478 46.557 10.472 46.544 10.459 46.541 10.453 46.531 10.437 46.537 10.418 46.551 10.397 46.544 10.37 46.554 10.352 46.556 10.348 46.549 10.338 46.543 10.325 46.552 10.311 46.547 10.296 46.55 10.289 46.567 10.27 46.578 10.254 46.571 10.246 46.575 10.242 46.592 10.259 46.61 10.245 46.622 10.239 46.635 10.224 46.629 10.215 46.617 10.193 46.623 10.193 46.626 10.129 46.606 10.102 46.611 10.097 46.593 10.101 46.583 10.096 46.577 10.084 46.576 10.081 46.571 10.085 46.567 10.074 46.56 10.062 46.546 10.047 46.544 10.044 46.538 10.054 46.532 10.054 46.523 10.051 46.513 10.042 46.51 10.047 46.498 10.045 46.477 10.052 46.472 10.054 46.465 10.042 46.452 10.039 46.447 10.042 46.443 10.056 46.441 10.06 46.428 10.064 46.426 10.071 46.427 10.081 46.421 10.096 46.422 10.109 46.428 10.128 46.431 10.141 46.428 10.148 46.42 10.161 46.415 10.167 46.407 10.162 46.403 10.162 46.387 10.139 46.384 10.129 46.379 10.129 46.361 10.108 46.351 10.105 46.333 10.117 46.314 10.139 46.305 10.138 46.301 10.156 46.291 10.162 46.282 10.163 46.271 10.172 46.267 10.176 46.258 10.151 46.24 10.146 46.23 10.123 46.224 10.103 46.229 10.09 46.228 10.068 46.218 10.052 46.228 10.049 46.233 10.061 46.248 10.054 46.267 10.029 46.278 9.996 46.285 9.992 46.296 10.001 46.302 10.0 46.313 9.98 46.323 9.994 46.341 9.996 46.351 9.983 46.354 9.964 46.364 9.956 46.374 9.959 46.378 9.953 46.379 9.935 46.375 9.93 46.372 9.931 46.368 9.925 46.366 9.907 46.381 9.868 46.362 9.865 46.365 9.849 46.365 9.832 46.361 9.818 46.35 9.785 46.341 9.778 46.335 9.77 46.336 9.744 46.351 9.737 46.351 9.723 46.341 9.726 46.335 9.717 46.324 9.726 46.32 9.726 46.313 9.718 46.305 9.714 46.293 9.702 46.291 9.689 46.293 9.676 46.303 9.642 46.287 9.622 46.288 9.609 46.294 9.583 46.294 9.561 46.303 9.55 46.302 9.528 46.318 9.517 46.333 9.511 46.337 9.509 46.349 9.494 46.365 9.461 46.376 9.468 46.39 9.462 46.412 9.456 46.416 9.454 46.421 9.461 46.442 9.459 46.463 9.466 46.47 9.462 46.48 9.45 46.48 9.449 46.484 9.461 46.485 9.461 46.506 9.464 46.508 9.459 46.508 9.434 46.498 9.425 46.489 9.424 46.476 9.412 46.467 9.39 46.473 9.385 46.482 9.371 46.49 9.369 46.496 9.373 46.504 9.362 46.51 9.355 46.504 9.339 46.504 9.337 46.506 9.311 46.504 9.283 46.497 9.277 46.485 9.274 46.457 9.265 46.451 9.247 46.447 9.25 46.431 9.264 46.421 9.275 46.419 9.28 46.413 9.282 46.402 9.276 46.395 9.284 46.385 9.276 46.368 9.287 46.357 9.296 46.355 9.299 46.344 9.292 46.336 9.297 46.328 9.295 46.318 9.285 46.314 9.285 46.297 9.272 46.29 9.268 46.282 9.259 46.278 9.257 46.269 9.25 46.266 9.253 46.262 9.248 46.247 9.247 46.232 9.221 46.229 9.214 46.211 9.202 46.208 9.195 46.194 9.198 46.187 9.195 46.179 9.185 46.172 9.173 46.171 9.169 46.172 9.159 46.17 9.157 46.162 9.145 46.158 9.129 46.147 9.121 46.135 9.112 46.135 9.079 46.121 9.072 46.118 9.08 46.105 9.09 46.087 9.082 46.077 9.078 46.069 9.074 46.062 9.05 46.062 9.021 46.052 9.016 46.047 9.008 46.03 9.023 46.017 9.025 46.001 9.028 45.994 8.991 45.972 8.989 45.973 8.989 45.97 8.994 45.966 9.014 45.961 9.017 45.949 9.012 45.944 9.021 45.935 9.019 45.928 9.03 45.927 9.043 45.928 9.048 45.923 9.06 45.921 9.059 45.917 9.076 45.912 9.077 45.899 9.087 45.902 9.089 45.897 9.085 45.896 9.072 45.882 9.065 45.876 9.055 45.874 9.049 45.863 9.051 45.856 9.035 45.84 9.038 45.836 9.031 45.825 9.018 45.818 8.994 45.822 8.997 45.835 8.987 45.839 8.971 45.833 8.956 45.842 8.947 45.843 8.912 45.83 8.914 45.842 8.932 45.861 8.939 45.864 8.945 45.867 8.943 45.869 8.937 45.867 8.935 45.87 8.927 45.892 8.92 45.909 8.917 45.914 8.914 45.918 8.908 45.918 8.896 45.927 8.893 45.932 8.893 45.937 8.897 45.942 8.897 45.955 8.894 45.959 8.878 45.957 8.868 45.961 8.859 45.967 8.854 45.971 8.839 45.984 8.832 45.988 8.824 45.988 8.794 45.992 8.791 45.989 8.786 45.989 8.793 46.008 8.797 46.012 8.806 46.022 8.82 46.026 8.828 46.034 8.83 46.042 8.833 46.041 8.835 46.044 8.828 46.047 8.834 46.051 8.844 46.048 8.855 46.062 8.852 46.076 8.835 46.082 8.806 46.101 8.802 46.097 8.8 46.095 8.783 46.094 8.756 46.105 8.742 46.122 8.724 46.11 8.714 46.097 8.697 46.102 8.686 46.103 8.681 46.108 8.658 46.113 8.648 46.123 8.612 46.122 8.61 46.132 8.593 46.145 8.604 46.154 8.574 46.164 8.57 46.177 8.555 46.187 8.553 46.192 8.541 46.197 8.533 46.218 8.469 46.233 8.464 46.245 8.447 46.248 8.443 46.252 8.445 46.257 8.456 46.264 8.428 46.298 8.441 46.304 8.444 46.319 8.454 46.323 8.464 46.333 8.464 46.344 8.462 46.354 8.468 46.364 8.466 46.38 8.461 46.387 8.471 46.396 8.464 46.403 8.468 46.412 8.457 46.423 8.462 46.451 8.453 46.455 8.45 46.462 8.438 46.464 8.407 46.458 8.393 46.452 8.385 46.452 8.367 46.452 8.326 46.427 8.314 46.424 8.308 46.426 8.299 46.414 8.289 46.409 8.316 46.399 8.318 46.387 8.313 46.377 8.286 46.366 8.264 46.365 8.261 46.361 8.266 46.352 8.263 46.346 8.236 46.34 8.224 46.334 8.223 46.327 8.215 46.32 8.212 46.31 8.206 46.306 8.179 46.298 8.161 46.296 8.141 46.302 8.121 46.292 8.113 46.281 8.081 46.261 8.088 46.254 8.1 46.252 8.102 46.25 8.11 46.25 8.116 46.236 8.127 46.228 8.139 46.226 8.153 46.191 8.165 46.182 8.165 46.177 8.15 46.161 8.155 46.148 8.144 46.137 8.127 46.136 8.116 46.13 8.114 46.117 8.108 46.112 8.081 46.105 8.072 46.106 8.043 46.1 8.035 46.101 8.022 46.07 8.034 46.044 8.013 46.031 8.018 46.025 8.012 46.012 8.001 46.012 7.989 45.996 7.981 45.998 7.909 45.997 7.894 45.981 7.878 45.973 7.881 45.968 7.877 45.949 7.871 45.947 7.868 45.937 7.877 45.927 7.873 45.921 7.864 45.917 7.822 45.927 7.8 45.917 7.769 45.937 7.75 45.94 7.735 45.924 7.72 45.924 7.708 45.935 7.71 45.948 7.699 45.954 7.681 45.957 7.665 45.975 7.657 45.977 7.639 45.97 7.587 45.971 7.581 45.975 7.575 45.987 7.546 45.984 7.542 45.976 7.546 45.962 7.538 45.955 7.511 45.959 7.488 45.956 7.472 45.948 7.475 45.937 7.472 45.934 7.459 45.936 7.445 45.932 7.427 45.915 7.412 45.909 7.406 45.909 7.383 45.897 7.367 45.904 7.361 45.903 7.356 45.91 7.345 45.915 7.324 45.91 7.294 45.922 7.286 45.916 7.274 45.9 7.257 45.888 7.229 45.892 7.216 45.889 7.2 45.873 7.201 45.863 7.197 45.861 7.191 45.859 7.175 45.863 7.162 45.871 7.164 45.876 7.154 45.879 7.135 45.873 7.132 45.867 7.118 45.859 7.101 45.86 7.095 45.876 7.064 45.9 7.061 45.913 7.044 45.923 7.036 45.938 7.037 45.955 7.021 45.959 7.009 45.969 7.011 45.973 7.022 45.977 7.022 45.981 7.013 45.987 7.011 45.997 7.006 46.001 7.001 45.999 6.985 46.004 6.981 46.019 6.963 46.03 6.949 46.051 6.944 46.051 6.936 46.055 6.937 46.064 6.925 46.065 6.909 46.05 6.9 46.049 6.89 46.042 6.883 46.045 6.876 46.048 6.873 46.055 6.88 46.069 6.891 46.074 6.886 46.097 6.895 46.108 6.893 46.114 6.9 46.124 6.852 46.126 6.843 46.129 6.842 46.132 6.814 46.13 6.798 46.137 6.79 46.154 6.792 46.163 6.813 46.182 6.807 46.196 6.804 46.205 6.822 46.223 6.821 46.23 6.833 46.236 6.843 46.249 6.854 46.254 6.855 46.259 6.86 46.266 6.859 46.274 6.863 46.278 6.859 46.29 6.855 46.293 6.847 46.29 6.83 46.3 6.829 46.306 6.82 46.316 6.801 46.32 6.794 46.333 6.784 46.337 6.775 46.347 6.772 46.361 6.781 46.367 6.793 46.367 6.804 46.377 6.806 46.383 6.802 46.388 6.805 46.394 6.821 46.427 6.682 46.454 6.519 46.456 6.426 46.416 6.335 46.404 6.253 46.36 6.241 46.344 6.232 46.331 6.22 46.312 6.242 46.304 6.246 46.303 6.253 46.291 6.244 46.285 6.238 46.276 6.25 46.263 6.25 46.262 6.267 46.248 6.284 46.254 6.29 46.26 6.296 46.256 6.306 46.256 6.31 46.244 6.291 46.224 6.277 46.216 6.249 46.206 6.245 46.207 6.245 46.205 6.234 46.206 6.224 46.201 6.186 46.178 6.189 46.166 6.175 46.158 6.154 46.152 6.146 46.147 6.136 46.142 6.125 46.141 6.1 46.144 6.092 46.152 6.074 46.149 6.052 46.151 6.037 46.137 6.024 46.141 5.994 46.145 5.982 46.142 5.977 46.133 5.957 46.129 5.956 46.132 5.966 46.138 5.964 46.145 5.976 46.161 5.981 46.17 5.992 46.177 5.995 46.182 5.992 46.187 5.964 46.197 5.975 46.215 5.993 46.223 6.0 46.22 6.016 46.232 6.034 46.239 6.046 46.231 6.063 46.246 6.07 46.241 6.088 46.246 6.102 46.238 6.124 46.251 6.12 46.261 6.12 46.265 6.104 46.278 6.103 46.285 6.121 46.297 6.12 46.312 6.126 46.317 6.132 46.325 6.139 46.335 6.138 46.339 6.149 46.343 6.158 46.351 6.159 46.357 6.17 46.366 6.159 46.38 6.15 46.377 6.113 46.4 6.106 46.399 6.098 46.409 6.064 46.416 6.075 46.432 6.084 46.44 6.086 46.444 6.074 46.454 6.077 46.458 6.073 46.465 6.097 46.481 6.113 46.51 6.138 46.531 6.144 46.528 6.154 46.537 6.149 46.539 6.157 46.545 6.111 46.576 6.14 46.598 6.161 46.61 6.179 46.616 6.186 46.624 6.219 46.645 6.267 46.676 6.269 46.683 6.282 46.691 6.307 46.699 6.341 46.71 6.36 46.723 6.372 46.724 6.385 46.732 6.392 46.739 6.388 46.743 6.395 46.748 6.417 46.753 6.438 46.762 6.439 46.767 6.452 46.774 6.458 46.789 6.435 46.802 6.431 46.812 6.441 46.816 6.443 46.833 6.46 46.851 6.463 46.876 6.463 46.893 6.433 46.929 6.45 46.936 6.471 46.956 6.486 46.967 6.496 46.974 6.505 46.966 6.572 46.982 6.591 46.991 6.618 46.992 6.634 46.998 6.659 47.027 6.676 47.035 6.699 47.039 6.719 47.052 6.701 47.059 6.692 47.068 6.701 47.07 6.708 47.083 6.715 47.088 6.725 47.091 6.736 47.09 6.744 47.092 6.747 47.097 6.741 47.11 6.764 47.12 6.792 47.127 6.816 47.136 6.85 47.156 6.858 47.165 6.844 47.166 6.841 47.171 6.871 47.185 6.88 47.201 6.89 47.205 6.943 47.235 6.943 47.238 6.956 47.244 6.948 47.256 6.951 47.271 6.941 47.286 6.951 47.292 6.97 47.292 7.008 47.301 7.016 47.315 7.013 47.32 7.009 47.32 7.01 47.325 7.035 47.328 7.046 47.326 7.057 47.334 7.062 47.344 7.056 47.347 7.05 47.361 7.043 47.364 7.035 47.363 7.034 47.368 7.012 47.373 6.995 47.363 6.924 47.355 6.903 47.36 6.88 47.353 6.884 47.373 6.895 47.382 6.905 47.383 6.913 47.388 6.909 47.396 6.918 47.403 6.938 47.406 6.94 47.433 6.964 47.436 6.97 47.447 6.996 47.45 7.002 47.454 6.997 47.456 7.001 47.462 7.0 47.467 6.992 47.466 6.986 47.476 6.988 47.495 7.02 47.504 7.037 47.498 7.061 47.495 7.072 47.492 7.075 47.488 7.094 47.495 7.112 47.495 7.128 47.504 7.15 47.497 7.159 47.491 7.171 47.489 7.201 47.494 7.203 47.491 7.191 47.487 7.179 47.464 7.17 47.443 7.193 47.439 7.196 47.435 7.207 47.435 7.226 47.44 7.233 47.439 7.246 47.427 7.245 47.421 7.282 47.435 7.327 47.44 7.331 47.442 7.353 47.434 7.381 47.432 7.421 47.446 7.431 47.459 7.446 47.462 7.456 47.471 7.456 47.473 7.429 47.483 7.421 47.481 7.433 47.497 7.462 47.489 7.471 47.481 7.487 47.482 7.498 47.489 7.51 47.503 7.509 47.509 7.499 47.516 7.498 47.521 7.503 47.516 7.524 47.515 7.531 47.527 7.527 47.533 7.516 47.533 7.508 47.528 7.501 47.529 7.498 47.536 7.504 47.543 7.518 47.546 7.555 47.564 7.559 47.569 7.557 47.573 7.566 47.578 7.585 47.576 7.589 47.59 7.605 47.585 7.605 47.578 7.619 47.577 7.625 47.579 7.646 47.597 7.674 47.592 7.683 47.598 7.693 47.601 7.672 47.587 7.681 47.581 7.69 47.571 7.686 47.566 7.683 47.57 7.653 47.562 7.648 47.56 7.636 47.564 7.634 47.561 7.646 47.552 7.651 47.547 7.661 47.545 7.666 47.538 7.675 47.534 7.686 47.533 7.697 47.533 7.714 47.54 7.753 47.545 7.758 47.549 7.796 47.557 7.812 47.569 7.82 47.587 7.832 47.587 7.837 47.583 7.846 47.582 7.869 47.589 7.887 47.588 7.898 47.584 7.911 47.57 7.909 47.555 7.918 47.547 7.94 47.545 7.949 47.545 7.956 47.557 7.965 47.557 8.008 47.555 8.022 47.55 8.046 47.555 8.067 47.565 8.075 47.562 8.085 47.557 8.097 47.561 8.107 47.58 8.113 47.584 8.126 47.583 8.137 47.584 8.138 47.59 8.148 47.596 8.159 47.594 8.185 47.605 8.194 47.616 8.202 47.62 8.214 47.62 8.222 47.616 8.224 47.607 8.228 47.605 8.255 47.615 8.261 47.614 8.265 47.609 8.279 47.612 8.289 47.61 8.298 47.606 8.297 47.59 8.316 47.579 8.324 47.573 8.337 47.57 8.362 47.569 8.378 47.567 8.392 47.575 8.4 47.577 8.416 47.571 8.426 47.568 8.434 47.567 8.464 47.572 8.477 47.578 8.484 47.577 8.487 47.578 8.495 47.581 8.487 47.587 8.468 47.584 8.46 47.588 8.458 47.597 8.461 47.602 8.478 47.611 8.479 47.613 8.507 47.618 8.515 47.623 8.517 47.632 8.521 47.634 8.539 47.631 8.539 47.628 8.558 47.624 8.569 47.617 8.572 47.611 8.563 47.599 8.583 47.596 8.593 47.606 8.596 47.606 8.603 47.611 8.605 47.616 8.598 47.627 8.596 47.643 8.607 47.653 8.614 47.645 8.603 47.639 8.607 47.637 8.616 47.638 8.623 47.641 8.628 47.648 8.628 47.654 8.615 47.662 8.609 47.663 8.606 47.669 8.607 47.672 8.598 47.673 8.593 47.667 8.578 47.662 8.565 47.665 8.564 47.67 8.547 47.668 8.54 47.662 8.527 47.66 8.534 47.65 8.532 47.646 8.5 47.647 8.494 47.647 8.492 47.642 8.483 47.644 8.476 47.65 8.473 47.648 8.478 47.64 8.474 47.638 8.466 47.642 8.464 47.656 8.449 47.655 8.445 47.654 8.424 47.667 8.412 47.666 8.406 47.675 8.421 47.684 8.412 47.694 8.406 47.696 8.408 47.702 8.417 47.71 8.426 47.711 8.445 47.723 8.455 47.722 8.457 47.729 8.453 47.731 8.45 47.739 8.473 47.764 8.489 47.773 8.496 47.771 8.51 47.776 8.52 47.77 8.526 47.778 8.553 47.785 8.566 47.778 8.577 47.782 8.574 47.787 8.562 47.793 8.562 47.802 8.568 47.808 8.576 47.802 8.614 47.801 8.622 47.795 8.62 47.789 8.616 47.787 8.618 47.78 8.623 47.777 8.619 47.768 8.628 47.759 8.634 47.76 8.645 47.765 8.653 47.773 8.645 47.787 8.647 47.794 8.657 47.8 8.668 47.788 8.68 47.785 8.689 47.758 8.695 47.756 8.714 47.765 8.727 47.762 8.741 47.752 8.741 47.748 8.724 47.746 8.715 47.739 8.712 47.731 8.718 47.722 8.736 47.716 8.728 47.702 8.728 47.693 8.758 47.689 8.785 47.677</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 485414.0,75286.0,833779.0,295935.0--> + <gmd:westBoundLongitude> + <gco:Decimal>5.956</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>10.491</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>45.818</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.808</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + <che:basicGeodataID gco:nilReason="missing"> + <gco:CharacterString /> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="federal" codeList="#basicGeodataIDTypeCode" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <che:legislationInformation xmlns:comp="http://toignore" xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:internalReference> + <gco:CharacterString>510.620, Anhang 1</gco:CharacterString> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung über Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung über Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoinformationsverordnung GeoIV</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoinformationsverordnung GeoIV</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-05-21</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-07-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SR 510.620</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SR 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + <gmd:otherCitationDetails xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherCitationDetails> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/df64858e-749e-4b56-81fe-243b52b5ea01.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/df64858e-749e-4b56-81fe-243b52b5ea01.xml new file mode 100644 index 00000000000..80a958be663 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/df64858e-749e-4b56-81fe-243b52b5ea01.xml @@ -0,0 +1,682 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>df64858e-749e-4b56-81fe-243b52b5ea01</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Umwelt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Umwelt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 58 463 25 76</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:electronicMailAddress> + <gco:CharacterString>cornelia.renner@bafu.admin.ch</gco:CharacterString> + </gmd:electronicMailAddress> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.bafu.admin.ch/bafu/de/home/themen/wasser/zustand/karten/thema-wasser-auf-map-geo-admin-ch.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gewässerinformationssystem Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gewässerinformationssystem Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gewässerinformationssystem Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gewässerinformationssystem Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Cornelia</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Renner</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BAFU</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BAFU</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:DateTime>2015-01-15T15:36:02</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GEWISS Template --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- GEWISS Template --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurztitel obligatorisch für BGDI max. 30 Zeichen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurztitel obligatorisch für BGDI max. 30 Zeichen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Für Geobasisdaten: Titel nach GeoIV Anhang 1 --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gewässer</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">water (geographic)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gewässer</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">acque (geografia)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">eaux (géographie)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>GEWISS</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">GEWISS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:useConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Keine Einschränkungen</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Keine Einschränkungen</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_Constraints /> + </gmd:resourceConstraints> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>-- MinScale (z.B 5000) -- Entfernen falls nicht relevant</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>-- MaxScale (z.B. 100000) -- Entfernen falls nicht relevant</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>inlandWaters</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="Nb94cd3c3ba864345b8c551b9c27da01f"> + <gml:surfaceMember> + <gml:Polygon gml:id="Nb94cd3c3ba864345b8c551b9c27da01f.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.785 47.677 8.796 47.675 8.794 47.68 8.797 47.688 8.8 47.692 8.81 47.693 8.793 47.704 8.769 47.707 8.77 47.715 8.785 47.727 8.799 47.727 8.797 47.735 8.807 47.738 8.809 47.725 8.823 47.716 8.819 47.713 8.826 47.711 8.834 47.715 8.843 47.712 8.848 47.703 8.868 47.705 8.873 47.704 8.876 47.697 8.871 47.693 8.862 47.697 8.852 47.697 8.852 47.681 8.861 47.68 8.868 47.676 8.874 47.667 8.875 47.656 8.875 47.655 8.898 47.648 8.941 47.656 8.987 47.676 9.023 47.687 9.1 47.677 9.117 47.669 9.139 47.664 9.15 47.668 9.157 47.666 9.163 47.66 9.171 47.655 9.182 47.656 9.234 47.657 9.248 47.659 9.268 47.656 9.445 47.595 9.503 47.547 9.515 47.537 9.551 47.537 9.561 47.5 9.561 47.499 9.564 47.493 9.577 47.486 9.594 47.464 9.603 47.462 9.609 47.471 9.622 47.458 9.656 47.454 9.659 47.449 9.651 47.443 9.644 47.435 9.651 47.417 9.652 47.405 9.674 47.391 9.673 47.38 9.658 47.369 9.624 47.366 9.6 47.346 9.587 47.316 9.566 47.304 9.556 47.298 9.543 47.278 9.531 47.271 9.53 47.269 9.521 47.245 9.51 47.232 9.49 47.198 9.488 47.19 9.486 47.181 9.495 47.157 9.503 47.147 9.515 47.122 9.516 47.115 9.52 47.098 9.513 47.085 9.474 47.066 9.472 47.062 9.476 47.052 9.482 47.056 9.486 47.049 9.491 47.056 9.512 47.057 9.531 47.063 9.54 47.065 9.552 47.059 9.557 47.049 9.588 47.055 9.603 47.062 9.607 47.061 9.617 47.054 9.637 47.052 9.645 47.06 9.658 47.058 9.676 47.061 9.718 47.043 9.745 47.041 9.748 47.037 9.783 47.038 9.831 47.014 9.851 47.016 9.861 47.022 9.876 47.021 9.88 47.018 9.871 47.013 9.873 47.007 9.889 47.001 9.891 46.992 9.874 46.966 9.879 46.957 9.876 46.935 9.892 46.932 9.906 46.925 9.912 46.926 9.916 46.922 9.946 46.912 9.959 46.916 9.967 46.912 9.978 46.916 9.981 46.906 9.99 46.902 10.02 46.899 10.052 46.877 10.051 46.865 10.055 46.862 10.088 46.86 10.097 46.849 10.105 46.841 10.118 46.844 10.123 46.848 10.139 46.847 10.147 46.851 10.157 46.848 10.183 46.857 10.194 46.866 10.231 46.866 10.232 46.872 10.235 46.885 10.23 46.898 10.241 46.931 10.257 46.93 10.294 46.922 10.297 46.92 10.302 46.925 10.316 46.925 10.317 46.931 10.306 46.94 10.308 46.948 10.328 46.954 10.33 46.965 10.35 46.991 10.372 46.991 10.389 47.001 10.398 46.997 10.413 46.983 10.427 46.975 10.422 46.96 10.429 46.956 10.434 46.956 10.458 46.951 10.487 46.939 10.486 46.915 10.479 46.908 10.475 46.894 10.465 46.884 10.471 46.873 10.47 46.855 10.467 46.836 10.46 46.835 10.458 46.817 10.451 46.805 10.443 46.799 10.43 46.797 10.427 46.789 10.423 46.788 10.434 46.782 10.442 46.772 10.443 46.754 10.4 46.733 10.418 46.718 10.416 46.709 10.403 46.706 10.393 46.689 10.384 46.683 10.392 46.672 10.391 46.659 10.394 46.655 10.402 46.637 10.409 46.635 10.446 46.641 10.491 46.615 10.484 46.605 10.487 46.589 10.484 46.578 10.475 46.566 10.478 46.557 10.472 46.544 10.459 46.541 10.453 46.531 10.437 46.537 10.418 46.551 10.397 46.544 10.37 46.554 10.352 46.556 10.348 46.549 10.338 46.543 10.325 46.552 10.311 46.547 10.296 46.55 10.289 46.567 10.27 46.578 10.254 46.571 10.246 46.575 10.242 46.592 10.259 46.61 10.245 46.622 10.239 46.635 10.224 46.629 10.215 46.617 10.193 46.623 10.193 46.626 10.129 46.606 10.102 46.611 10.097 46.593 10.101 46.583 10.096 46.577 10.084 46.576 10.081 46.571 10.085 46.567 10.074 46.56 10.062 46.546 10.047 46.544 10.044 46.538 10.054 46.532 10.054 46.523 10.051 46.513 10.042 46.51 10.047 46.498 10.045 46.477 10.052 46.472 10.054 46.465 10.042 46.452 10.039 46.447 10.042 46.443 10.056 46.441 10.06 46.428 10.064 46.426 10.071 46.427 10.081 46.421 10.096 46.422 10.109 46.428 10.128 46.431 10.141 46.428 10.148 46.42 10.161 46.415 10.167 46.407 10.162 46.403 10.162 46.387 10.139 46.384 10.129 46.379 10.129 46.361 10.108 46.351 10.105 46.333 10.117 46.314 10.139 46.305 10.138 46.301 10.156 46.291 10.162 46.282 10.163 46.271 10.172 46.267 10.176 46.258 10.151 46.24 10.146 46.23 10.123 46.224 10.103 46.229 10.09 46.228 10.068 46.218 10.052 46.228 10.049 46.233 10.061 46.248 10.054 46.267 10.029 46.278 9.996 46.285 9.992 46.296 10.001 46.302 10.0 46.313 9.98 46.323 9.994 46.341 9.996 46.351 9.983 46.354 9.964 46.364 9.956 46.374 9.959 46.378 9.953 46.379 9.935 46.375 9.93 46.372 9.931 46.368 9.925 46.366 9.907 46.381 9.868 46.362 9.865 46.365 9.849 46.365 9.832 46.361 9.818 46.35 9.785 46.341 9.778 46.335 9.77 46.336 9.744 46.351 9.737 46.351 9.723 46.341 9.726 46.335 9.717 46.324 9.726 46.32 9.726 46.313 9.718 46.305 9.714 46.293 9.702 46.291 9.689 46.293 9.676 46.303 9.642 46.287 9.622 46.288 9.609 46.294 9.583 46.294 9.561 46.303 9.55 46.302 9.528 46.318 9.517 46.333 9.511 46.337 9.509 46.349 9.494 46.365 9.461 46.376 9.468 46.39 9.462 46.412 9.456 46.416 9.454 46.421 9.461 46.442 9.459 46.463 9.466 46.47 9.462 46.48 9.45 46.48 9.449 46.484 9.461 46.485 9.461 46.506 9.464 46.508 9.459 46.508 9.434 46.498 9.425 46.489 9.424 46.476 9.412 46.467 9.39 46.473 9.385 46.482 9.371 46.49 9.369 46.496 9.373 46.504 9.362 46.51 9.355 46.504 9.339 46.504 9.337 46.506 9.311 46.504 9.283 46.497 9.277 46.485 9.274 46.457 9.265 46.451 9.247 46.447 9.25 46.431 9.264 46.421 9.275 46.419 9.28 46.413 9.282 46.402 9.276 46.395 9.284 46.385 9.276 46.368 9.287 46.357 9.296 46.355 9.299 46.344 9.292 46.336 9.297 46.328 9.295 46.318 9.285 46.314 9.285 46.297 9.272 46.29 9.268 46.282 9.259 46.278 9.257 46.269 9.25 46.266 9.253 46.262 9.248 46.247 9.247 46.232 9.221 46.229 9.214 46.211 9.202 46.208 9.195 46.194 9.198 46.187 9.195 46.179 9.185 46.172 9.173 46.171 9.169 46.172 9.159 46.17 9.157 46.162 9.145 46.158 9.129 46.147 9.121 46.135 9.112 46.135 9.079 46.121 9.072 46.118 9.08 46.105 9.09 46.087 9.082 46.077 9.078 46.069 9.074 46.062 9.05 46.062 9.021 46.052 9.016 46.047 9.008 46.03 9.023 46.017 9.025 46.001 9.028 45.994 8.991 45.972 8.989 45.973 8.989 45.97 8.994 45.966 9.014 45.961 9.017 45.949 9.012 45.944 9.021 45.935 9.019 45.928 9.03 45.927 9.043 45.928 9.048 45.923 9.06 45.921 9.059 45.917 9.076 45.912 9.077 45.899 9.087 45.902 9.089 45.897 9.085 45.896 9.072 45.882 9.065 45.876 9.055 45.874 9.049 45.863 9.051 45.856 9.035 45.84 9.038 45.836 9.031 45.825 9.018 45.818 8.994 45.822 8.997 45.835 8.987 45.839 8.971 45.833 8.956 45.842 8.947 45.843 8.912 45.83 8.914 45.842 8.932 45.861 8.939 45.864 8.945 45.867 8.943 45.869 8.937 45.867 8.935 45.87 8.927 45.892 8.92 45.909 8.917 45.914 8.914 45.918 8.908 45.918 8.896 45.927 8.893 45.932 8.893 45.937 8.897 45.942 8.897 45.955 8.894 45.959 8.878 45.957 8.868 45.961 8.859 45.967 8.854 45.971 8.839 45.984 8.832 45.988 8.824 45.988 8.794 45.992 8.791 45.989 8.786 45.989 8.793 46.008 8.797 46.012 8.806 46.022 8.82 46.026 8.828 46.034 8.83 46.042 8.833 46.041 8.835 46.044 8.828 46.047 8.834 46.051 8.844 46.048 8.855 46.062 8.852 46.076 8.835 46.082 8.806 46.101 8.802 46.097 8.8 46.095 8.783 46.094 8.756 46.105 8.742 46.122 8.724 46.11 8.714 46.097 8.697 46.102 8.686 46.103 8.681 46.108 8.658 46.113 8.648 46.123 8.612 46.122 8.61 46.132 8.593 46.145 8.604 46.154 8.574 46.164 8.57 46.177 8.555 46.187 8.553 46.192 8.541 46.197 8.533 46.218 8.469 46.233 8.464 46.245 8.447 46.248 8.443 46.252 8.445 46.257 8.456 46.264 8.428 46.298 8.441 46.304 8.444 46.319 8.454 46.323 8.464 46.333 8.464 46.344 8.462 46.354 8.468 46.364 8.466 46.38 8.461 46.387 8.471 46.396 8.464 46.403 8.468 46.412 8.457 46.423 8.462 46.451 8.453 46.455 8.45 46.462 8.438 46.464 8.407 46.458 8.393 46.452 8.385 46.452 8.367 46.452 8.326 46.427 8.314 46.424 8.308 46.426 8.299 46.414 8.289 46.409 8.316 46.399 8.318 46.387 8.313 46.377 8.286 46.366 8.264 46.365 8.261 46.361 8.266 46.352 8.263 46.346 8.236 46.34 8.224 46.334 8.223 46.327 8.215 46.32 8.212 46.31 8.206 46.306 8.179 46.298 8.161 46.296 8.141 46.302 8.121 46.292 8.113 46.281 8.081 46.261 8.088 46.254 8.1 46.252 8.102 46.25 8.11 46.25 8.116 46.236 8.127 46.228 8.139 46.226 8.153 46.191 8.165 46.182 8.165 46.177 8.15 46.161 8.155 46.148 8.144 46.137 8.127 46.136 8.116 46.13 8.114 46.117 8.108 46.112 8.081 46.105 8.072 46.106 8.043 46.1 8.035 46.101 8.022 46.07 8.034 46.044 8.013 46.031 8.018 46.025 8.012 46.012 8.001 46.012 7.989 45.996 7.981 45.998 7.909 45.997 7.894 45.981 7.878 45.973 7.881 45.968 7.877 45.949 7.871 45.947 7.868 45.937 7.877 45.927 7.873 45.921 7.864 45.917 7.822 45.927 7.8 45.917 7.769 45.937 7.75 45.94 7.735 45.924 7.72 45.924 7.708 45.935 7.71 45.948 7.699 45.954 7.681 45.957 7.665 45.975 7.657 45.977 7.639 45.97 7.587 45.971 7.581 45.975 7.575 45.987 7.546 45.984 7.542 45.976 7.546 45.962 7.538 45.955 7.511 45.959 7.488 45.956 7.472 45.948 7.475 45.937 7.472 45.934 7.459 45.936 7.445 45.932 7.427 45.915 7.412 45.909 7.406 45.909 7.383 45.897 7.367 45.904 7.361 45.903 7.356 45.91 7.345 45.915 7.324 45.91 7.294 45.922 7.286 45.916 7.274 45.9 7.257 45.888 7.229 45.892 7.216 45.889 7.2 45.873 7.201 45.863 7.197 45.861 7.191 45.859 7.175 45.863 7.162 45.871 7.164 45.876 7.154 45.879 7.135 45.873 7.132 45.867 7.118 45.859 7.101 45.86 7.095 45.876 7.064 45.9 7.061 45.913 7.044 45.923 7.036 45.938 7.037 45.955 7.021 45.959 7.009 45.969 7.011 45.973 7.022 45.977 7.022 45.981 7.013 45.987 7.011 45.997 7.006 46.001 7.001 45.999 6.985 46.004 6.981 46.019 6.963 46.03 6.949 46.051 6.944 46.051 6.936 46.055 6.937 46.064 6.925 46.065 6.909 46.05 6.9 46.049 6.89 46.042 6.883 46.045 6.876 46.048 6.873 46.055 6.88 46.069 6.891 46.074 6.886 46.097 6.895 46.108 6.893 46.114 6.9 46.124 6.852 46.126 6.843 46.129 6.842 46.132 6.814 46.13 6.798 46.137 6.79 46.154 6.792 46.163 6.813 46.182 6.807 46.196 6.804 46.205 6.822 46.223 6.821 46.23 6.833 46.236 6.843 46.249 6.854 46.254 6.855 46.259 6.86 46.266 6.859 46.274 6.863 46.278 6.859 46.29 6.855 46.293 6.847 46.29 6.83 46.3 6.829 46.306 6.82 46.316 6.801 46.32 6.794 46.333 6.784 46.337 6.775 46.347 6.772 46.361 6.781 46.367 6.793 46.367 6.804 46.377 6.806 46.383 6.802 46.388 6.805 46.394 6.821 46.427 6.682 46.454 6.519 46.456 6.426 46.416 6.335 46.404 6.253 46.36 6.241 46.344 6.232 46.331 6.22 46.312 6.242 46.304 6.246 46.303 6.253 46.291 6.244 46.285 6.238 46.276 6.25 46.263 6.25 46.262 6.267 46.248 6.284 46.254 6.29 46.26 6.296 46.256 6.306 46.256 6.31 46.244 6.291 46.224 6.277 46.216 6.249 46.206 6.245 46.207 6.245 46.205 6.234 46.206 6.224 46.201 6.186 46.178 6.189 46.166 6.175 46.158 6.154 46.152 6.146 46.147 6.136 46.142 6.125 46.141 6.1 46.144 6.092 46.152 6.074 46.149 6.052 46.151 6.037 46.137 6.024 46.141 5.994 46.145 5.982 46.142 5.977 46.133 5.957 46.129 5.956 46.132 5.966 46.138 5.964 46.145 5.976 46.161 5.981 46.17 5.992 46.177 5.995 46.182 5.992 46.187 5.964 46.197 5.975 46.215 5.993 46.223 6.0 46.22 6.016 46.232 6.034 46.239 6.046 46.231 6.063 46.246 6.07 46.241 6.088 46.246 6.102 46.238 6.124 46.251 6.12 46.261 6.12 46.265 6.104 46.278 6.103 46.285 6.121 46.297 6.12 46.312 6.126 46.317 6.132 46.325 6.139 46.335 6.138 46.339 6.149 46.343 6.158 46.351 6.159 46.357 6.17 46.366 6.159 46.38 6.15 46.377 6.113 46.4 6.106 46.399 6.098 46.409 6.064 46.416 6.075 46.432 6.084 46.44 6.086 46.444 6.074 46.454 6.077 46.458 6.073 46.465 6.097 46.481 6.113 46.51 6.138 46.531 6.144 46.528 6.154 46.537 6.149 46.539 6.157 46.545 6.111 46.576 6.14 46.598 6.161 46.61 6.179 46.616 6.186 46.624 6.219 46.645 6.267 46.676 6.269 46.683 6.282 46.691 6.307 46.699 6.341 46.71 6.36 46.723 6.372 46.724 6.385 46.732 6.392 46.739 6.388 46.743 6.395 46.748 6.417 46.753 6.438 46.762 6.439 46.767 6.452 46.774 6.458 46.789 6.435 46.802 6.431 46.812 6.441 46.816 6.443 46.833 6.46 46.851 6.463 46.876 6.463 46.893 6.433 46.929 6.45 46.936 6.471 46.956 6.486 46.967 6.496 46.974 6.505 46.966 6.572 46.982 6.591 46.991 6.618 46.992 6.634 46.998 6.659 47.027 6.676 47.035 6.699 47.039 6.719 47.052 6.701 47.059 6.692 47.068 6.701 47.07 6.708 47.083 6.715 47.088 6.725 47.091 6.736 47.09 6.744 47.092 6.747 47.097 6.741 47.11 6.764 47.12 6.792 47.127 6.816 47.136 6.85 47.156 6.858 47.165 6.844 47.166 6.841 47.171 6.871 47.185 6.88 47.201 6.89 47.205 6.943 47.235 6.943 47.238 6.956 47.244 6.948 47.256 6.951 47.271 6.941 47.286 6.951 47.292 6.97 47.292 7.008 47.301 7.016 47.315 7.013 47.32 7.009 47.32 7.01 47.325 7.035 47.328 7.046 47.326 7.057 47.334 7.062 47.344 7.056 47.347 7.05 47.361 7.043 47.364 7.035 47.363 7.034 47.368 7.012 47.373 6.995 47.363 6.924 47.355 6.903 47.36 6.88 47.353 6.884 47.373 6.895 47.382 6.905 47.383 6.913 47.388 6.909 47.396 6.918 47.403 6.938 47.406 6.94 47.433 6.964 47.436 6.97 47.447 6.996 47.45 7.002 47.454 6.997 47.456 7.001 47.462 7.0 47.467 6.992 47.466 6.986 47.476 6.988 47.495 7.02 47.504 7.037 47.498 7.061 47.495 7.072 47.492 7.075 47.488 7.094 47.495 7.112 47.495 7.128 47.504 7.15 47.497 7.159 47.491 7.171 47.489 7.201 47.494 7.203 47.491 7.191 47.487 7.179 47.464 7.17 47.443 7.193 47.439 7.196 47.435 7.207 47.435 7.226 47.44 7.233 47.439 7.246 47.427 7.245 47.421 7.282 47.435 7.327 47.44 7.331 47.442 7.353 47.434 7.381 47.432 7.421 47.446 7.431 47.459 7.446 47.462 7.456 47.471 7.456 47.473 7.429 47.483 7.421 47.481 7.433 47.497 7.462 47.489 7.471 47.481 7.487 47.482 7.498 47.489 7.51 47.503 7.509 47.509 7.499 47.516 7.498 47.521 7.503 47.516 7.524 47.515 7.531 47.527 7.527 47.533 7.516 47.533 7.508 47.528 7.501 47.529 7.498 47.536 7.504 47.543 7.518 47.546 7.555 47.564 7.559 47.569 7.557 47.573 7.566 47.578 7.585 47.576 7.589 47.59 7.605 47.585 7.605 47.578 7.619 47.577 7.625 47.579 7.646 47.597 7.674 47.592 7.683 47.598 7.693 47.601 7.672 47.587 7.681 47.581 7.69 47.571 7.686 47.566 7.683 47.57 7.653 47.562 7.648 47.56 7.636 47.564 7.634 47.561 7.646 47.552 7.651 47.547 7.661 47.545 7.666 47.538 7.675 47.534 7.686 47.533 7.697 47.533 7.714 47.54 7.753 47.545 7.758 47.549 7.796 47.557 7.812 47.569 7.82 47.587 7.832 47.587 7.837 47.583 7.846 47.582 7.869 47.589 7.887 47.588 7.898 47.584 7.911 47.57 7.909 47.555 7.918 47.547 7.94 47.545 7.949 47.545 7.956 47.557 7.965 47.557 8.008 47.555 8.022 47.55 8.046 47.555 8.067 47.565 8.075 47.562 8.085 47.557 8.097 47.561 8.107 47.58 8.113 47.584 8.126 47.583 8.137 47.584 8.138 47.59 8.148 47.596 8.159 47.594 8.185 47.605 8.194 47.616 8.202 47.62 8.214 47.62 8.222 47.616 8.224 47.607 8.228 47.605 8.255 47.615 8.261 47.614 8.265 47.609 8.279 47.612 8.289 47.61 8.298 47.606 8.297 47.59 8.316 47.579 8.324 47.573 8.337 47.57 8.362 47.569 8.378 47.567 8.392 47.575 8.4 47.577 8.416 47.571 8.426 47.568 8.434 47.567 8.464 47.572 8.477 47.578 8.484 47.577 8.487 47.578 8.495 47.581 8.487 47.587 8.468 47.584 8.46 47.588 8.458 47.597 8.461 47.602 8.478 47.611 8.479 47.613 8.507 47.618 8.515 47.623 8.517 47.632 8.521 47.634 8.539 47.631 8.539 47.628 8.558 47.624 8.569 47.617 8.572 47.611 8.563 47.599 8.583 47.596 8.593 47.606 8.596 47.606 8.603 47.611 8.605 47.616 8.598 47.627 8.596 47.643 8.607 47.653 8.614 47.645 8.603 47.639 8.607 47.637 8.616 47.638 8.623 47.641 8.628 47.648 8.628 47.654 8.615 47.662 8.609 47.663 8.606 47.669 8.607 47.672 8.598 47.673 8.593 47.667 8.578 47.662 8.565 47.665 8.564 47.67 8.547 47.668 8.54 47.662 8.527 47.66 8.534 47.65 8.532 47.646 8.5 47.647 8.494 47.647 8.492 47.642 8.483 47.644 8.476 47.65 8.473 47.648 8.478 47.64 8.474 47.638 8.466 47.642 8.464 47.656 8.449 47.655 8.445 47.654 8.424 47.667 8.412 47.666 8.406 47.675 8.421 47.684 8.412 47.694 8.406 47.696 8.408 47.702 8.417 47.71 8.426 47.711 8.445 47.723 8.455 47.722 8.457 47.729 8.453 47.731 8.45 47.739 8.473 47.764 8.489 47.773 8.496 47.771 8.51 47.776 8.52 47.77 8.526 47.778 8.553 47.785 8.566 47.778 8.577 47.782 8.574 47.787 8.562 47.793 8.562 47.802 8.568 47.808 8.576 47.802 8.614 47.801 8.622 47.795 8.62 47.789 8.616 47.787 8.618 47.78 8.623 47.777 8.619 47.768 8.628 47.759 8.634 47.76 8.645 47.765 8.653 47.773 8.645 47.787 8.647 47.794 8.657 47.8 8.668 47.788 8.68 47.785 8.689 47.758 8.695 47.756 8.714 47.765 8.727 47.762 8.741 47.752 8.741 47.748 8.724 47.746 8.715 47.739 8.712 47.731 8.718 47.722 8.736 47.716 8.728 47.702 8.728 47.693 8.758 47.689 8.785 47.677</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 485414.0,75286.0,833779.0,295935.0--> + <gmd:westBoundLongitude> + <gco:Decimal>5.956</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>10.491</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>45.818</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.808</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + <che:basicGeodataID> + <gco:CharacterString>-- z.B. 123.4 -- (siehe Sammlung Geobasisdatensätze)</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="federal" codeList="#basicGeodataIDTypeCode" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.gewiss.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.gewiss.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.gewiss.ch/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.gewiss.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>CHTOPO:specialised-geoportal</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>GEWISS - Gewässerinformationssystem Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">GEWISS - Gewässerinformationssystem Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">GEWISS - système d’information géographique sur les eaux en Suisse</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">GEWISS - Sistema d'informazione sulle acque in Svizzera</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">GEWISS - Swiss waterbodies information system</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <che:legislationInformation xmlns:xalan="http://xml.apache.org/xalan" xmlns:comp="http://toignore"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:internalReference> + <gco:CharacterString>510.620, Anhang 1</gco:CharacterString> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung über Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung über Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoinformationsverordnung GeoIV</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoinformationsverordnung GeoIV</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-05-21</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-07-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SR 510.620</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SR 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + <gmd:otherCitationDetails xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherCitationDetails> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/dfef423d-a77d-41f3-80e1-f16f34bf6aab.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/dfef423d-a77d-41f3-80e1-f16f34bf6aab.xml new file mode 100644 index 00000000000..ebb555e8851 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/dfef423d-a77d-41f3-80e1-f16f34bf6aab.xml @@ -0,0 +1,780 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>dfef423d-a77d-41f3-80e1-f16f34bf6aab</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Umwelt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Federal Office for the Environment</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Umwelt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de l'environnement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ufficio federale dell'ambiente</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Bundesamt für Umwelt</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 58 462 93 11</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>+41 58 462 58 32</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Ittigen</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3063</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>karin.fink@bafu.admin.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Papiermühlestrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>172</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://www.bafu.admin.ch/bafu/en/home.html</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.bafu.admin.ch/bafu/de/home.html</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://www.bafu.admin.ch/bafu/fr/home.html</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://www.bafu.admin.ch/bafu/it/home.html</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.bafu.admin.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Karin</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Fink</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BAFU</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">FOEN</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BAFU</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OFEV</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">UFAM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">BAFU</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2011-08-12T09:43:08</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vorlage BAFU</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vorlage BAFU</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- OFEV modèle --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vorlage BAFU</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vorlage BAFU</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2014-03-26</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="underDevelopment" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="notPlanned" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Umwelt</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">environment</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Umwelt</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">ambiente (in generale)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">environnement</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeListValue="otherRestrictions" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" /> + </gmd:useConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>keine Einschränkungen</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">keine Einschränkungen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">pas de restriction</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">No restriction</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>5000</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>5000</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="8859part1" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N8dbfdbfdb22b45c18fd049b904c7bbc0"> + <gml:surfaceMember> + <gml:Polygon gml:id="N8dbfdbfdb22b45c18fd049b904c7bbc0.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.785 47.677 8.796 47.675 8.794 47.68 8.797 47.688 8.8 47.692 8.81 47.693 8.793 47.704 8.769 47.707 8.77 47.715 8.785 47.727 8.799 47.727 8.797 47.735 8.807 47.738 8.809 47.725 8.823 47.716 8.819 47.713 8.826 47.711 8.834 47.715 8.843 47.712 8.848 47.703 8.868 47.705 8.873 47.704 8.876 47.697 8.871 47.693 8.862 47.697 8.852 47.697 8.852 47.681 8.861 47.68 8.868 47.676 8.874 47.667 8.875 47.656 8.875 47.655 8.898 47.648 8.941 47.656 8.987 47.676 9.023 47.687 9.1 47.677 9.117 47.669 9.139 47.664 9.15 47.668 9.157 47.666 9.163 47.66 9.171 47.655 9.182 47.656 9.234 47.657 9.248 47.659 9.268 47.656 9.445 47.595 9.503 47.547 9.515 47.537 9.551 47.537 9.561 47.5 9.561 47.499 9.564 47.493 9.577 47.486 9.594 47.464 9.603 47.462 9.609 47.471 9.622 47.458 9.656 47.454 9.659 47.449 9.651 47.443 9.644 47.435 9.651 47.417 9.652 47.405 9.674 47.391 9.673 47.38 9.658 47.369 9.624 47.366 9.6 47.346 9.587 47.316 9.566 47.304 9.556 47.298 9.543 47.278 9.531 47.271 9.53 47.269 9.521 47.245 9.51 47.232 9.49 47.198 9.488 47.19 9.486 47.181 9.495 47.157 9.503 47.147 9.515 47.122 9.516 47.115 9.52 47.098 9.513 47.085 9.474 47.066 9.472 47.062 9.476 47.052 9.482 47.056 9.486 47.049 9.491 47.056 9.512 47.057 9.531 47.063 9.54 47.065 9.552 47.059 9.557 47.049 9.588 47.055 9.603 47.062 9.607 47.061 9.617 47.054 9.637 47.052 9.645 47.06 9.658 47.058 9.676 47.061 9.718 47.043 9.745 47.041 9.748 47.037 9.783 47.038 9.831 47.014 9.851 47.016 9.861 47.022 9.876 47.021 9.88 47.018 9.871 47.013 9.873 47.007 9.889 47.001 9.891 46.992 9.874 46.966 9.879 46.957 9.876 46.935 9.892 46.932 9.906 46.925 9.912 46.926 9.916 46.922 9.946 46.912 9.959 46.916 9.967 46.912 9.978 46.916 9.981 46.906 9.99 46.902 10.02 46.899 10.052 46.877 10.051 46.865 10.055 46.862 10.088 46.86 10.097 46.849 10.105 46.841 10.118 46.844 10.123 46.848 10.139 46.847 10.147 46.851 10.157 46.848 10.183 46.857 10.194 46.866 10.231 46.866 10.232 46.872 10.235 46.885 10.23 46.898 10.241 46.931 10.257 46.93 10.294 46.922 10.297 46.92 10.302 46.925 10.316 46.925 10.317 46.931 10.306 46.94 10.308 46.948 10.328 46.954 10.33 46.965 10.35 46.991 10.372 46.991 10.389 47.001 10.398 46.997 10.413 46.983 10.427 46.975 10.422 46.96 10.429 46.956 10.434 46.956 10.458 46.951 10.487 46.939 10.486 46.915 10.479 46.908 10.475 46.894 10.465 46.884 10.471 46.873 10.47 46.855 10.467 46.836 10.46 46.835 10.458 46.817 10.451 46.805 10.443 46.799 10.43 46.797 10.427 46.789 10.423 46.788 10.434 46.782 10.442 46.772 10.443 46.754 10.4 46.733 10.418 46.718 10.416 46.709 10.403 46.706 10.393 46.689 10.384 46.683 10.392 46.672 10.391 46.659 10.394 46.655 10.402 46.637 10.409 46.635 10.446 46.641 10.491 46.615 10.484 46.605 10.487 46.589 10.484 46.578 10.475 46.566 10.478 46.557 10.472 46.544 10.459 46.541 10.453 46.531 10.437 46.537 10.418 46.551 10.397 46.544 10.37 46.554 10.352 46.556 10.348 46.549 10.338 46.543 10.325 46.552 10.311 46.547 10.296 46.55 10.289 46.567 10.27 46.578 10.254 46.571 10.246 46.575 10.242 46.592 10.259 46.61 10.245 46.622 10.239 46.635 10.224 46.629 10.215 46.617 10.193 46.623 10.193 46.626 10.129 46.606 10.102 46.611 10.097 46.593 10.101 46.583 10.096 46.577 10.084 46.576 10.081 46.571 10.085 46.567 10.074 46.56 10.062 46.546 10.047 46.544 10.044 46.538 10.054 46.532 10.054 46.523 10.051 46.513 10.042 46.51 10.047 46.498 10.045 46.477 10.052 46.472 10.054 46.465 10.042 46.452 10.039 46.447 10.042 46.443 10.056 46.441 10.06 46.428 10.064 46.426 10.071 46.427 10.081 46.421 10.096 46.422 10.109 46.428 10.128 46.431 10.141 46.428 10.148 46.42 10.161 46.415 10.167 46.407 10.162 46.403 10.162 46.387 10.139 46.384 10.129 46.379 10.129 46.361 10.108 46.351 10.105 46.333 10.117 46.314 10.139 46.305 10.138 46.301 10.156 46.291 10.162 46.282 10.163 46.271 10.172 46.267 10.176 46.258 10.151 46.24 10.146 46.23 10.123 46.224 10.103 46.229 10.09 46.228 10.068 46.218 10.052 46.228 10.049 46.233 10.061 46.248 10.054 46.267 10.029 46.278 9.996 46.285 9.992 46.296 10.001 46.302 10.0 46.313 9.98 46.323 9.994 46.341 9.996 46.351 9.983 46.354 9.964 46.364 9.956 46.374 9.959 46.378 9.953 46.379 9.935 46.375 9.93 46.372 9.931 46.368 9.925 46.366 9.907 46.381 9.868 46.362 9.865 46.365 9.849 46.365 9.832 46.361 9.818 46.35 9.785 46.341 9.778 46.335 9.77 46.336 9.744 46.351 9.737 46.351 9.723 46.341 9.726 46.335 9.717 46.324 9.726 46.32 9.726 46.313 9.718 46.305 9.714 46.293 9.702 46.291 9.689 46.293 9.676 46.303 9.642 46.287 9.622 46.288 9.609 46.294 9.583 46.294 9.561 46.303 9.55 46.302 9.528 46.318 9.517 46.333 9.511 46.337 9.509 46.349 9.494 46.365 9.461 46.376 9.468 46.39 9.462 46.412 9.456 46.416 9.454 46.421 9.461 46.442 9.459 46.463 9.466 46.47 9.462 46.48 9.45 46.48 9.449 46.484 9.461 46.485 9.461 46.506 9.464 46.508 9.459 46.508 9.434 46.498 9.425 46.489 9.424 46.476 9.412 46.467 9.39 46.473 9.385 46.482 9.371 46.49 9.369 46.496 9.373 46.504 9.362 46.51 9.355 46.504 9.339 46.504 9.337 46.506 9.311 46.504 9.283 46.497 9.277 46.485 9.274 46.457 9.265 46.451 9.247 46.447 9.25 46.431 9.264 46.421 9.275 46.419 9.28 46.413 9.282 46.402 9.276 46.395 9.284 46.385 9.276 46.368 9.287 46.357 9.296 46.355 9.299 46.344 9.292 46.336 9.297 46.328 9.295 46.318 9.285 46.314 9.285 46.297 9.272 46.29 9.268 46.282 9.259 46.278 9.257 46.269 9.25 46.266 9.253 46.262 9.248 46.247 9.247 46.232 9.221 46.229 9.214 46.211 9.202 46.208 9.195 46.194 9.198 46.187 9.195 46.179 9.185 46.172 9.173 46.171 9.169 46.172 9.159 46.17 9.157 46.162 9.145 46.158 9.129 46.147 9.121 46.135 9.112 46.135 9.079 46.121 9.072 46.118 9.08 46.105 9.09 46.087 9.082 46.077 9.078 46.069 9.074 46.062 9.05 46.062 9.021 46.052 9.016 46.047 9.008 46.03 9.023 46.017 9.025 46.001 9.028 45.994 8.991 45.972 8.989 45.973 8.989 45.97 8.994 45.966 9.014 45.961 9.017 45.949 9.012 45.944 9.021 45.935 9.019 45.928 9.03 45.927 9.043 45.928 9.048 45.923 9.06 45.921 9.059 45.917 9.076 45.912 9.077 45.899 9.087 45.902 9.089 45.897 9.085 45.896 9.072 45.882 9.065 45.876 9.055 45.874 9.049 45.863 9.051 45.856 9.035 45.84 9.038 45.836 9.031 45.825 9.018 45.818 8.994 45.822 8.997 45.835 8.987 45.839 8.971 45.833 8.956 45.842 8.947 45.843 8.912 45.83 8.914 45.842 8.932 45.861 8.939 45.864 8.945 45.867 8.943 45.869 8.937 45.867 8.935 45.87 8.927 45.892 8.92 45.909 8.917 45.914 8.914 45.918 8.908 45.918 8.896 45.927 8.893 45.932 8.893 45.937 8.897 45.942 8.897 45.955 8.894 45.959 8.878 45.957 8.868 45.961 8.859 45.967 8.854 45.971 8.839 45.984 8.832 45.988 8.824 45.988 8.794 45.992 8.791 45.989 8.786 45.989 8.793 46.008 8.797 46.012 8.806 46.022 8.82 46.026 8.828 46.034 8.83 46.042 8.833 46.041 8.835 46.044 8.828 46.047 8.834 46.051 8.844 46.048 8.855 46.062 8.852 46.076 8.835 46.082 8.806 46.101 8.802 46.097 8.8 46.095 8.783 46.094 8.756 46.105 8.742 46.122 8.724 46.11 8.714 46.097 8.697 46.102 8.686 46.103 8.681 46.108 8.658 46.113 8.648 46.123 8.612 46.122 8.61 46.132 8.593 46.145 8.604 46.154 8.574 46.164 8.57 46.177 8.555 46.187 8.553 46.192 8.541 46.197 8.533 46.218 8.469 46.233 8.464 46.245 8.447 46.248 8.443 46.252 8.445 46.257 8.456 46.264 8.428 46.298 8.441 46.304 8.444 46.319 8.454 46.323 8.464 46.333 8.464 46.344 8.462 46.354 8.468 46.364 8.466 46.38 8.461 46.387 8.471 46.396 8.464 46.403 8.468 46.412 8.457 46.423 8.462 46.451 8.453 46.455 8.45 46.462 8.438 46.464 8.407 46.458 8.393 46.452 8.385 46.452 8.367 46.452 8.326 46.427 8.314 46.424 8.308 46.426 8.299 46.414 8.289 46.409 8.316 46.399 8.318 46.387 8.313 46.377 8.286 46.366 8.264 46.365 8.261 46.361 8.266 46.352 8.263 46.346 8.236 46.34 8.224 46.334 8.223 46.327 8.215 46.32 8.212 46.31 8.206 46.306 8.179 46.298 8.161 46.296 8.141 46.302 8.121 46.292 8.113 46.281 8.081 46.261 8.088 46.254 8.1 46.252 8.102 46.25 8.11 46.25 8.116 46.236 8.127 46.228 8.139 46.226 8.153 46.191 8.165 46.182 8.165 46.177 8.15 46.161 8.155 46.148 8.144 46.137 8.127 46.136 8.116 46.13 8.114 46.117 8.108 46.112 8.081 46.105 8.072 46.106 8.043 46.1 8.035 46.101 8.022 46.07 8.034 46.044 8.013 46.031 8.018 46.025 8.012 46.012 8.001 46.012 7.989 45.996 7.981 45.998 7.909 45.997 7.894 45.981 7.878 45.973 7.881 45.968 7.877 45.949 7.871 45.947 7.868 45.937 7.877 45.927 7.873 45.921 7.864 45.917 7.822 45.927 7.8 45.917 7.769 45.937 7.75 45.94 7.735 45.924 7.72 45.924 7.708 45.935 7.71 45.948 7.699 45.954 7.681 45.957 7.665 45.975 7.657 45.977 7.639 45.97 7.587 45.971 7.581 45.975 7.575 45.987 7.546 45.984 7.542 45.976 7.546 45.962 7.538 45.955 7.511 45.959 7.488 45.956 7.472 45.948 7.475 45.937 7.472 45.934 7.459 45.936 7.445 45.932 7.427 45.915 7.412 45.909 7.406 45.909 7.383 45.897 7.367 45.904 7.361 45.903 7.356 45.91 7.345 45.915 7.324 45.91 7.294 45.922 7.286 45.916 7.274 45.9 7.257 45.888 7.229 45.892 7.216 45.889 7.2 45.873 7.201 45.863 7.197 45.861 7.191 45.859 7.175 45.863 7.162 45.871 7.164 45.876 7.154 45.879 7.135 45.873 7.132 45.867 7.118 45.859 7.101 45.86 7.095 45.876 7.064 45.9 7.061 45.913 7.044 45.923 7.036 45.938 7.037 45.955 7.021 45.959 7.009 45.969 7.011 45.973 7.022 45.977 7.022 45.981 7.013 45.987 7.011 45.997 7.006 46.001 7.001 45.999 6.985 46.004 6.981 46.019 6.963 46.03 6.949 46.051 6.944 46.051 6.936 46.055 6.937 46.064 6.925 46.065 6.909 46.05 6.9 46.049 6.89 46.042 6.883 46.045 6.876 46.048 6.873 46.055 6.88 46.069 6.891 46.074 6.886 46.097 6.895 46.108 6.893 46.114 6.9 46.124 6.852 46.126 6.843 46.129 6.842 46.132 6.814 46.13 6.798 46.137 6.79 46.154 6.792 46.163 6.813 46.182 6.807 46.196 6.804 46.205 6.822 46.223 6.821 46.23 6.833 46.236 6.843 46.249 6.854 46.254 6.855 46.259 6.86 46.266 6.859 46.274 6.863 46.278 6.859 46.29 6.855 46.293 6.847 46.29 6.83 46.3 6.829 46.306 6.82 46.316 6.801 46.32 6.794 46.333 6.784 46.337 6.775 46.347 6.772 46.361 6.781 46.367 6.793 46.367 6.804 46.377 6.806 46.383 6.802 46.388 6.805 46.394 6.821 46.427 6.682 46.454 6.519 46.456 6.426 46.416 6.335 46.404 6.253 46.36 6.241 46.344 6.232 46.331 6.22 46.312 6.242 46.304 6.246 46.303 6.253 46.291 6.244 46.285 6.238 46.276 6.25 46.263 6.25 46.262 6.267 46.248 6.284 46.254 6.29 46.26 6.296 46.256 6.306 46.256 6.31 46.244 6.291 46.224 6.277 46.216 6.249 46.206 6.245 46.207 6.245 46.205 6.234 46.206 6.224 46.201 6.186 46.178 6.189 46.166 6.175 46.158 6.154 46.152 6.146 46.147 6.136 46.142 6.125 46.141 6.1 46.144 6.092 46.152 6.074 46.149 6.052 46.151 6.037 46.137 6.024 46.141 5.994 46.145 5.982 46.142 5.977 46.133 5.957 46.129 5.956 46.132 5.966 46.138 5.964 46.145 5.976 46.161 5.981 46.17 5.992 46.177 5.995 46.182 5.992 46.187 5.964 46.197 5.975 46.215 5.993 46.223 6.0 46.22 6.016 46.232 6.034 46.239 6.046 46.231 6.063 46.246 6.07 46.241 6.088 46.246 6.102 46.238 6.124 46.251 6.12 46.261 6.12 46.265 6.104 46.278 6.103 46.285 6.121 46.297 6.12 46.312 6.126 46.317 6.132 46.325 6.139 46.335 6.138 46.339 6.149 46.343 6.158 46.351 6.159 46.357 6.17 46.366 6.159 46.38 6.15 46.377 6.113 46.4 6.106 46.399 6.098 46.409 6.064 46.416 6.075 46.432 6.084 46.44 6.086 46.444 6.074 46.454 6.077 46.458 6.073 46.465 6.097 46.481 6.113 46.51 6.138 46.531 6.144 46.528 6.154 46.537 6.149 46.539 6.157 46.545 6.111 46.576 6.14 46.598 6.161 46.61 6.179 46.616 6.186 46.624 6.219 46.645 6.267 46.676 6.269 46.683 6.282 46.691 6.307 46.699 6.341 46.71 6.36 46.723 6.372 46.724 6.385 46.732 6.392 46.739 6.388 46.743 6.395 46.748 6.417 46.753 6.438 46.762 6.439 46.767 6.452 46.774 6.458 46.789 6.435 46.802 6.431 46.812 6.441 46.816 6.443 46.833 6.46 46.851 6.463 46.876 6.463 46.893 6.433 46.929 6.45 46.936 6.471 46.956 6.486 46.967 6.496 46.974 6.505 46.966 6.572 46.982 6.591 46.991 6.618 46.992 6.634 46.998 6.659 47.027 6.676 47.035 6.699 47.039 6.719 47.052 6.701 47.059 6.692 47.068 6.701 47.07 6.708 47.083 6.715 47.088 6.725 47.091 6.736 47.09 6.744 47.092 6.747 47.097 6.741 47.11 6.764 47.12 6.792 47.127 6.816 47.136 6.85 47.156 6.858 47.165 6.844 47.166 6.841 47.171 6.871 47.185 6.88 47.201 6.89 47.205 6.943 47.235 6.943 47.238 6.956 47.244 6.948 47.256 6.951 47.271 6.941 47.286 6.951 47.292 6.97 47.292 7.008 47.301 7.016 47.315 7.013 47.32 7.009 47.32 7.01 47.325 7.035 47.328 7.046 47.326 7.057 47.334 7.062 47.344 7.056 47.347 7.05 47.361 7.043 47.364 7.035 47.363 7.034 47.368 7.012 47.373 6.995 47.363 6.924 47.355 6.903 47.36 6.88 47.353 6.884 47.373 6.895 47.382 6.905 47.383 6.913 47.388 6.909 47.396 6.918 47.403 6.938 47.406 6.94 47.433 6.964 47.436 6.97 47.447 6.996 47.45 7.002 47.454 6.997 47.456 7.001 47.462 7.0 47.467 6.992 47.466 6.986 47.476 6.988 47.495 7.02 47.504 7.037 47.498 7.061 47.495 7.072 47.492 7.075 47.488 7.094 47.495 7.112 47.495 7.128 47.504 7.15 47.497 7.159 47.491 7.171 47.489 7.201 47.494 7.203 47.491 7.191 47.487 7.179 47.464 7.17 47.443 7.193 47.439 7.196 47.435 7.207 47.435 7.226 47.44 7.233 47.439 7.246 47.427 7.245 47.421 7.282 47.435 7.327 47.44 7.331 47.442 7.353 47.434 7.381 47.432 7.421 47.446 7.431 47.459 7.446 47.462 7.456 47.471 7.456 47.473 7.429 47.483 7.421 47.481 7.433 47.497 7.462 47.489 7.471 47.481 7.487 47.482 7.498 47.489 7.51 47.503 7.509 47.509 7.499 47.516 7.498 47.521 7.503 47.516 7.524 47.515 7.531 47.527 7.527 47.533 7.516 47.533 7.508 47.528 7.501 47.529 7.498 47.536 7.504 47.543 7.518 47.546 7.555 47.564 7.559 47.569 7.557 47.573 7.566 47.578 7.585 47.576 7.589 47.59 7.605 47.585 7.605 47.578 7.619 47.577 7.625 47.579 7.646 47.597 7.674 47.592 7.683 47.598 7.693 47.601 7.672 47.587 7.681 47.581 7.69 47.571 7.686 47.566 7.683 47.57 7.653 47.562 7.648 47.56 7.636 47.564 7.634 47.561 7.646 47.552 7.651 47.547 7.661 47.545 7.666 47.538 7.675 47.534 7.686 47.533 7.697 47.533 7.714 47.54 7.753 47.545 7.758 47.549 7.796 47.557 7.812 47.569 7.82 47.587 7.832 47.587 7.837 47.583 7.846 47.582 7.869 47.589 7.887 47.588 7.898 47.584 7.911 47.57 7.909 47.555 7.918 47.547 7.94 47.545 7.949 47.545 7.956 47.557 7.965 47.557 8.008 47.555 8.022 47.55 8.046 47.555 8.067 47.565 8.075 47.562 8.085 47.557 8.097 47.561 8.107 47.58 8.113 47.584 8.126 47.583 8.137 47.584 8.138 47.59 8.148 47.596 8.159 47.594 8.185 47.605 8.194 47.616 8.202 47.62 8.214 47.62 8.222 47.616 8.224 47.607 8.228 47.605 8.255 47.615 8.261 47.614 8.265 47.609 8.279 47.612 8.289 47.61 8.298 47.606 8.297 47.59 8.316 47.579 8.324 47.573 8.337 47.57 8.362 47.569 8.378 47.567 8.392 47.575 8.4 47.577 8.416 47.571 8.426 47.568 8.434 47.567 8.464 47.572 8.477 47.578 8.484 47.577 8.487 47.578 8.495 47.581 8.487 47.587 8.468 47.584 8.46 47.588 8.458 47.597 8.461 47.602 8.478 47.611 8.479 47.613 8.507 47.618 8.515 47.623 8.517 47.632 8.521 47.634 8.539 47.631 8.539 47.628 8.558 47.624 8.569 47.617 8.572 47.611 8.563 47.599 8.583 47.596 8.593 47.606 8.596 47.606 8.603 47.611 8.605 47.616 8.598 47.627 8.596 47.643 8.607 47.653 8.614 47.645 8.603 47.639 8.607 47.637 8.616 47.638 8.623 47.641 8.628 47.648 8.628 47.654 8.615 47.662 8.609 47.663 8.606 47.669 8.607 47.672 8.598 47.673 8.593 47.667 8.578 47.662 8.565 47.665 8.564 47.67 8.547 47.668 8.54 47.662 8.527 47.66 8.534 47.65 8.532 47.646 8.5 47.647 8.494 47.647 8.492 47.642 8.483 47.644 8.476 47.65 8.473 47.648 8.478 47.64 8.474 47.638 8.466 47.642 8.464 47.656 8.449 47.655 8.445 47.654 8.424 47.667 8.412 47.666 8.406 47.675 8.421 47.684 8.412 47.694 8.406 47.696 8.408 47.702 8.417 47.71 8.426 47.711 8.445 47.723 8.455 47.722 8.457 47.729 8.453 47.731 8.45 47.739 8.473 47.764 8.489 47.773 8.496 47.771 8.51 47.776 8.52 47.77 8.526 47.778 8.553 47.785 8.566 47.778 8.577 47.782 8.574 47.787 8.562 47.793 8.562 47.802 8.568 47.808 8.576 47.802 8.614 47.801 8.622 47.795 8.62 47.789 8.616 47.787 8.618 47.78 8.623 47.777 8.619 47.768 8.628 47.759 8.634 47.76 8.645 47.765 8.653 47.773 8.645 47.787 8.647 47.794 8.657 47.8 8.668 47.788 8.68 47.785 8.689 47.758 8.695 47.756 8.714 47.765 8.727 47.762 8.741 47.752 8.741 47.748 8.724 47.746 8.715 47.739 8.712 47.731 8.718 47.722 8.736 47.716 8.728 47.702 8.728 47.693 8.758 47.689 8.785 47.677</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 485414.0,75286.0,833779.0,295935.0--> + <gmd:westBoundLongitude> + <gco:Decimal>5.956</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>10.491</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>45.818</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.808</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + <che:basicGeodataID> + <gco:CharacterString>-- z.B. 123.4 -- (siehe Sammlung Geobasisdatensätze)</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeList="#basicGeodataIDTypeCode" codeListValue="federal" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Geodatabase (.mdb)</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">-</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">-</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">-</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">-</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://map.bafu.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://map.bafu.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://map.bafu.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://map.bafu.admin.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>CHTOPO:specialised-geoportal</gco:CharacterString> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Link zum Fachportal</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Link zum Fachportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Link per il portale</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Lien vers le portail</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Link to portal</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:internalReference> + <gco:CharacterString>Anhang 1</gco:CharacterString> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung über Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung über Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoinformationsverordnung GeoIV</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoinformationsverordnung GeoIV</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">OGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OGéo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-05-21</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-07-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SR 510.620</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SR 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">RS 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">RS 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + <gmd:otherCitationDetails xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Liste aller Geodaten, welche über eine gesetzliche Grundlage auf Bundesebene verfügen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Liste aller Geodaten, welche über eine gesetzliche Grundlage auf Bundesebene verfügen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Liste de toutes les géodonnées de base de droit fédéral.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Questo elenco contiene tutti i geodati di base del diritto federale.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherCitationDetails> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/e693bd9e-32fd-4f95-a6a6-210173a540b2.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/e693bd9e-32fd-4f95-a6a6-210173a540b2.xml new file mode 100644 index 00000000000..eb2586a7de1 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/e693bd9e-32fd-4f95-a6a6-210173a540b2.xml @@ -0,0 +1,572 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>e693bd9e-32fd-4f95-a6a6-210173a540b2</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:Date /> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03 Medium Vecteur</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="topology1D" /> + </gmd:topologyLevel> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CH1903 MN03</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">CH1903 MN03</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Template GRUT 3 - GM03 Medium Vecteur --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- Template GRUT 3 - GM03 Medium Vecteur --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="creation" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gestion du réseau de distribution</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Gestion du réseau de distribution</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="onGoing" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="continual" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>énergie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">energy</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Energie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">energia</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">énergie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="theme" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET themes</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2009-09-22</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external.theme.gemet-theme">geonetwork.thesaurus.external.theme.gemet-theme</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Cadastre souterrain</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Pipeline cadastre</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Leitungskataster</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Catasto delle condotte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Cadastre souterrain</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>électricité</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">electricity</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Elektrizität</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">elettricità</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">électricité</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="restricted" /> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer /> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN" /> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR" /> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:class> + <che:CHE_MD_Class> + <che:name gco:nilReason="missing"> + <gco:CharacterString /> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + <che:attribute> + <che:name gco:nilReason="missing"> + <gco:CharacterString /> + </che:name> + <che:description gco:nilReason="missing"> + <gco:CharacterString /> + </che:description> + </che:attribute> + </che:CHE_MD_Class> + </che:class> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="Other" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:protocol> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="offlineAccess" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:offLine> + <gmd:MD_Medium> + <gmd:name> + <gmd:MD_MediumNameCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MediumNameCode" codeListValue="other" /> + </gmd:name> + </gmd:MD_Medium> + </gmd:offLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo /> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" codeListValue="series" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report /> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Relevés terrain en plannimétrie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Relevés terrain en plannimétrie</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:portrayalCatalogueInfo> + <che:CHE_MD_PortrayalCatalogueReference> + <gmd:portrayalCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Symbolique de la géomatique des réseaux de distribution électricité</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Symbolique de la géomatique des réseaux de distribution électricité</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime>2010-01-01T01:00:00</gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:portrayalCatalogueCitation> + <che:portrayalCatalogueURL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN" /> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.storm.ch/fr.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </che:portrayalCatalogueURL> + </che:CHE_MD_PortrayalCatalogueReference> + </gmd:portrayalCatalogueInfo> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalLaw" /> + </che:legislationType> + <che:internalReference gco:nilReason="missing"> + <gco:CharacterString /> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>OLEI</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OLEI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Ordonnance sur les lignes électriques</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur les lignes électriques</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime>2010-01-01T01:00:00</gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/edb403ec-c942-44bb-bfe4-e633fb967dcb.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/edb403ec-c942-44bb-bfe4-e633fb967dcb.xml new file mode 100644 index 00000000000..e8d8e6bea92 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/edb403ec-c942-44bb-bfe4-e633fb967dcb.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>edb403ec-c942-44bb-bfe4-e633fb967dcb</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:DateTime>2010-08-18T17:26:21</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Core obligatoire (fr) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- Core obligatoire (fr) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>résumé</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">résumé</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/f0d2fb34-fd5f-42d4-878e-520b15a3df16.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/f0d2fb34-fd5f-42d4-878e-520b15a3df16.xml new file mode 100644 index 00000000000..27e598da165 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/f0d2fb34-fd5f-42d4-878e-520b15a3df16.xml @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" xsi:schemaLocation="http://www.geocat.ch/2008/che ../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>f0d2fb34-fd5f-42d4-878e-520b15a3df16</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:dateStamp> + <gco:DateTime>2009-08-27T18:51:56</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 WMS (de) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- GM03 WMS (de) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zusammenfassung --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zusammenfassung --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.1.1</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetMap</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeatureInfo</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/f3496887-10a6-4f55-b734-9f0b94fb606e.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/f3496887-10a6-4f55-b734-9f0b94fb606e.xml new file mode 100644 index 00000000000..e0b8d108f66 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/f3496887-10a6-4f55-b734-9f0b94fb606e.xml @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" xsi:schemaLocation="http://www.geocat.ch/2008/che ../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>f3496887-10a6-4f55-b734-9f0b94fb606e</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:dateStamp> + <gco:DateTime>2009-09-15T16:39:36</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 WMS (fr) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- GM03 WMS (fr) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- résumé --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- résumé --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.1.1</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetMap</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeatureInfo</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/f34d1c27-4c83-472e-b485-08aba4e49d30.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/f34d1c27-4c83-472e-b485-08aba4e49d30.xml new file mode 100644 index 00000000000..2bc294a8611 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/f34d1c27-4c83-472e-b485-08aba4e49d30.xml @@ -0,0 +1,750 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" xsi:schemaLocation="http://www.geocat.ch/2008/che ../../../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>f34d1c27-4c83-472e-b485-08aba4e49d30</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName xmlns:xalan="http://xml.apache.org/xalan" gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:dateStamp xmlns:xalan="http://xml.apache.org/xalan"> + <gco:DateTime>2009-05-07T12:24:29</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="" /> + </gmd:topologyLevel> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer /> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>z.B. EPSG:21781 oder CH1903</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">z.B. EPSG:21781 oder CH1903</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Geobasisdatensatz --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Geobasisdatensatz --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="revision" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Titel analog Anhang I GeoIV --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Titel analog Anhang I GeoIV --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zweck des Geobasisdtensatzes --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zweck des Geobasisdtensatzes --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeListValue="completed" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" /> + </gmd:status> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeListValue="annually" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" /> + </gmd:maintenanceAndUpdateFrequency> + <gmd:dateOfNextUpdate> + <gco:Date /> + </gmd:dateOfNextUpdate> + <che:dateOfMonitoringState> + <gco:Date /> + </che:dateOfMonitoringState> + <che:historyConcept> + <che:CHE_MD_HistoryConcept> + <che:historyConceptCitation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>- Historisierungskonzept Daten -</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">- Historisierungskonzept Daten -</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:historyConceptCitation> + <che:historyConceptURL> + <che:LocalisedURL>- URL-Historisierungskonzept -</che:LocalisedURL> + </che:historyConceptURL> + </che:CHE_MD_HistoryConcept> + </che:historyConcept> + <che:archiveConcept> + <che:CHE_MD_ArchiveConcept> + <che:archiveConceptCitation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>- Archivierungskonzept Daten -</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">- Archivierungskonzept Daten -</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:archiveConceptCitation> + <che:archiveConceptURL> + <che:LocalisedURL>- URL-Archivierungskonzept -</che:LocalisedURL> + </che:archiveConceptURL> + </che:CHE_MD_ArchiveConcept> + </che:archiveConcept> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geodaten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Geodata</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geodaten</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Geodati</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Géodonnées</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Zugangsberechtigungsstufe gemäss SR 510.620, Anhang 1</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Zugangsberechtigungsstufe gemäss SR 510.620, Anhang 1</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Niveau d'autorisation d'accès selon RS 510.620, annexe 1</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Livello di autorizzazione all'accesso secondo RS 510.620, allegato I</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeListValue="" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- wenn "benutzerdef" ausgewählt --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- wenn "benutzerdef" ausgewählt --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ClassificationCode" codeListValue="" /> + </gmd:classification> + <gmd:userNote xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:userNote> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeListValue="vector" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>-- MinScale (z.B 5000) -- Entfernen falls nicht relevant</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:distance> + <gco:Distance uom="m">-- MaxScale (z.B. 100000) -- Entfernen falls nicht relevant</gco:Distance> + </gmd:distance> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode /> + </gmd:topicCategory> + <che:basicGeodataID gco:nilReason="missing"> + <gco:CharacterString /> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeList="#basicGeodataIDTypeCode" codeListValue="federal" /> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Titel des Objektkatalogs --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Titel des Objektkatalogs --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">--URL zum Objektkatalog --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="FeatureDescription" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:contentInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Grafisches Datenmodell (UML oder ER)--</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Grafisches Datenmodell (UML oder ER)--</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">--URL zum UML oder ER-Diagramm--</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="UMLdiagram" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:contentInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Textuelles Modell (z.B. INTERLIS 1, INTERLIS 2, GML...) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Textuelles Modell (z.B. INTERLIS 1, INTERLIS 2, GML...) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- URL zum textuellen Modell --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:modelType> + <che:CHE_MD_modelTypeCode codeList="#CHE_MD_modelTypeCode" codeListValue="INTERLIS2" /> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor /> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- zusätzliche Infos z.B. Amts Webseite, "-" in URL und Beschreibung einfügen, falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- URL zum Download, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- URL zum Download, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE" /> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>CHTOPO:specialised-geoportal</gco:CharacterString> + </gmd:protocol> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- z. B. Link zu Fachportal, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- z. B. Link zu Fachportal, "-" in URL und Beschreibung einfügen falls nicht vorhanden --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Angaben zur Herkunft --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Angaben zur Herkunft --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:portrayalCatalogueInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_PortrayalCatalogueReference> + <gmd:portrayalCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>--Bezeichnung des Darstellungskatalogs--</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">--Bezeichnung des Darstellungskatalogs--</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:portrayalCatalogueCitation> + <che:portrayalCatalogueURL xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">--URL zum Darstellungskatalog--</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </che:portrayalCatalogueURL> + </che:CHE_MD_PortrayalCatalogueReference> + </gmd:portrayalCatalogueInfo> + <gmd:metadataMaintenance xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="asNeeded" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:metadataMaintenance> + <che:legislationInformation xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeListValue="CH" codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeListValue="nationalDecree" codeList="#CHE_CI_LegislationCode" /> + </che:legislationType> + <che:internalReference> + <gco:CharacterString>510.620, Anhang 1</gco:CharacterString> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung über Geoinformation : Anhang 1, Katalog der Geobasisdaten des Bundesrechts</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung über Geoinformation : Anhang 1, Katalog der Geobasisdaten des Bundesrechts</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation : Annexe 1, Catalogue des géodonnées de base relevant du droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione : Allegato 1, Catalogo dei geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoinformationsverordnung GeoIV</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoinformationsverordnung GeoIV</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OGéo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">OGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-05-21</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="creation" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-07-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:otherCitationDetails xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">In diesem Anhang werden alle Geodaten aufgelistet, welche über ein gesetzliche Grundlage auf Bundesebene verfügen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Dans cette annexe sont listées toutes les géodonnées de base de droit fédéral</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Questo elencon contiene tutti i geodati di base del diritto federale</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherCitationDetails> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/f43f1105-dfd4-44d8-957f-e9f285c43571.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/f43f1105-dfd4-44d8-957f-e9f285c43571.xml new file mode 100644 index 00000000000..aa3a401d1a5 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/f43f1105-dfd4-44d8-957f-e9f285c43571.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:geonet="http://www.fao.org/geonetwork" xsi:schemaLocation="http://www.geocat.ch/2008/che ../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>f43f1105-dfd4-44d8-957f-e9f285c43571</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gco:CharacterString>fre</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:dateStamp> + <gco:DateTime>2009-12-14T09:03:58</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- GM03 WFS (fr) --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">-- GM03 WFS (fr) --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date /> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <srv:serviceType> + <gco:LocalName>OGC:WFS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="tight" /> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WFS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WFS-http-get-capabilities</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>DescribeFeature</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WFS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WFS-http-get-capabilities</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeature</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices" /> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">-- Adresse WFS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WFS-http-get-capabilities</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <che:inspireServiceType> + <che:CHE_SV_inspireServiceTypeCode codeList="#CHE_SV_inspireServiceTypeCode" codeListValue="DownloadService" /> + </che:inspireServiceType> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/sub-tpl-Format.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/sub-tpl-Format.xml new file mode 100644 index 00000000000..8427beca924 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/sub-tpl-Format.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> +<gmd:MD_Format xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:geonet="http://www.fao.org/geonetwork"> + <gmd:name> + <gco:CharacterString xmlns:gco="http://www.isotc211.org/2005/gco">Arcview map</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString xmlns:gco="http://www.isotc211.org/2005/gco">-</gco:CharacterString> + </gmd:version> +</gmd:MD_Format> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/templates/sub-tpl-PointOfContact.xml b/iso19139.che/src/main/plugin/iso19139.che/templates/sub-tpl-PointOfContact.xml new file mode 100644 index 00000000000..3cfda3f699a --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/templates/sub-tpl-PointOfContact.xml @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> +<che:CHE_CI_ResponsibleParty xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:geonet="http://www.fao.org/geonetwork" + gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Landestopografie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de la topographie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Federal office of topography</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo xmlns:gmd="http://www.isotc211.org/2005/gmd"> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41584690402</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>andre.schneider@swisstopo.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role xmlns:gmd="http://www.isotc211.org/2005/gmd"> + <gmd:CI_RoleCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_RoleCode" + codeListValue="pointOfContact"/> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>André</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Schneider (INSPIRE)</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText xmlns:gmd="http://www.isotc211.org/2005/gmd"> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> +</che:CHE_CI_ResponsibleParty> \ No newline at end of file diff --git a/iso19139.che/src/main/plugin/iso19139.che/update-fixed-info-subtemplate.xsl b/iso19139.che/src/main/plugin/iso19139.che/update-fixed-info-subtemplate.xsl new file mode 100644 index 00000000000..01dd0b2d32c --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/update-fixed-info-subtemplate.xsl @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:saxon="http://saxon.sf.net/" + xmlns:gn-fn-iso19139="http://geonetwork-opensource.org/xsl/functions/profiles/iso19139" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:java="java:org.fao.geonet.util.XslUtil" + extension-element-prefixes="saxon" + version="2.0" exclude-result-prefixes="#all"> + + <xsl:include href="../iso19139/update-fixed-info-subtemplate.xsl"/> + + <xsl:template match="/root" priority="1000"> + <xsl:apply-templates select="gmd:*|che:*"/> + </xsl:template> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/update-fixed-info.xsl b/iso19139.che/src/main/plugin/iso19139.che/update-fixed-info.xsl new file mode 100644 index 00000000000..c3330587839 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/update-fixed-info.xsl @@ -0,0 +1,1023 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the + ~ United Nations (FAO-UN), United Nations World Food Programme (WFP) + ~ and United Nations Environment Programme (UNEP) + ~ + ~ This program is free software; you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation; either version 2 of the License, or (at + ~ your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, but + ~ WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program; if not, write to the Free Software + ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + ~ + ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + ~ Rome - Italy. email: geonetwork@osgeo.org + --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gn-fn-iso19139="http://geonetwork-opensource.org/xsl/functions/profiles/iso19139" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:java="java:org.fao.geonet.util.XslUtil" + version="2.0" + exclude-result-prefixes="#all"> + + <xsl:include href="../iso19139/convert/functions.xsl"/> + <xsl:include href="../iso19139/update-fixed-info-keywords.xsl"/> + <xsl:include href="../iso19139/layout/utility-fn.xsl"/> + <xsl:include href="update-sub-template-fixed-info.xsl"/> + + <xsl:template name="trim"> + <xsl:param name="str"/> + <xsl:choose> + <xsl:when test="string-length($str) &gt; 0 and substring($str, 1, 1) = ' '"> + <xsl:call-template name="trim"><xsl:with-param name="str"><xsl:value-of select="substring($str, 2)"/></xsl:with-param></xsl:call-template></xsl:when> + <xsl:when test="string-length($str) &gt; 0 and substring($str, string-length($str)) = ' '"> + <xsl:call-template name="trim"><xsl:with-param name="str"><xsl:value-of select="substring($str, 1, string-length($str)-1)"/></xsl:with-param></xsl:call-template></xsl:when> + <xsl:otherwise><xsl:value-of select="$str"/></xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <xsl:variable name="serviceUrl" select="/root/env/siteURL"/> + <xsl:variable name="node" select="/root/env/node"/> + + <xsl:variable name="schemaLocationFor2007" + select="'http://www.isotc211.org/2005/gmd http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd'"/> + + <!-- Try to determine if using the 2005 or 2007 version + of ISO19139. Based on this GML 3.2.0 or 3.2.1 is used. + Default is 2007 with GML 3.2.1. + You can force usage of a schema by setting: + * ISO19139:2007 + <xsl:variable name="isUsing2005Schema" select="false()"/> + * ISO19139:2005 (not recommended) + <xsl:variable name="isUsing2005Schema" select="true()"/> + --> + <xsl:variable name="isUsing2005Schema" + select="(/root/che:CHE_MD_Metadata/@xsi:schemaLocation + and /root/che:CHE_MD_Metadata/@xsi:schemaLocation != $schemaLocationFor2007) + or + count(//gml320:*) > 0"/> + + <!-- This variable is used to migrate from 2005 to 2007 version. + By setting the schema location in a record, on next save, the record + will use GML3.2.1.--> + <xsl:variable name="isUsing2007Schema" + select="/root/che:CHE_MD_Metadata/@xsi:schemaLocation + and /root/che:CHE_MD_Metadata/@xsi:schemaLocation = $schemaLocationFor2007"/> + + <!-- The default language is also added as gmd:locale + for multilingual metadata records. --> + <xsl:variable name="mainLanguage" + select="/root/*/gmd:language/gco:CharacterString/text()| + /root/*/gmd:language/gmd:LanguageCode/@codeListValue"/> + + <xsl:variable name="isMultilingual" + select="count(/root/*/gmd:locale[*/gmd:languageCode/*/@codeListValue != $mainLanguage]) > 0"/> + + <xsl:variable name="languages" + select="/root/*/gmd:locale/*"/> + + <xsl:variable name="mainLanguageId" + select="upper-case(java:twoCharLangCode($mainLanguage))"/> + + <xsl:variable name="defaultEncoding" + select="'utf8'"/> + + <xsl:variable name="editorConfig" + select="document('layout/config-editor.xml')"/> + + <xsl:variable name="nonMultilingualFields" + select="$editorConfig/editor/multilingualFields/exclude"/> + + <xsl:variable name="locales" + select="/root/*/gmd:locale/gmd:PT_Locale"/> + + <xsl:template match="/root"> + <xsl:apply-templates select="che:CHE_MD_Metadata"/> + </xsl:template> + + <!-- Encode language following INSPIRE rules --> + <xsl:template match="gmd:language[gco:CharacterString != '']" priority="99"> + <xsl:element name="{name()}"> + <xsl:apply-templates select="@*"/> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" + codeListValue="{gco:CharacterString}"/> + </xsl:element> + </xsl:template> + + <!-- Remove empty language which will break on schematron rule + checking non empty values in codelist --> + <xsl:template match="gmd:language[gco:CharacterString = '']" priority="99"/> + + <xsl:template name="add-namespaces"> + <xsl:namespace name="xsi" select="'http://www.w3.org/2001/XMLSchema-instance'"/> + <xsl:namespace name="che" select="'http://www.geocat.ch/2008/che'"/> + <xsl:namespace name="gco" select="'http://www.isotc211.org/2005/gco'"/> + <xsl:namespace name="gmd" select="'http://www.isotc211.org/2005/gmd'"/> + <xsl:namespace name="srv" select="'http://www.isotc211.org/2005/srv'"/> + <xsl:namespace name="gmx" select="'http://www.isotc211.org/2005/gmx'"/> + <xsl:namespace name="gts" select="'http://www.isotc211.org/2005/gts'"/> + <xsl:namespace name="gsr" select="'http://www.isotc211.org/2005/gsr'"/> + <xsl:namespace name="gmi" select="'http://www.isotc211.org/2005/gmi'"/> + <xsl:choose> + <xsl:when test="$isUsing2005Schema and not($isUsing2007Schema)"> + <xsl:namespace name="gml" select="'http://www.opengis.net/gml'"/> + </xsl:when> + <xsl:otherwise> + <xsl:namespace name="gml" select="'http://www.opengis.net/gml/3.2'"/> + </xsl:otherwise> + </xsl:choose> + <xsl:namespace name="xlink" select="'http://www.w3.org/1999/xlink'"/> + </xsl:template> + + <xsl:template match="che:CHE_MD_Metadata"> + <xsl:copy copy-namespaces="no"> + <xsl:call-template name="add-namespaces"/> + <xsl:apply-templates select="@*"/> + + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="/root/env/uuid"/> + </gco:CharacterString> + </gmd:fileIdentifier> + + <xsl:apply-templates select="gmd:language"/> + <xsl:apply-templates select="gmd:characterSet"/> + + <xsl:choose> + <xsl:when test="/root/env/parentUuid!=''"> + <gmd:parentIdentifier> + <gco:CharacterString> + <xsl:value-of select="/root/env/parentUuid"/> + </gco:CharacterString> + </gmd:parentIdentifier> + </xsl:when> + <xsl:when test="gmd:parentIdentifier"> + <xsl:apply-templates select="gmd:parentIdentifier"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates select=" + gmd:hierarchyLevel| + gmd:hierarchyLevelName| + gmd:contact| + gmd:dateStamp| + gmd:metadataStandardName| + gmd:metadataStandardVersion| + gmd:dataSetURI"/> + + <!-- Copy existing locales and create an extra one for the default metadata language. --> + <xsl:if test="$isMultilingual"> + <xsl:apply-templates select="gmd:locale[*/gmd:languageCode/*/@codeListValue != $mainLanguage]"/> + <gmd:locale> + <gmd:PT_Locale id="{$mainLanguageId}"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" + codeListValue="{$mainLanguage}"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="{$defaultEncoding}"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + </xsl:if> + + <xsl:apply-templates select=" + gmd:spatialRepresentationInfo| + gmd:referenceSystemInfo| + gmd:metadataExtensionInfo| + gmd:identificationInfo| + gmd:contentInfo| + gmd:distributionInfo| + gmd:dataQualityInfo| + gmd:portrayalCatalogueInfo| + gmd:metadataConstraints| + gmd:applicationSchemaInfo| + gmd:metadataMaintenance| + gmd:series| + gmd:describes| + gmd:propertyType| + gmd:featureType| + gmd:featureAttribute"/> + + <!-- Handle ISO profiles extensions. --> + <xsl:apply-templates select=" + *[namespace-uri()!='http://www.isotc211.org/2005/gmd' and + namespace-uri()!='http://www.isotc211.org/2005/srv']"/> + </xsl:copy> + </xsl:template> + + + + <!-- ================================================================= --> + + <xsl:template match="gmd:dateStamp"> + <xsl:choose> + <xsl:when test="/root/env/changeDate"> + <xsl:copy> + <gco:DateTime> + <xsl:value-of select="/root/env/changeDate"/> + </gco:DateTime> + </xsl:copy> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ================================================================= --> + + <!-- swisstopo says they want to be able to put custom names in + See 154971 and 140141 + <xsl:template match="gmd:metadataStandardName" priority="10"> + <xsl:copy> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </xsl:copy> + </xsl:template> + + + <xsl:template match="gmd:metadataStandardVersion" priority="10"> + <xsl:copy> + <gco:CharacterString>1.0</gco:CharacterString> + </xsl:copy> + </xsl:template> + --> + + + <!-- ================================================================= --> + <!-- Add gmd:id attribute to all gml elements which required one. --> + <xsl:template match="gml:MultiSurface[not(@gml:id)]|gml:Polygon[not(@gml:id)]| + gml320:MultiSurface[not(@gml320:id)]|gml320:Polygon[not(@gml320:id)]"> + <xsl:copy copy-namespaces="no"> + <xsl:choose> + <xsl:when test="$isUsing2005Schema and not($isUsing2007Schema)"> + <xsl:namespace name="gml320" select="'http://www.opengis.net/gml'"/> + </xsl:when> + <xsl:otherwise> + <xsl:namespace name="gml" select="'http://www.opengis.net/gml/3.2'"/> + </xsl:otherwise> + </xsl:choose> + <xsl:attribute name="{if ($isUsing2005Schema and not($isUsing2007Schema)) + then 'gml320' else 'gml'}:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="@gml:id|@gml320:id"> + <xsl:choose> + <xsl:when test="normalize-space(.)=''"> + <xsl:attribute name="{if ($isUsing2005Schema and not($isUsing2007Schema)) + then 'gml320' else 'gml'}:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ==================================================================== --> + <!-- Fix srsName attribute generate CRS:84 (EPSG:4326 with long/lat + ordering) by default --> + + <xsl:template match="gml:LinearRing/@srsName|gml320:LinearRing/@srsName"/> + + <xsl:template match="@srsName"> + <xsl:choose> + <xsl:when test="normalize-space(.)=''"> + <xsl:attribute name="srsName"> + <xsl:text>CRS:84</xsl:text> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Add required gml attributes if missing --> + <xsl:template match="gml:Polygon[not(@gml:id) or not(@srsName)]| + gml:MultiSurface[not(@gml:id) or not(@srsName)]| + gml:LineString[not(@gml:id) or not(@srsName)]| + gml320:Polygon[not(@gml320:id) or not(@srsName)]| + gml320:MultiSurface[not(@gml:id) or not(@srsName)]| + gml320:LineString[not(@gml:id) or not(@srsName)]"> + <xsl:element name="gml:{local-name()}" + namespace="{if($isUsing2005Schema) + then 'http://www.opengis.net/gml' + else 'http://www.opengis.net/gml/3.2'}"> + + <xsl:attribute name="gml:id" + namespace="{if($isUsing2005Schema) + then 'http://www.opengis.net/gml' + else 'http://www.opengis.net/gml/3.2'}"> + <xsl:value-of select="if (@gml:id != '') + then @gml:id + else if (@gml320:id != '') + then @gml320:id + else generate-id(.)"/> + </xsl:attribute> + <xsl:attribute name="srsName"> + <xsl:value-of select="if (@srsName != '') then @srsName else 'urn:ogc:def:crs:EPSG:6.6:4326'"/> + </xsl:attribute> + <xsl:copy-of select="@*[name() != 'srsName' and local-name() != 'id']"/> + <xsl:apply-templates select="*"/> + </xsl:element> + </xsl:template> + + <xsl:template match="gml:*|gml320:*"> + <xsl:element name="gml:{local-name()}" + namespace="{if($isUsing2005Schema) + then 'http://www.opengis.net/gml' + else 'http://www.opengis.net/gml/3.2'}"> + <xsl:apply-templates select="@*|*"/> + </xsl:element> + </xsl:template> + + <!-- ================================================================= --> + + <!-- Replace by PT_FreeURL if only gmd:URL set in multilingual records. --> + <xsl:template match="gmd:linkage[$isMultilingual and + gmd:URL and + not(che:PT_FreeURL)]"> + <xsl:variable name="url" + select="gmd:URL"/> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:attribute name="xsi:type">che:PT_FreeURL_PropertyType</xsl:attribute> + + <che:PT_FreeURL> + <xsl:for-each select="$languages/@id"> + <che:URLGroup> + <che:LocalisedURL locale="#{.}"> + <xsl:value-of select="$url"/> + </che:LocalisedURL> + </che:URLGroup> + </xsl:for-each> + </che:PT_FreeURL> + </xsl:copy> + </xsl:template> + + <xsl:template match="gmd:linkage[che:PT_FreeURL]"> + <xsl:copy> + <xsl:apply-templates select="@*[not(name() = 'gco:nilReason') and not(name() = 'xsi:type')]"/> + <xsl:variable name="isInPTFreeText" select="count(che:PT_FreeURL/*/che:LocalisedURL[@locale = concat('#', $mainLanguageId)]) = 1"/> + <xsl:variable name="valueInPtFreeURLForMainLanguage" select="normalize-space((che:PT_FreeURL/*/che:LocalisedURL[@locale = concat('#', $mainLanguageId)])[1])"/> + + <xsl:choose> + <xsl:when test="not($isMultilingual) and + $valueInPtFreeURLForMainLanguage != '' and + normalize-space(gmd:URL) = ''"> + <gmd:URL> + <xsl:value-of select="$valueInPtFreeURLForMainLanguage"/> + </gmd:URL> + </xsl:when> + <xsl:when test="not($isMultilingual)"> + <xsl:apply-templates select="gmd:URL"/> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="xsi:type" select="'che:PT_FreeURL_PropertyType'"/> + <xsl:choose> + <xsl:when test="$isInPTFreeText"> + <gmd:URL> + <xsl:value-of select="$valueInPtFreeURLForMainLanguage"/> + </gmd:URL> + <xsl:if test="che:PT_FreeURL[normalize-space(.) != '']"> + <che:PT_FreeURL> + <xsl:call-template name="populate-free-text"/> + </che:PT_FreeURL> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="gmd:URL"/> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#{$mainLanguageId}"> + <xsl:value-of select="gmd:URL"/> + </che:LocalisedURL> + </che:URLGroup> + <xsl:call-template name="populate-free-text"/> + </che:PT_FreeURL> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:copy> + </xsl:template> + + <xsl:template match="*[gco:CharacterString|gmx:Anchor|gmd:PT_FreeText]"> + <xsl:copy> + <xsl:apply-templates select="@*[not(name() = 'gco:nilReason') and not(name() = 'xsi:type')]"/> + + <!-- Add nileason if text is empty --> + <xsl:variable name="excluded" + select="gn-fn-iso19139:isNotMultilingualField(., $editorConfig)"/> + + <xsl:variable name="isInPTFreeText" + select="count(gmd:PT_FreeText/*/gmd:LocalisedCharacterString[ + @locale = concat('#', $mainLanguageId)]) = 1"/> + + <xsl:variable name="valueInPtFreeTextForMainLanguage"> + <xsl:call-template name="trim"> + <xsl:with-param name="str" select="(gmd:PT_FreeText/*/gmd:LocalisedCharacterString[ + @locale = concat('#', $mainLanguageId)])[1]"/> + </xsl:call-template> + </xsl:variable> + + <!-- Add nileason if text is empty --> + <xsl:variable name="isEmpty" + select="if ($isMultilingual and not($excluded)) + then $valueInPtFreeTextForMainLanguage = '' + else if ($valueInPtFreeTextForMainLanguage != '') + then $valueInPtFreeTextForMainLanguage = '' + else normalize-space(gco:CharacterString|gmx:Anchor) = ''"/> + + <!-- TODO ? Removes @nilReason from parents of gmx:Anchor if anchor has @xlink:href attribute filled. --> + <xsl:variable name="isEmptyAnchor" + select="normalize-space(gmx:Anchor/@xlink:href) = ''" /> + + <xsl:choose> + <xsl:when test="$isEmpty"> + <xsl:attribute name="gco:nilReason"> + <xsl:choose> + <xsl:when test="@gco:nilReason"> + <xsl:value-of select="@gco:nilReason"/> + </xsl:when> + <xsl:otherwise>missing</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </xsl:when> + <xsl:when test="@gco:nilReason != 'missing' and not($isEmpty)"> + <xsl:copy-of select="@gco:nilReason"/> + </xsl:when> + </xsl:choose> + + <!-- For multilingual records, for multilingual fields, + create a gco:CharacterString or gmx:Anchor containing + the same value as the default language PT_FreeText. + --> + <xsl:variable name="element" select="name()"/> + + <xsl:choose> + <!-- Check record does not contains multilingual elements + matching the main language. This may happen if the main + language is declared in locales and only PT_FreeText are set. + It should not be possible in GeoNetwork, but record user can + import may use this encoding. --> + <xsl:when test="not($isMultilingual) and + $valueInPtFreeTextForMainLanguage != '' and + normalize-space(gco:CharacterString|gmx:Anchor) = ''"> + <xsl:element name="{if (gmx:Anchor) then 'gmx:Anchor' else 'gco:CharacterString'}"> + <xsl:copy-of select="gmx:Anchor/@*"/> + <xsl:value-of select="$valueInPtFreeTextForMainLanguage"/> + </xsl:element> + </xsl:when> + <xsl:when test="not($isMultilingual) or + $excluded"> + <!-- Copy gco:CharacterString only. PT_FreeText are removed if not multilingual. --> + <xsl:apply-templates select="gco:CharacterString|gmx:Anchor"/> + </xsl:when> + <xsl:otherwise> + <!-- Add xsi:type for multilingual element. --> + <xsl:attribute name="xsi:type" select="'gmd:PT_FreeText_PropertyType'"/> + + <!-- Is the default language value set in a PT_FreeText ? --> + + <xsl:choose> + <xsl:when test="$isInPTFreeText"> + <!-- Update gco:CharacterString to contains + the default language value from the PT_FreeText. + PT_FreeText takes priority. --> + <xsl:element name="{if (gmx:Anchor) then 'gmx:Anchor' else 'gco:CharacterString'}"> + <xsl:copy-of select="gmx:Anchor/@*"/> + <xsl:value-of select="$valueInPtFreeTextForMainLanguage"/> + </xsl:element> + + <xsl:if test="gmd:PT_FreeText[normalize-space(.) != '']"> + <gmd:PT_FreeText> + <xsl:call-template name="populate-free-text"/> + </gmd:PT_FreeText> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <!-- Populate PT_FreeText for default language if not existing. --> + <xsl:apply-templates select="gco:CharacterString|gmx:Anchor"/> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#{$mainLanguageId}"> + <xsl:value-of select="gco:CharacterString"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + <xsl:call-template name="populate-free-text"/> + </gmd:PT_FreeText> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:copy> + </xsl:template> + + <xsl:template name="populate-free-text"> + <xsl:variable name="freeText" + select="gmd:PT_FreeText/gmd:textGroup|che:PT_FreeURL/che:URLGroup"/> + + <!-- Loop on locales in order to preserve order. + Keep main language on top. + Translations having no locale are ignored. eg. when removing a lang. --> + + <xsl:variable name="element" select="$freeText[*/@locale = concat('#', $mainLanguageId)]"/> + + <xsl:apply-templates select="$element"/> + + <xsl:for-each select="$locales[@id != $mainLanguageId]"> + <xsl:variable name="localId" + select="@id"/> + <xsl:variable name="element" + select="$freeText[*/@locale = concat('#', $localId)]"/> + <xsl:apply-templates select="$element"/> + </xsl:for-each> + </xsl:template> + + <xsl:template match="che:basicGeodataIDType"> + <xsl:copy> + <xsl:copy-of select="@*[not(name()='gco:nilReason')]"/> + <xsl:if test="normalize-space(che:basicGeodataIDTypeCode/@codeListValue)=''"> + <xsl:attribute name="gco:nilReason"> + <xsl:value-of select="'missing'"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates select="che:basicGeodataIDTypeCode"/> + </xsl:copy> + </xsl:template> + <!-- ================================================================= --> + <!-- codelists: set @codeList path --> + <!-- ================================================================= --> + <xsl:template match="gmd:LanguageCode[@codeListValue]" priority="10"> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/"> + <xsl:apply-templates select="@*[name(.)!='codeList']"/> + </gmd:LanguageCode> + </xsl:template> + + + <xsl:template match="gmd:*[@codeListValue]"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:attribute name="codeList"> + <xsl:value-of + select="concat('http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#',local-name(.))"/> + </xsl:attribute> + </xsl:copy> + </xsl:template> + + <!-- can't find the location of the 19119 codelists - so we make one up --> + + <xsl:template match="srv:*[@codeListValue]"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:attribute name="codeList"> + <xsl:value-of + select="concat('http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#',local-name(.))"/> + </xsl:attribute> + </xsl:copy> + </xsl:template> + + <xsl:template match="gmx:FileName[contains(../../@id,'geonetwork.thesaurus.')]" priority="200"> + <xsl:copy> + <xsl:apply-templates select="node()|@*"/> + </xsl:copy> + </xsl:template> + + + <!-- ================================================================= --> + + <!-- Do not allow to expand operatesOn sub-elements + and constrain users to use uuidref attribute to link + service metadata to datasets. This will avoid to have + error on XSD validation. --> + + <xsl:template match="srv:operatesOn|gmd:featureCatalogueCitation"> + <xsl:copy> + <xsl:copy-of select="@uuidref"/> + <xsl:choose> + + <!-- Do not expand operatesOn sub-elements when using uuidref + to link service metadata to datasets or datasets to iso19110. + --> + <xsl:when test="@uuidref"> + <xsl:choose> + <xsl:when test="not(string(@xlink:href)) or starts-with(@xlink:href, $serviceUrl)"> + <xsl:attribute name="xlink:href"> + <xsl:value-of + select="concat($serviceUrl,'csw?service=CSW&amp;request=GetRecordById&amp;version=2.0.2&amp;outputSchema=http://www.isotc211.org/2005/gmd&amp;elementSetName=full&amp;id=',@uuidref)"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="@xlink:href"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:otherwise> + <xsl:apply-templates select="node()" /> + </xsl:otherwise> + </xsl:choose> + </xsl:copy> + </xsl:template> + + <!-- For XLinked subtemplates, the lang parameter MUST be in the same order as in the record. + Main language first, then other locales. If not, then the default CharacterString does not contain + the main language. It user change the language order in the record, the lang parameter needs to + be reordered too. + + Example of URL: + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="local://srv/api/registries/entries/af9e5d4e-2c1a-48c0-853f-3a771fcf9ee3? + process=gmd:role/gmd:CI_RoleCode/@codeListValue~distributor&amp; + lang=eng,ara,spa,rus,fre,ger,chi&amp; + schema=iso19139" + Can also be using lang=eng&amp;lang=ara. + --> + <xsl:template match="@xlink:href[starts-with(., 'local://srv/api/registries/entries') and contains(., '?')]"> + <xsl:variable name="urlBase" + select="substring-before(., '?')"/> + <xsl:variable name="urlParameters" + select="substring-after(., '?')"/> + + <!-- Collect all parameters excluding language --> + <xsl:variable name="listOfAllParameters"> + <xsl:for-each select="tokenize($urlParameters, '&amp;')"> + <xsl:variable name="parameterName" + select="tokenize(., '=')[1]"/> + + <xsl:if test="$parameterName != 'lang'"> + <param name="{$parameterName}" + value="{.}"/> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:attribute name="xlink:href" + select="concat( + $urlBase, + '?lang=', string-join(($mainLanguage, $locales//gmd:LanguageCode/@codeListValue[. != $mainLanguage]), ','), + '&amp;', + string-join($listOfAllParameters/param/@value, '&amp;'))"/> + </xsl:template> + + <!-- ================================================================= --> + <!-- Set local identifier to the first 2 letters of iso code. Locale ids + are used for multilingual charcterString using #iso2code for referencing. + --> + <xsl:template match="gmd:PT_Locale"> + <xsl:element name="gmd:{local-name()}"> + <xsl:variable name="id" + select="upper-case(java:twoCharLangCode(gmd:languageCode/gmd:LanguageCode/@codeListValue))"/> + + <xsl:apply-templates select="@*"/> + <xsl:if test="normalize-space(@id)='' or normalize-space(@id)!=$id"> + <xsl:attribute name="id"> + <xsl:value-of select="$id"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates select="node()"/> + </xsl:element> + </xsl:template> + + <!-- Apply same changes as above to the gmd:LocalisedCharacterString --> + <xsl:variable name="language" select="//gmd:PT_Locale"/> <!-- Need list of all locale --> + <xsl:template match="gmd:LocalisedCharacterString"> + <xsl:element name="gmd:{local-name()}"> + <xsl:variable name="currentLocale" + select="upper-case(replace(normalize-space(@locale), '^#', ''))"/> + <xsl:variable name="ptLocale" + select="$language[upper-case(replace(normalize-space(@id), '^#', ''))=string($currentLocale)]"/> + <xsl:variable name="id" + select="upper-case(java:twoCharLangCode(($ptLocale/gmd:languageCode/gmd:LanguageCode/@codeListValue)[1]))"/> + <xsl:apply-templates select="@*"/> + <xsl:if test="$id != '' and ($currentLocale='' or @locale!=concat('#', $id)) "> + <xsl:attribute name="locale"> + <xsl:value-of select="concat('#',$id)"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates select="node()"/> + </xsl:element> + </xsl:template> + + + <xsl:template match="che:LocalisedURL|gmd:LocalisedURL"> + <xsl:element name="che:{local-name()}"> + <xsl:variable name="currentLocale"> + <xsl:variable name="baseLoc" select="upper-case(replace(normalize-space(@locale), '^#', ''))"/> + <xsl:choose> + <xsl:when test="$baseLoc = 'GE'">DE</xsl:when> + <xsl:otherwise> + <xsl:value-of select="$baseLoc"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="ptLocale" + select="$language[upper-case(replace(normalize-space(@id), '^#', ''))=string($currentLocale)]"/> + <xsl:variable name="id" + select="upper-case(java:twoCharLangCode($ptLocale/gmd:languageCode/gmd:LanguageCode/@codeListValue, ''))"/> + <xsl:apply-templates select="@*"/> + <xsl:if test="$id != '' and ($currentLocale='' or @locale!=concat('#', $id)) "> + <xsl:attribute name="locale"> + <xsl:value-of select="concat('#',$id)"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates select="node()"/> + </xsl:element> + </xsl:template> + + <!-- Remove URLGroups with empty LocalizedURLs or without it --> + <xsl:template match="che:URLGroup[che:LocalisedURL[not(text())]]"/> + <xsl:template match="che:URLGroup[not(che:LocalisedURL)]"/> + + <!-- Remove textGroup with empty LocalisedCharacterString or without it --> + <xsl:template match="gmd:textGroup[gmd:LocalisedCharacterString[not(text())]]"/> + <xsl:template match="gmd:textGroup[not(gmd:LocalisedCharacterString)]"/> + + + <!-- For multilingual elements. Check that the local +is defined in record. If not, remove the element. --> + <xsl:template match="gmd:textGroup"> + <xsl:variable name="elementLocalId" + select="replace(gmd:LocalisedCharacterString/@locale, '^#', '')"/> + <xsl:choose> + <xsl:when test="count($locales[@id = $elementLocalId]) > 0 and not($elementLocalId = $mainLanguageId) "> + <gmd:textGroup> + <gmd:LocalisedCharacterString> + <xsl:variable name="currentLocale" + select="replace(gmd:LocalisedCharacterString/@locale, '^#', '')"/> + <xsl:variable name="ptLocale" + select="$locales[@id = string($currentLocale)]"/> + <xsl:variable name="id" + select="upper-case(java:twoCharLangCode($ptLocale/gmd:languageCode/gmd:LanguageCode/@codeListValue[. != '']))"/> + <xsl:apply-templates select="@*"/> + <xsl:if test="$id != ''"> + <xsl:attribute name="locale"> + <xsl:value-of select="concat('#',$id)"/> + </xsl:attribute> + </xsl:if> + + <xsl:apply-templates select="gmd:LocalisedCharacterString/text()"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:when> + <xsl:when test="$elementLocalId = $mainLanguageId"> + <gmd:textGroup> + <gmd:LocalisedCharacterString> + <xsl:attribute name="locale"> + <xsl:value-of select="concat('#',$mainLanguageId)"/> + </xsl:attribute> + <xsl:apply-templates select="gmd:LocalisedCharacterString/text()"/> + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </xsl:when> + + </xsl:choose> + </xsl:template> + + <!-- Remove attribute indeterminatePosition having empty + value which is not a valid facet for it. --> + <xsl:template match="@indeterminatePosition[. = '']" priority="2"/> + + <!-- ================================================================= --> + <!-- Adjust the namespace declaration - In some cases name() is used to get the + element. The assumption is that the name is in the format of <ns:element> + however in some cases it is in the format of <element xmlns=""> so the + following will convert them back to the expected value. This also corrects the issue + where the <element xmlns=""> loose the xmlns="" due to the exclude-result-prefixes="#all" --> + <!-- Note: Only included prefix gml, gmd and gco for now. --> + <!-- TODO: Figure out how to get the namespace prefix via a function so that we don't need to hard code them --> + <!-- ================================================================= --> + + <xsl:template name="correct_ns_prefix"> + <xsl:param name="element"/> + <xsl:param name="prefix"/> + <xsl:choose> + <xsl:when test="local-name($element)=name($element) and $prefix != '' "> + <xsl:element name="{$prefix}:{local-name($element)}"> + <xsl:apply-templates select="@*|node()"/> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="correct_ns_prefix_with_namespace"> + <xsl:param name="element"/> + <xsl:param name="prefix"/> + <xsl:param name="namespace"/> + + <xsl:choose> + <xsl:when test="local-name($element)=name($element) and $prefix != '' "> + <xsl:element name="{$prefix}:{local-name($element)}" namespace="{$namespace}"> + <xsl:apply-templates select="@*|node()"/> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="gmd:*"> + <xsl:call-template name="correct_ns_prefix"> + <xsl:with-param name="element" select="."/> + <xsl:with-param name="prefix" select="'gmd'"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="gco:*"> + <xsl:call-template name="correct_ns_prefix"> + <xsl:with-param name="element" select="."/> + <xsl:with-param name="prefix" select="'gco'"/> + </xsl:call-template> + </xsl:template> + + <!-- Move to GML 3.2.1 when using 2007 version. --> + <xsl:template match="gml320:*[$isUsing2007Schema]"> + <xsl:element name="gml:{local-name()}" namespace="http://www.opengis.net/gml/3.2"> + <xsl:apply-templates select="@*|node()"/> + </xsl:element> + </xsl:template> + <xsl:template match="@gml320:*[$isUsing2007Schema]"> + <xsl:attribute name="gml:{local-name()}" namespace="http://www.opengis.net/gml/3.2" select="."/> + </xsl:template> + + <xsl:template match="gml:*|gml320:*"> + <xsl:call-template name="correct_ns_prefix_with_namespace"> + <xsl:with-param name="element" select="."/> + <xsl:with-param name="prefix" + select="'gml'"/> + <xsl:with-param name="namespace" + select="if($isUsing2005Schema) then 'http://www.opengis.net/gml' else 'http://www.opengis.net/gml/3.2'"/> + </xsl:call-template> + </xsl:template> + + <!-- ================================================================= --> + <xsl:template match="che:*[@codeListValue]"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:attribute name="codeList"> + <xsl:value-of select="concat('#',local-name(.))"/> + </xsl:attribute> + </xsl:copy> + </xsl:template> + + <xsl:template priority="30" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='environment' and + not(following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'environment_')])] "/> + <xsl:template priority="30" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='geoscientificInformation' and + not(following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'geoscientificInformation_')])] "/> + <xsl:template priority="30" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='planningCadastre' and + not(following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'planningCadastre_')])] "/> + <xsl:template priority="30" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='imageryBaseMapsEarthCover' and + not(following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'imageryBaseMapsEarthCover_')])] "/> + <xsl:template priority="30" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='utilitiesCommunication' and + not(following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'utilitiesCommunication_')])] "/> + + <xsl:template priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='environment' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'environment')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'environment')])] "/> + <xsl:template priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='geoscientificInformation' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'geoscientificInformation')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'geoscientificInformation')])] "/> + <xsl:template priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='planningCadastre' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'planningCadastre')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'planningCadastre')])] "/> + <xsl:template priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='imageryBaseMapsEarthCover' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'imageryBaseMapsEarthCover')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'imageryBaseMapsEarthCover')])] "/> + <xsl:template priority="20" match=" + gmd:topicCategory[normalize-space(gmd:MD_TopicCategoryCode)='utilitiesCommunication' and + (preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'utilitiesCommunication')] or + following-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'utilitiesCommunication')])] "/> + + <xsl:template priority="10" match=" + gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'imageryBaseMapsEarthCover_') and + not( preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'imageryBaseMapsEarthCover_')])]"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>imageryBaseMapsEarthCover</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template priority="10" match=" + gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'planningCadastre_') and + not( preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'planningCadastre_')])]"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>planningCadastre</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template priority="10" match=" + gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'geoscientificInformation_') and + not( preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'geoscientificInformation_')])]"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>geoscientificInformation</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template priority="10" match=" + gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'environment_') and + not( preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'environment_')])]"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>environment</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template priority="10" match=" + gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'utilitiesCommunication_') and + not( preceding-sibling::gmd:topicCategory[starts-with(normalize-space(gmd:MD_TopicCategoryCode), 'utilitiesCommunication_')])]"> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>utilitiesCommunication</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + + <!-- Remove empty boolean and set gco:nilReason='unknown' --> + <xsl:template match="*[gco:Boolean and not(string(gco:Boolean))]"> + <xsl:copy> + <xsl:copy-of select="@*[name() != 'gco:nilReason']" /> + <xsl:attribute name="gco:nilReason">unknown</xsl:attribute> + </xsl:copy> + </xsl:template> + + <!-- Remove gco:nilReason if not empty boolean --> + <xsl:template match="*[string(gco:Boolean)]"> + <xsl:copy> + <xsl:copy-of select="@*[name() != 'gco:nilReason']" /> + <xsl:apply-templates select="*" /> + </xsl:copy> + </xsl:template> + + <!-- copy everything else as is --> + + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="@xsi:schemaLocation"> + <xsl:if test="java:getSettingValue('system/metadata/validation/removeSchemaLocation') = 'false'"> + <xsl:copy-of select="."/> + </xsl:if> + </xsl:template> + + <xsl:template match="gml:LinearRing/@srsName"/> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/update-sub-template-fixed-info.xsl b/iso19139.che/src/main/plugin/iso19139.che/update-sub-template-fixed-info.xsl new file mode 100644 index 00000000000..30f5f2128d5 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/update-sub-template-fixed-info.xsl @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + version="2.0" + exclude-result-prefixes="#all"> + + + <!-- ================================================================= --> + <xsl:variable name="countryNameMapping"> + <cnt name="schweiz">CH</cnt> + <cnt name="suisse">CH</cnt> + <cnt name="switzerland">CH</cnt> + <cnt name="svizzera">CH</cnt> + + <cnt name="deutschland">DE</cnt> + <cnt name="germany">DE</cnt> + <cnt name="allemagne">DE</cnt> + <cnt name="germania">DE</cnt> + + <cnt name="france">FR</cnt> + <cnt name="frankreich">FR</cnt> + <cnt name="francia">FR</cnt> + + <cnt name="austria">AT</cnt> + <cnt name="osterreich">AT</cnt> + <cnt name="österreich">AT</cnt> + <cnt name="autriche">AT</cnt> + + <cnt name="italie">IT</cnt> + <cnt name="italy">IT</cnt> + <cnt name="italien">IT</cnt> + <cnt name="italia">IT</cnt> + + <cnt name="liechtenstein">LI</cnt> + </xsl:variable> + + <xsl:template match="/root" priority="5"> + <xsl:apply-templates select="/root/*[local-name() != 'env']"/> + </xsl:template> + + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="gmd:country/gco:CharacterString" priority="100"> + <xsl:variable name="country" select="lower-case(text())"/> + <xsl:choose> + <xsl:when test="$countryNameMapping/cnt[@name = $country]"> + <gco:CharacterString> + <xsl:value-of select="$countryNameMapping/cnt[@name = $country]/text()"/> + </gco:CharacterString> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> +</xsl:stylesheet> diff --git a/iso19139.che/src/main/plugin/iso19139.che/update-template-fixed-info.xsl b/iso19139.che/src/main/plugin/iso19139.che/update-template-fixed-info.xsl new file mode 100644 index 00000000000..7a8581211e3 --- /dev/null +++ b/iso19139.che/src/main/plugin/iso19139.che/update-template-fixed-info.xsl @@ -0,0 +1,221 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:java="java:org.fao.geonet.util.XslUtil" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che" + version="2.0" + exclude-result-prefixes="#all"> + + <!-- ================================================================= --> + + <xsl:template match="/root"> + <xsl:apply-templates select="che:CHE_MD_Metadata"/> + </xsl:template> + + <!-- ================================================================= --> + + <xsl:template match="che:CHE_MD_Metadata"> + <che:CHE_MD_Metadata xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gml320="http://www.opengis.net/gml" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:che="http://www.geocat.ch/2008/che"> + <xsl:apply-templates select="@*"/> + <xsl:if test="not(gmd:fileIdentifier)"> + <gmd:fileIdentifier> + <gco:CharacterString> + <xsl:value-of select="/root/env/uuid"/> + </gco:CharacterString> + </gmd:fileIdentifier> + </xsl:if> + <xsl:apply-templates select="node()"/> + </che:CHE_MD_Metadata> + </xsl:template> + + <!-- ================================================================= --> + + <xsl:template match="gmd:fileIdentifier" priority="10"> + <xsl:copy> + <gco:CharacterString> + <xsl:value-of select="/root/env/uuid"/> + </gco:CharacterString> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + <!-- Set local identifier to the first 2 letters of iso code. Locale ids + are used for multilingual charcterString --> + <xsl:template match="gmd:PT_Locale"> + <xsl:variable name="id" + select="upper-case(java:twoCharLangCode(gmd:languageCode/gmd:LanguageCode/@codeListValue))"/> + <xsl:variable name="charset"> + <xsl:choose> + <xsl:when test="normalize-space(gmd:characterEncoding/gmd:MD_CharacterSetCode/@codeListValue) != ''"> + <xsl:copy-of select="gmd:characterEncoding"/> + </xsl:when> + <xsl:otherwise> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" + codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode"> + UTF8 + </gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="langCode"> + <xsl:choose> + <xsl:when test="normalize-space(gmd:languageCode/gmd:LanguageCode/@codeList) != ''"> + <xsl:copy-of select="gmd:languageCode"/> + </xsl:when> + <xsl:otherwise> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#LanguageCode" + codeListValue="{gmd:languageCode/gmd:LanguageCode/@codeListValue}"> + <xsl:value-of select="gmd:languageCode/gmd:LanguageCode"/> + </gmd:LanguageCode> + </gmd:languageCode> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <gmd:PT_Locale> + <xsl:attribute name="id"> + <xsl:value-of select="$id"/> + </xsl:attribute> + <xsl:copy-of select="$langCode"/> + <xsl:copy-of select="$charset"/> + </gmd:PT_Locale> + </xsl:template> + + <!-- ================================================================= --> + <!-- Do not allow to expand operatesOn sub-elements + and constrain users to use uuidref attribute to link + service metadata to datasets. This will avoid to have + error on XSD validation. --> + <xsl:template match="srv:operatesOn"> + <xsl:copy> + <xsl:copy-of select="@*"/> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + <!-- Add gmd:id attribute to all gml elements which required one. --> + <xsl:template match="gml:MultiSurface[not(@gml:id)]|gml:Polygon[not(@gml:id)]"> + <xsl:copy> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="@gml:id"> + <xsl:choose> + <xsl:when test="normalize-space(.)=''"> + <xsl:attribute name="gml:id"> + <xsl:value-of select="generate-id(.)"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ================================================================= --> + <!-- Fix srsName attribute and generate epsg:4326 entry by default --> + + <xsl:template match="@srsName"> + <xsl:choose> + <xsl:when test="normalize-space(.)=''"> + <xsl:attribute name="srsName"> + <xsl:text>urn:x-ogc:def:crs:EPSG:6.6:4326</xsl:text> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- ================================================================= --> + + <xsl:template match="*[gco:CharacterString]"> + <xsl:copy> + <xsl:copy-of select="@*[not(name()='gco:nilReason')]"/> + <xsl:if test="normalize-space(gco:CharacterString)=''"> + <xsl:attribute name="gco:nilReason"> + <xsl:value-of select="'missing'"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates select="gco:CharacterString"/> + <xsl:copy-of select="gmd:PT_FreeText"/> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + <!-- codelists: set @codeList path --> + <!-- ================================================================= --> + + <xsl:template match="gmd:*[@codeListValue]"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:attribute name="codeList"> + <xsl:value-of select="concat('http://www.isotc211.org/2005/resources/codeList.xml#',local-name(.))"/> + </xsl:attribute> + </xsl:copy> + </xsl:template> + + <!-- can't find the location of the 19119 codelists - so we make one up --> + + <xsl:template match="srv:*[@codeListValue]"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:attribute name="codeList"> + <xsl:value-of + select="concat('http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#',local-name(.))"/> + </xsl:attribute> + </xsl:copy> + </xsl:template> + + <xsl:template match="che:*[@codeListValue]"> + <xsl:copy> + <xsl:apply-templates select="@*"/> + <xsl:attribute name="codeList"> + <xsl:value-of select="concat('#',local-name(.))"/> + </xsl:attribute> + </xsl:copy> + </xsl:template> + + + <!-- ================================================================= --> + <!-- online resources: download --> + <!-- ================================================================= --> + + <xsl:template + match="gmd:linkage[starts-with(following-sibling::gmd:protocol/gco:CharacterString,'WWW:DOWNLOAD-') and contains(following-sibling::gmd:protocol/gco:CharacterString,'http--download') and following-sibling::gmd:name]"> + <gmd:linkage> + <gmd:URL> + <xsl:value-of + select="concat(/root/env/siteURL,'/resources.get?id=',/root/env/id,'&amp;fname=',following-sibling::gmd:name/gco:CharacterString,'&amp;access=private')"/> + </gmd:URL> + </gmd:linkage> + </xsl:template> + + <!-- ================================================================= --> + + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- ================================================================= --> + +</xsl:stylesheet> diff --git a/iso19139.che/src/main/resources/config-spring-geonetwork.xml b/iso19139.che/src/main/resources/config-spring-geonetwork.xml new file mode 100644 index 00000000000..f1bd30a7b37 --- /dev/null +++ b/iso19139.che/src/main/resources/config-spring-geonetwork.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://www.springframework.org/schema/beans" + xmlns:util="http://www.springframework.org/schema/util" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> + + <context:component-scan base-package="org.fao.geonet.api.gm03"/> + + <bean id="iso19139.cheSchemaPlugin" + class="org.fao.geonet.schema.iso19139che.ISO19139cheSchemaPlugin"> + <property name="xpathTitle"> + <util:list value-type="java.lang.String"> + <value>gmd:identificationInfo/*/gmd:citation/*/gmd:title/gco:CharacterString</value> + <value>gmd:identificationInfo/*/gmd:citation/*/gmd:title/*/gmd:textGroup/gmd:LocalisedCharacterString</value> + </util:list> + </property> + <property name="elementsToProcess"> + <util:list value-type="java.lang.String"> + <value>gco:CharacterString</value> + <value>gmx:Anchor</value> + <value>gmd:featureTypes</value> + </util:list> + </property> + </bean> +</beans> diff --git a/iso19139.che/src/test/java/org/fao/geonet/schemas/IndexTest.java b/iso19139.che/src/test/java/org/fao/geonet/schemas/IndexTest.java new file mode 100644 index 00000000000..eca3149a19b --- /dev/null +++ b/iso19139.che/src/test/java/org/fao/geonet/schemas/IndexTest.java @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2001-2016 Food and Agriculture Organization of the + * United Nations (FAO-UN), United Nations World Food Programme (WFP) + * and United Nations Environment Programme (UNEP) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + * Rome - Italy. email: geonetwork@osgeo.org + */ + +package org.fao.geonet.schemas; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import net.sf.saxon.FeatureKeys; +import org.fao.geonet.schema.iso19139.ISO19139Namespaces; +import org.fao.geonet.schema.iso19139che.ISO19139cheNamespaces; +import org.fao.geonet.util.XslUtil; +import org.fao.geonet.utils.IO; +import org.fao.geonet.utils.TransformerFactoryFactory; +import org.fao.geonet.utils.nio.NioPathHolder; +import org.fao.geonet.utils.nio.PathStreamSource; +import org.jdom.Element; +import org.jdom.Namespace; +import org.jdom.Text; +import org.jdom.transform.JDOMResult; +import org.jdom.xpath.XPath; +import org.json.JSONObject; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +import javax.xml.transform.ErrorListener; +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.URIResolver; +import javax.xml.transform.stream.StreamSource; +import java.io.InputStream; +import java.net.URISyntaxException; +import java.nio.file.Path; +import java.nio.file.Paths; + +import static org.junit.Assert.assertTrue; +import static org.mockito.Matchers.eq; + +@RunWith(PowerMockRunner.class) +@PrepareForTest(XslUtil.class) +public class IndexTest { + + static private Path PATH_TO_XSL; + + static private ImmutableList<Namespace> ALL_NAMESPACES = ImmutableSet .<Namespace>builder() + .add(ISO19139Namespaces.GCO) + .add(ISO19139Namespaces.GMD) + .add(ISO19139Namespaces.SRV) + .add(ISO19139Namespaces.XSI) + .add(ISO19139cheNamespaces.CHE) + .build().asList(); + + public IndexTest() { + PowerMockito.mockStatic(XslUtil.class); + PowerMockito.when(XslUtil.getSettingValue(eq("system/metadata/validation/removeSchemaLocation"))).thenReturn("false"); + PowerMockito.when(XslUtil.twoCharLangCode(eq("ger"))).thenReturn("DE"); + PowerMockito.when(XslUtil.twoCharLangCode(eq("ita"))).thenReturn("IT"); + PowerMockito.when(XslUtil.twoCharLangCode(eq("fre"))).thenReturn("FR"); + } + + @BeforeClass + public static void setup() throws URISyntaxException { + TransformerFactoryFactory.init("net.sf.saxon.TransformerFactoryImpl"); + PATH_TO_XSL = Paths.get(IndexTest.class.getClassLoader().getResource("iso19139.che/index-fields/index.xsl").toURI()); + } + + @Test + public void index() throws Exception { + NioPathHolder.setBase(PATH_TO_XSL); + TransformerFactory transFact = TransformerFactoryFactory.getTransformerFactory(); + InputStream in = IO.newInputStream(PATH_TO_XSL); + Source srcSheet = new StreamSource(in, PATH_TO_XSL.toFile().toURI().toASCIIString()); + transFact.setURIResolver(new URIResolver() { + @Override + public Source resolve(String path, String base) throws TransformerException { + return new PathStreamSource(Paths.get(IndexTest.class.getClassLoader().getResource(".").getPath()).resolve(path.replace("../", "" ))); + } + }); + + boolean debug = false; + if (debug) { + Class<?> factoryClass = transFact.getClass(); + ClassLoader loader = factoryClass.getClassLoader(); + Class<?> messageWarner = loader.loadClass("net.sf.saxon.event.MessageWarner"); + transFact.setAttribute(FeatureKeys.MESSAGE_EMITTER_CLASS, messageWarner.getName()); + } + + Transformer t = transFact.newTransformer(srcSheet); + JDOMResult resXml = new JDOMResult(); + t.transform(new StreamSource(IndexTest.class.getClassLoader().getResourceAsStream("call_112.xml")), resXml); + + XPath xpath = XPath.newInstance("/doc/pointOfContactOrgForResourceObject"); + Element orgForResourceObject = (Element) xpath.selectNodes(resXml.getDocument()).get(0); + orgForResourceObject.getContent().get(0); + String test = ((Text) (orgForResourceObject.getContent().get(0))).getText().replaceAll("\n[ ]*\\{", "{"); + assertTrue(test.contains("\"langger\":\"Bundesamt für Kommunikation\"")); + assertTrue(test.contains("\"default\":\"Bundesamt für Kommunikation\"")); + assertTrue(test.contains("\"langfre\":\"Office fédéral de la communication\"")); + JSONObject valid = new JSONObject(test); + } +} diff --git a/iso19139.che/src/test/java/org/fao/geonet/schemas/InspireMigrationProcessTest.java b/iso19139.che/src/test/java/org/fao/geonet/schemas/InspireMigrationProcessTest.java new file mode 100644 index 00000000000..cc3447d055b --- /dev/null +++ b/iso19139.che/src/test/java/org/fao/geonet/schemas/InspireMigrationProcessTest.java @@ -0,0 +1,294 @@ +/* + * Copyright (C) 2001-2016 Food and Agriculture Organization of the + * United Nations (FAO-UN), United Nations World Food Programme (WFP) + * and United Nations Environment Programme (UNEP) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + * Rome - Italy. email: geonetwork@osgeo.org + */ + +package org.fao.geonet.schemas; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import org.fao.geonet.schema.iso19139.ISO19139Namespaces; +import org.fao.geonet.schema.iso19139che.ISO19139cheNamespaces; +import org.fao.geonet.schema.iso19139che.ISO19139cheSchemaPlugin; +import org.fao.geonet.util.XslUtil; +import org.fao.geonet.utils.TransformerFactoryFactory; +import org.fao.geonet.utils.Xml; +import org.jdom.Element; +import org.jdom.Namespace; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.xmlunit.builder.DiffBuilder; +import org.xmlunit.builder.Input; +import org.xmlunit.diff.DefaultNodeMatcher; +import org.xmlunit.diff.Diff; +import org.xmlunit.diff.ElementSelectors; + +import java.net.URISyntaxException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Map; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThat; +import static org.xmlunit.matchers.EvaluateXPathMatcher.hasXPath; + +@RunWith(PowerMockRunner.class) +@PrepareForTest(XslUtil.class) +public class InspireMigrationProcessTest { + + static private Path PATH_TO_XSL; + + static private ImmutableSet<Namespace> ALL_NAMESPACES = ImmutableSet.<Namespace>builder() + .add(ISO19139Namespaces.GCO) + .add(ISO19139Namespaces.GMD) + .add(ISO19139Namespaces.SRV) + .add(ISO19139Namespaces.GMX) + .add(ISO19139Namespaces.XSI) + .add(ISO19139Namespaces.XLINK) + .add(ISO19139cheNamespaces.CHE) + .build(); + static private ImmutableMap<String, String> ALL_NS = ImmutableMap.<String, String>builder() + .put(ISO19139Namespaces.XLINK.getPrefix(), ISO19139Namespaces.XLINK.getURI()) + .put(ISO19139Namespaces.GCO.getPrefix(), ISO19139Namespaces.GCO.getURI()) + .put(ISO19139Namespaces.GMD.getPrefix(), ISO19139Namespaces.GMD.getURI()) + .put(ISO19139Namespaces.GMX.getPrefix(), ISO19139Namespaces.GMX.getURI()) + .put(ISO19139Namespaces.SRV.getPrefix(), ISO19139Namespaces.SRV.getURI()) + .put(ISO19139cheNamespaces.CHE.getPrefix(), ISO19139cheNamespaces.CHE.getURI()) + .build(); + public InspireMigrationProcessTest() { + } + + @BeforeClass + public static void setup() throws URISyntaxException { + TransformerFactoryFactory.init("net.sf.saxon.TransformerFactoryImpl"); + PATH_TO_XSL = Paths.get(InspireMigrationProcessTest.class.getClassLoader().getResource("iso19139.che/process/geocat-inspire-conformity.xsl").toURI()); + + } + + @Test + public void testDataset() throws Exception { + Element input = Xml.loadFile(Paths.get(InspireMigrationProcessTest.class.getClassLoader().getResource("inspiredataset.xml").toURI())); + String inputString = Xml.getString(input); + + + // Metadata / Distributor instead of pointOfContact + Element output = Xml.transform(input, PATH_TO_XSL); + String outputString = Xml.getString(output); + assertThat( + inputString, hasXPath( + "count(//gmd:contact)", + equalTo("2")).withNamespaceContext(ALL_NS) + ); + assertThat( + inputString, hasXPath( + "count(//gmd:contact[contains(@xlink:href, '~distributor')])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + assertThat( + inputString, hasXPath( + "count(//gmd:contact[contains(@xlink:href, '~principalInvestigator')])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + + assertThat( + outputString, hasXPath( + "count(//gmd:contact[contains(@xlink:href, '~pointOfContact')])", + equalTo("2")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(//gmd:contact[contains(@xlink:href, '~distributor') or contains(@xlink:href, '~principalInvestigator')])", + equalTo("0")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "//gmd:contact[1]/@xlink:href", + equalTo("local://srv/api/registries/entries/d8d920c8-cc8c-47b7-ba1b-2b039ad0f4b3?process=*//gmd:CI_RoleCode/@codeListValue~pointOfContact&lang=fre,ger,ita,eng,roh")).withNamespaceContext(ALL_NS) + ); + + + + // Resource / Responsible organization missing + assertThat( + inputString, hasXPath( + "count(/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:pointOfContact)", + equalTo("0")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:pointOfContact)", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:pointOfContact/@xlink:href", + equalTo("local://srv/api/registries/entries/d8d920c8-cc8c-47b7-ba1b-2b039ad0f4b3?process=*//gmd:CI_RoleCode/@codeListValue~pointOfContact&lang=fre,ger,ita,eng,roh")).withNamespaceContext(ALL_NS) + ); + + + // Resource / Identification / Temporal reference / LastRevision + assertThat( + inputString, hasXPath( + "count(/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:dateType/*/@codeListValue[. = 'lastRevision'])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(/che:CHE_MD_Metadata/gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:dateType/*/@codeListValue[. = 'revision'])", + equalTo("2")).withNamespaceContext(ALL_NS) + ); + + + // Resource / Quality / Lineage + assertThat( + inputString, hasXPath( + "count(/che:CHE_MD_Metadata/gmd:dataQualityInfo)", + equalTo("0")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(/che:CHE_MD_Metadata/gmd:dataQualityInfo)", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + + // Resource / Conformity missing + assertThat( + inputString, hasXPath( + "count(/che:CHE_MD_Metadata/gmd:dataQualityInfo/*/gmd:report/*/gmd:result/*/gmd:specification/*/gmd:title[gmx:Anchor/@xlink:href = 'http://data.europa.eu/eli/reg/2010/1089'])", + equalTo("0")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(/che:CHE_MD_Metadata/gmd:dataQualityInfo/*/gmd:report/*/gmd:result/*/gmd:specification/*/gmd:title[gmx:Anchor/@xlink:href = 'http://data.europa.eu/eli/reg/2010/1089'])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + + // Resource / Access constraint / Limitation on public access AND condition to access and use + assertThat( + inputString, hasXPath( + "count(//gmd:resourceConstraints[count(*) = 0])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(//gmd:resourceConstraints[count(*) = 0])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(//gmd:resourceConstraints[.//*/@codeListValue='restricted'])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + + + } + + + @Test + public void testDatasetWithNoResourceIdentifierNoCRS() throws Exception { + Element input = Xml.loadFile(Paths.get(InspireMigrationProcessTest.class.getClassLoader().getResource("inspiredataset-noresourceidentifier.xml").toURI())); + String inputString = Xml.getString(input); + + + // Dataset / No resource identifier + Element output = Xml.transform(input, PATH_TO_XSL); + String outputString = Xml.getString(output); + assertThat( + inputString, hasXPath( + "count(//gmd:identificationInfo/*/gmd:citation/*/gmd:identifier)", + equalTo("0")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "//gmd:identificationInfo/*/gmd:citation/*/gmd:identifier/*/gmd:code/*/text()", + equalTo("basicGeodataID:166.1")).withNamespaceContext(ALL_NS) + ); + + + // Dataset / No CRS + assertThat( + inputString, hasXPath( + "count(//gmd:referenceSystemInfo)", + equalTo("0")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(//gmd:referenceSystemInfo)", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + + + + // Resource / Access constraint / Limitation on public access AND condition to access and use + assertThat( + outputString, hasXPath( + "count(//gmd:resourceConstraints)", + equalTo("2")).withNamespaceContext(ALL_NS) + ); + + + // Dataset / No INSPIRE theme + assertThat( + outputString, hasXPath( + "//gmd:descriptiveKeywords[contains(@xlink:href, 'httpinspireeceuropaeutheme')]/@xlink:href", + equalTo("local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&thesaurus=external.theme.httpinspireeceuropaeutheme-theme&id=http%3A%2F%2Finspire.ec.europa.eu%2Ftheme%2Fge,http%3A%2F%2Finspire.ec.europa.eu%2Ftheme%2Fso,http%3A%2F%2Finspire.ec.europa.eu%2Ftheme%2Fnz&lang=fre")).withNamespaceContext(ALL_NS) + ); + } + + + @Test + public void testService() throws Exception { + Element input = Xml.loadFile(Paths.get(InspireMigrationProcessTest.class.getClassLoader().getResource("inspireservice.xml").toURI())); + String inputString = Xml.getString(input); + + + // Service / Spatial data service type + Element output = Xml.transform(input, PATH_TO_XSL); + String outputString = Xml.getString(output); + assertThat( + inputString, hasXPath( + "count(//srv:serviceType[* = 'OGC:WFS'])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(//srv:serviceType[* = 'OGC:WFS'])", + equalTo("0")).withNamespaceContext(ALL_NS) + ); + assertThat( + outputString, hasXPath( + "count(//srv:serviceType[* = 'download'])", + equalTo("1")).withNamespaceContext(ALL_NS) + ); + + // Service / Spatial data service category + assertThat( + outputString, hasXPath( + "//gmd:descriptiveKeywords[contains(@xlink:href, 'httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory')]/@xlink:href", + equalTo("local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&thesaurus=external.theme.httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory-SpatialDataServiceCategory&id=http%3A%2F%2Finspire.ec.europa.eu%2Fmetadata-codelist%2FSpatialDataServiceCategory%2FinfoProductAccessService&lang=ger,fre,eng,ita&transformation=to-iso19139-keyword-with-anchor")).withNamespaceContext(ALL_NS) + ); + } +} diff --git a/iso19139.che/src/test/java/org/fao/geonet/schemas/UpdateFixedInfoTest.java b/iso19139.che/src/test/java/org/fao/geonet/schemas/UpdateFixedInfoTest.java new file mode 100644 index 00000000000..06ee2d136cd --- /dev/null +++ b/iso19139.che/src/test/java/org/fao/geonet/schemas/UpdateFixedInfoTest.java @@ -0,0 +1,302 @@ +/* + * Copyright (C) 2001-2016 Food and Agriculture Organization of the + * United Nations (FAO-UN), United Nations World Food Programme (WFP) + * and United Nations Environment Programme (UNEP) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + * Rome - Italy. email: geonetwork@osgeo.org + */ + +package org.fao.geonet.schemas; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import org.fao.geonet.schema.iso19139.ISO19139Namespaces; +import org.fao.geonet.schema.iso19139che.ISO19139cheNamespaces; +import org.fao.geonet.util.XslUtil; +import org.fao.geonet.utils.TransformerFactoryFactory; +import org.fao.geonet.utils.Xml; +import org.jdom.Element; +import org.jdom.Namespace; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.xmlunit.builder.DiffBuilder; +import org.xmlunit.builder.Input; +import org.xmlunit.diff.DefaultNodeMatcher; +import org.xmlunit.diff.Diff; +import org.xmlunit.diff.ElementSelectors; + +import java.net.URISyntaxException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.mockito.Matchers.eq; + +@RunWith(PowerMockRunner.class) +@PrepareForTest(XslUtil.class) +public class UpdateFixedInfoTest { + + static private Path PATH_TO_XSL; + + static private ImmutableList<Namespace> ALL_NAMESPACES = ImmutableSet .<Namespace>builder() + .add(ISO19139Namespaces.GCO) + .add(ISO19139Namespaces.GMD) + .add(ISO19139Namespaces.SRV) + .add(ISO19139Namespaces.XSI) + .add(ISO19139cheNamespaces.CHE) + .build().asList(); + + public UpdateFixedInfoTest() { + PowerMockito.mockStatic(XslUtil.class); + PowerMockito.when(XslUtil.getSettingValue(eq("system/metadata/validation/removeSchemaLocation"))).thenReturn("false"); + PowerMockito.when(XslUtil.twoCharLangCode(eq("ger"))).thenReturn("DE"); + PowerMockito.when(XslUtil.twoCharLangCode(eq("ita"))).thenReturn("IT"); + PowerMockito.when(XslUtil.twoCharLangCode(eq("fre"))).thenReturn("FR"); + } + + @BeforeClass + public static void setup() throws URISyntaxException { + TransformerFactoryFactory.init("net.sf.saxon.TransformerFactoryImpl"); + PATH_TO_XSL = Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("iso19139.che/update-fixed-info.xsl").toURI()); + + } + + @Test + public void dataLetUnchangedText() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeText.xml").toURI())); + + assertProcessedEqualsToExpected(input, input); + } + + @Test + public void defaultLanguageAddedAsLocaleText() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeText.xml").toURI())); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(input, ".//gmd:locale[gmd:PT_Locale/@id = 'DE']", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void noLocaleDontDiscardLocalizedBindToDefaultText() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeText.xml").toURI())); + ((List<Element>) Xml.selectNodes(input, ".//gmd:locale", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(expected, ".//gmd:PT_FreeText", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + ((List<Element>)Xml.selectNodes(expected, ".//gmd:title[@xsi:type='gmd:PT_FreeText_PropertyType']", ALL_NAMESPACES)) + .stream() + .forEach(x -> x.removeAttribute("type", ISO19139Namespaces.XSI)); + + ((List<Element>) Xml.selectNodes(input, ".//gmd:title/gco:CharacterString", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void localeCopiedIfDefault() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeText.xml").toURI())); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(input, ".//gmd:title/gco:CharacterString", ALL_NAMESPACES)) + .stream().forEach(x -> x.setText("to be overriden")); + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void localeCopiedIfNoDefault() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeText.xml").toURI())); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(input, ".//gmd:title/gco:CharacterString", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void dataLetUnchangedUrl() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeUrl.xml").toURI())); + + assertProcessedEqualsToExpected(input, input); + } + + @Test + public void defaultLanguageAddedAsLocaleUrl() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeUrl.xml").toURI())); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(input, ".//gmd:locale[gmd:PT_Locale/@id = 'DE']", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void localeUrlCopiedIfDefault() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeUrl.xml").toURI())); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(input, ".//gmd:URL", ALL_NAMESPACES)) + .stream().forEach(x -> x.setText("to be overriden")); + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void localeUrlCopiedIfDefaultEvenIfLocaleEmpty() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeUrl.xml").toURI())); + ((List<Element>) Xml.selectNodes(input, ".//che:LocalisedURL", ALL_NAMESPACES)) + .stream().forEach(x -> x.setText("")); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(expected, ".//gmd:URL", ALL_NAMESPACES)) + .stream().forEach(x -> x.setText("")); + ((List<Element>) Xml.selectNodes(expected, ".//che:PT_FreeURL", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void localeUrlCopiedIfNoDefault() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeUrl.xml").toURI())); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(input, ".//gmd:URL", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void localeUrlCopiedIfNoDefaultEvenIfLocaleEmpty() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeUrl.xml").toURI())); + ((List<Element>) Xml.selectNodes(input, ".//che:LocalisedURL", ALL_NAMESPACES)) + .stream().forEach(x -> x.setText("")); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(input, ".//gmd:URL", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + ((List<Element>) Xml.selectNodes(expected, ".//gmd:URL", ALL_NAMESPACES)) + .stream().forEach(x -> x.setText("")); + ((List<Element>) Xml.selectNodes(expected, ".//che:PT_FreeURL", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void whenNoLocaleUrlNotOverriden() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeUrl.xml").toURI())); + ((List<Element>) Xml.selectNodes(input, ".//gmd:URL", ALL_NAMESPACES)).stream().forEach(x -> x.setText("from url")); + Element localeDE = ((List<Element>) Xml.selectNodes(input, ".//che:URLGroup", ALL_NAMESPACES)).stream().findFirst().get(); + Element localeIT = (Element) localeDE.clone(); + ((List<Element>) Xml.selectNodes(localeIT, ".//che:LocalisedURL", ALL_NAMESPACES)).stream().forEach(x -> x.getAttribute("locale").setValue("#IT")); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(localeDE, ".//che:LocalisedURL", ALL_NAMESPACES)).stream().forEach(x -> x.getAttribute("locale").setValue("#IT")); + ((List<Element>) Xml.selectNodes(expected, ".//che:LocalisedURL", ALL_NAMESPACES)).stream().forEach(x -> x.setText("from url")); + ((Element)Xml.selectNodes(expected, ".//che:PT_FreeURL", ALL_NAMESPACES).stream().findFirst().get()).addContent(localeIT); + + assertProcessedEqualsToExpected(input, expected); + } + @Test + public void noLocaleDontDiscardLocalizedBindToDefaultUrl() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeUrl.xml").toURI())); + ((List<Element>) Xml.selectNodes(input, ".//gmd:locale", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(expected, ".//che:PT_FreeURL", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + ((List<Element>)Xml.selectNodes(expected, ".//gmd:linkage[@xsi:type='che:PT_FreeURL_PropertyType']", ALL_NAMESPACES)) + .stream() + .forEach(x -> x.removeAttribute("type", ISO19139Namespaces.XSI)); + + ((List<Element>) Xml.selectNodes(input, ".//gmd:linkage/gmd:URL", ALL_NAMESPACES)) + .stream().forEach(Element::detach); + + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void noLocaleDataLetUnchangedText() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/charstring.xml").toURI())); + + assertProcessedEqualsToExpected(input, input); + } + + @Test + public void noLocaleDataLetUnchangedUrl() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/url.xml").toURI())); + + assertProcessedEqualsToExpected(input, input); + } + + @Test + public void xlinkMulti() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/xlink.xml").toURI())); + + assertProcessedEqualsToExpected(input, input); + } + + @Test + public void xlinkMono() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/xlink.xml").toURI())); + List<Element> toRemove = (List<Element>) Xml.selectNodes(input, ".//gmd:locale", ALL_NAMESPACES.asList()); + toRemove.stream().forEach(Element::detach); + Element expected = (Element) input.clone(); + ((List<Element>) Xml.selectNodes(expected, ".//gmd:contact", ALL_NAMESPACES)) + .stream().forEach(elem -> + elem.getAttribute("href", ISO19139Namespaces.XLINK) + .setValue("local://srv/api/registries/entries/4cb273e2-e26a-4e66-bb55-5dd09e39449b?lang=ger&process=gmd:role/gmd:CI_RoleCode/@codeListValue~partner")); + + assertProcessedEqualsToExpected(input, expected); + } + + @Test + public void carriageReturnAreNotDiscardedWhenCopiedInDefault() throws Exception { + Element input = Xml.loadFile(Paths.get(UpdateFixedInfoTest.class.getClassLoader().getResource("ufi/PT_FreeText.xml").toURI())); + ((List<Element>) Xml.selectNodes(input, ".//gmd:LocalisedCharacterString", ALL_NAMESPACES)) + .stream().forEach(x -> x.setText(" 1 11\n2 22 ")); + + String copiedAsDefault = ((Element) Xml.selectNodes((Xml.transform(input, PATH_TO_XSL)), ".//gco:CharacterString[contains(text(),'11')]", ALL_NAMESPACES).get(0)).getText(); + + assertEquals("1 11\n2 22", copiedAsDefault); + } + + private void assertProcessedEqualsToExpected(Element input, Element preparingExpected) throws Exception { + String expected = Xml.getString(preparingExpected.getChild("CHE_MD_Metadata", ISO19139cheNamespaces.CHE)); + String processed = Xml.getString(Xml.transform(input, PATH_TO_XSL)); + Diff diff = DiffBuilder + .compare(Input.fromString(processed)) + .withTest(Input.fromString(expected)) + .withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byName)) + .checkForSimilar() + .build(); + + assertFalse("Process did not produce the expected result.", diff.hasDifferences()); + } + + +} diff --git a/iso19139.che/src/test/java/org/fao/geonet/schemas/XslMigrationProcessTest.java b/iso19139.che/src/test/java/org/fao/geonet/schemas/XslMigrationProcessTest.java new file mode 100644 index 00000000000..6f8633d21a5 --- /dev/null +++ b/iso19139.che/src/test/java/org/fao/geonet/schemas/XslMigrationProcessTest.java @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2001-2016 Food and Agriculture Organization of the + * United Nations (FAO-UN), United Nations World Food Programme (WFP) + * and United Nations Environment Programme (UNEP) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, + * Rome - Italy. email: geonetwork@osgeo.org + */ + +package org.fao.geonet.schemas; + +import com.google.common.collect.ImmutableSet; +import org.fao.geonet.schema.iso19139.ISO19139Namespaces; +import org.fao.geonet.schema.iso19139che.ISO19139cheNamespaces; +import org.fao.geonet.utils.Xml; +import org.jdom.Element; +import org.jdom.Namespace; +import org.junit.Ignore; +import org.junit.Test; + +import javax.xml.XMLConstants; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.junit.Assert.assertThat; +import static org.xmlunit.matchers.EvaluateXPathMatcher.hasXPath; + +@Ignore +public class XslMigrationProcessTest extends XslProcessTest { + + public XslMigrationProcessTest() { + super(); + this.setXslFilename("process/migration3_4.xsl"); + this.setXmlFilename("dataset.xml"); + ImmutableSet<Namespace> ns = ImmutableSet.<Namespace>builder() + .add(ISO19139Namespaces.GCO) + .add(ISO19139Namespaces.GMD) + .add(ISO19139Namespaces.SRV) + .add(ISO19139cheNamespaces.CHE) + .add( Namespace.getNamespace("xsi", XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI)) + .build(); + this.setNs(ns); + } + + @Test + public void mustNotAlterARecordWhenNoParameterProvided() throws Exception { + super.testMustNotAlterARecordWhenNoParameterProvided(); + } + + @Test + public void testDatasetMigration() throws Exception { + + Element inputElement = Xml.loadFile(xmlFile); + + String resultString = Xml.getString(inputElement); + + // No schema location anymore. + assertThat( + resultString, hasXPath( + "count(//@xsi:schemaLocation)", + equalTo("0")).withNamespaceContext(ns) + ); + + + // No characterString in language, but languageCode. + assertThat( + resultString, hasXPath( + "count(//gmd:language[gco:CharacterString])", + equalTo("0")).withNamespaceContext(ns) + ); + assertThat( + resultString, hasXPath( + "count(//gmd:language[gmd:LanguageCode])", + equalTo("1")).withNamespaceContext(ns) + ); + + + // Parent identifier in aggregates now. + assertThat( + resultString, hasXPath( + "count(//gmd:parentIdentifier)", + equalTo("1")).withNamespaceContext(ns) + ); + assertThat( + resultString, hasXPath( + "//gmd:identificationInfo/che:CHE_MD_DataIdentification/" + + "gmd:aggregationInfo/gmd:MD_AggregateInformation/" + + "gmd:aggregateDataSetIdentifier/gmd:MD_Identifier/" + + "gmd:code/gco:CharacterString", + equalTo("aee4fe79-a583-46a1-bf46-19ee613ce415")) + .withNamespaceContext(ns) + ); + } +} diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/call_112.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/call_112.xml new file mode 100644 index 00000000000..eaf9b34f94f --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/call_112.xml @@ -0,0 +1,1305 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gco:isoType="gmd:MD_Metadata" xsi:schemaLocation="http://www.geocat.ch/2008/che https://www.geocat.ch/geonetwork/xml/schemas/iso19139.che/schema/che/che.xsd"> + <gmd:fileIdentifier> + <gco:CharacterString>415a014c-b3f6-40bd-8b38-c955e9e214e6</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:hierarchyLevel> + <gmd:contact xlink:show="embed"> + <che:CHE_CI_ResponsibleParty xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Kommunikation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Kommunikation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de la communication</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ufficio federale delle communicazioni</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Federal Office of Communications</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Bundesamt für Kommunikation</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 58 460 55 11</gco:CharacterString> + </gmd:voice> + <che:directNumber> + <gco:CharacterString>+41 58 460 58 91</gco:CharacterString> + </che:directNumber> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Biel</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>2503</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>christian.meier@bakom.admin.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Zukunftstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>44</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.bakom.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.bakom.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.bakom.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.bakom.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.bakom.admin.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString>Christian</gco:CharacterString> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString>Meier</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BAKOM</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BAKOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">UFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">OFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">BAKOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2019-08-13T16:45:48</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="roh" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_GeometricObjectTypeCode" codeListValue="point" /> + </gmd:geometricObjectType> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CH1903</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CH1903</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">CH1903</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">CH1903</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">CH1903</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Einzugsgebiete für die Notrufnummer 112 im Festnetz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Einzugsgebiete für die Notrufnummer 112 im Festnetz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Zones desservies par le numéro d’appel d’urgence 112 sur réseau fixe</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Zone d’intervento servite dal numero per le chiamate d’emergenza 112 su rete fissa</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Intervention regions for emergency call number 112 on fixed network</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Ils territoris cumpigliats pel numer d’urgenza 112 aint illa rait fixa</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>112 Festnetz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">112 Festnetz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">112 Réseau fixe</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">112 Rete fissa</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">112 Fixed network</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">112 Rait fixa</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:DateTime>2014-01-01T00:00:00</gco:DateTime> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:collectiveTitle gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + </gmd:collectiveTitle> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Ein Notruf ist ein Anruf auf eine dreistellige Kurznummer des Notrufdienstes, die von den Anrufenden gewählt wird: Europäische Notrufnummer 112; Polizeinotruf 117; Feuerwehrnotruf 118; Dargebotene Hand 143; Sanitätsnotruf 144; Telefonhilfe für Kinder und Jugendliche 147. Ein Notruf kann über ein Festnetz, Mobilnetz oder Satellitennetz erfolgen. + +Der Notruf muss zur Alarmzentrale des für den Fall sachlich und örtlich zuständigen Notrufdienstes geleitet werden. Eine Region, aus der die Notrufe auf eine bestimmte Alarmzentrale geleitet werden ist ein Einzugsgebiet. Jedem Einzugsgebiet wird eine Routing-Nummer zugeordnet. Die Karte stellt die Einzugsgebiete der Schweiz für ausgeführte Notrufe 112 im Festnetz dar. Für jedes Einzugsgebiet sieht man die Alarmzentrale und die Routing-Nummer, wenn man dieses Einzugsgebiet auswählt.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Ein Notruf ist ein Anruf auf eine dreistellige Kurznummer des Notrufdienstes, die von den Anrufenden gewählt wird: Europäische Notrufnummer 112; Polizeinotruf 117; Feuerwehrnotruf 118; Dargebotene Hand 143; Sanitätsnotruf 144; Telefonhilfe für Kinder und Jugendliche 147. Ein Notruf kann über ein Festnetz, Mobilnetz oder Satellitennetz erfolgen. + +Der Notruf muss zur Alarmzentrale des für den Fall sachlich und örtlich zuständigen Notrufdienstes geleitet werden. Eine Region, aus der die Notrufe auf eine bestimmte Alarmzentrale geleitet werden ist ein Einzugsgebiet. Jedem Einzugsgebiet wird eine Routing-Nummer zugeordnet. Die Karte stellt die Einzugsgebiete der Schweiz für ausgeführte Notrufe 112 im Festnetz dar. Für jedes Einzugsgebiet sieht man die Alarmzentrale und die Routing-Nummer, wenn man dieses Einzugsgebiet auswählt.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Un appel d’urgence est un appel sur un numéro court à trois chiffres du service d’appel d'urgence composé par l'appelant : service d'urgence européen 112 ; police, appel d'urgence 117 ; feu, centrale d'alarme 118 ; main tendue 143 ; ambulances, appel d'urgence 144 ; secours téléphonique pour les enfants et les jeunes 147. Un appel d’urgence peut être effectué depuis un réseau fixe, un réseau mobile ou un réseau par satellite. + +L’appel d’urgence doit être acheminé vers la centrale d’alarme du service compétent selon le lieu et la nature du cas. Une région d’où les appels d’urgence sont acheminés vers une centrale d’alarme précise constitue une zone desservie. Un numéro d’acheminement est attribué à chaque zone desservie. La carte permet de visualiser les zones desservies en Suisse pour les appels d’urgence 112 effectués depuis un réseau fixe. Pour chaque zone desservie on peut identifier la centrale d’alarme et le numéro d’acheminement en sélectionnant la zone souhaitée.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Una chiamata d’emergenza è una chiamata su un numero breve di 3 cifre del servizio d'emergenza selezionato dal chiamante: servizio d'emergenza europeo 112; polizia, chiamata di soccorso 117; pompieri 118; telefono amico 143; pronto soccorso autoambulanze 144; assistenza telefonica per bambini e giovani 147. Una chiamata d’emergenza può essere effettuata da una rete fissa, una rete mobile o una rete via satellite. + +La chiamata d'emergenza deve essere istradata verso la centrale d'allarme del servizio locale competente per il caso specifico. Una regione in cui le chiamate d'emergenza vengono istradate verso una determinata centrale d'allarme costituisce una zona d'intervento. A ogni zona d'intervento viene attribuito un numero di routing. La carta consente di visualizzare le zone d’intervento in Svizzera per le chiamate d’emergenza 112 effettuate dalla rete fissa. Per ciascuna zona d’intervento si può identificare la centrale d’allarme e il numero di routing selezionando la zona desiderata.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">An emergency call is a call with a three digit short number of the emergency service selected by the caller: European emergency service 112; police, emergency call 117; fire, alarm center 118; Friendly Hand 143; ambulance, emergency call 144; telephone help for children and young 147. An emergency call can be done from a fixed, mobile or satellite network. + +The emergency call must be routed to the alarm center of the competent service according to the location and nature of the case. A region from which the emergency calls are routed to a precise alarm center is an intervention region. Each intervention region has a routing number. The map shows the intervention regions of Switzerland for the emergency calls 112 originated from a fixed network. The alarm center and routing number of any intervention region are identified when selecting the targeted intervention region.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Dad in clom d’urgenza sa tracti, sch’ina persuna cumpona in numer curt da trais cifras dal servetsch da clom d’urgenza: numer d’urgenza europeic 112; polizia 117; pumpiers 118; maun offert 143; alarm sanitar 144; agid al telefon per uffants e giuvenils 147. In clom d’urgenza po succeder sur ina rait fixa, sur ina rait per telefonia mobila u sur ina rait da satellit. + +Il clom d’urgenza sto vegnir transmess a la centrala d’alarm dal servetsch da clom d’urgenza ch’è cumpetent materialmain e localmain per il cas correspundent. Ina regiun, da la quala ils cloms d’urgenza vegnan transmess ad ina tscherta centrala d’alarm, è in territori cumpiglià. A mintga territori cumpiglià vegn attribuì in numer da routing. La carta preschenta ils territoris cumpigliats da la Svizra per cloms d’urgenza 112 effectuads en la rait fixa. Per mintga territori cumpiglià pon ins vesair la centrala d’alarm ed il numer da routing, sch’ins tscherna quest territori cumpiglià.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Information für die Bevölkerung.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Information für die Bevölkerung.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Information à la population.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Informazione al pubblico</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Information for the population</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Informaziun pella populaziun</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ProgressCode" codeListValue="onGoing" /> + </gmd:status> + <gmd:pointOfContact xlink:show="embed"> + <che:CHE_CI_ResponsibleParty xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Kommunikation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Kommunikation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office fédéral de la communication</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ufficio federale delle comunicazioni</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Federal Office of Communications</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Bundesamt für Kommunikation</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Biel</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>2501</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>transmitter@bakom.admin.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Zukunftstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>44</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualLastName> + <gco:CharacterString>Transmitter-bakom</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BAKOM</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BAKOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">UFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">OFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">BAKOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:pointOfContact xlink:show="embed"> + <che:CHE_CI_ResponsibleParty xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bundesamt für Kommunikation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Kommunikation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Office Fédéral de la Communication</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ufficio federale delle comunicaioni</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Federal Office of Communications</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Bundesamt für Kommunikation</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 58 460 55 11</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Biel</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>2501</gco:CharacterString> + </gmd:postalCode> + <gmd:electronicMailAddress> + <gco:CharacterString>info@bakom.admin.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Zukunftstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>44</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="owner" /> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString /> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString /> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>BAKOM</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">BAKOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">UFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">OFCOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">BAKOM</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_MaintenanceFrequencyCode" codeListValue="annually" /> + </gmd:maintenanceAndUpdateFrequency> + <che:appraisal> + <che:CHE_MD_Appraisal_AAP> + <che:durationOfConservation> + <gco:Integer>10</gco:Integer> + </che:durationOfConservation> + <che:appraisalOfArchivalValue> + <che:CHE_AppraisalOfArchivalValueCode codeList="#CHE_AppraisalOfArchivalValueCode" codeListValue="A" /> + </che:appraisalOfArchivalValue> + <che:reasonForArchivingValue> + <che:CHE_ReasonForArchivingValueCode codeList="#CHE_ReasonForArchivingValueCode" codeListValue="evidenceOfBusinessPractice" /> + </che:reasonForArchivingValue> + <che:commentOnArchivalValue xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Grundlage für den Datensatz ist eine Datenbank, in welcher Daten seit 2012 enthalten sind.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Grundlage für den Datensatz ist eine Datenbank, in welcher Daten seit 2012 enthalten sind.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:commentOnArchivalValue> + </che:CHE_MD_Appraisal_AAP> + </che:appraisal> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Versorgungswirtschaft und staatliche Dienste</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Versorgungswirtschaft und staatliche Dienste</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Services d'utilité publique et services publics</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Servizi di pubblica utilità e servizi amministrativi</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Utility and governmental services</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="theme" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET - INSPIRE themes, version 1.0</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-06-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://127.0.0.1:8080/geonetwork/srv/api/registries/vocabularies/external.theme.inspire-theme">geonetwork.thesaurus.external.theme.inspire-theme</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Antenne</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Antenne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">antenne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">antenna</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">antenna</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Aufbewahrungs- und Archivierungsplanung AAP - Bund</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Aufbewahrungs- und Archivierungsplanung AAP - Bund</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Planification de la conservation et de l'archivage AAP - Conféderation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Pianificazione della conservazione e dell’archiviazione AAP - Confederazione</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Conservation and archiving planning AAP - Confederation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Mobiltelefonie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Mobiltelefonie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">téléphonie mobile</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">telefonia mobile</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">mobile telephony</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>opendata.swiss</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="theme" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2022-04-30</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://127.0.0.1:8080/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch">geonetwork.thesaurus.local.theme.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode" codeListValue="otherRestrictions" /> + </gmd:useConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>keine Einschränkungen</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">keine Einschränkungen</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">aucune restriction</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Nessuna restrizione</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">No restrictions</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:aggregationInfo> + <gmd:MD_AggregateInformation> + <gmd:aggregateDataSetIdentifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>7f3287d8-6ae7-491c-b8e1-1d9f81b194b4</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:aggregateDataSetIdentifier> + <gmd:associationType> + <gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="largerWorkCitation" /> + </gmd:associationType> + </gmd:MD_AggregateInformation> + </gmd:aggregationInfo> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>25000</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:language> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </gmd:language> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" /> + </gmd:language> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>utilitiesCommunication</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>utilitiesCommunication_Communication</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:extent xlink:show="embed"> + <gmd:EX_Extent xmlns:geonet="http://www.fao.org/geonetwork"> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal>5.956069</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>10.492047</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>45.820823</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.808490</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:polygon> + <MultiSurface xmlns="http://www.opengis.net/gml/3.2" gml:id="d2674352e57"> + <gml:surfaceMember> + <Polygon gml:id="d2674352e59"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.618636136351077 47.79832819365082 8.567870448543298 47.808490469284976 8.57709380273077 47.78154261359985 8.472338473119196 47.76355812771139 8.455065486460464 47.722311966804064 8.404435958651684 47.698066045625296 8.420677913922562 47.683867397358846 8.40604122811449 47.673266397626534 8.46564241908907 47.65704654804725 8.473516759765994 47.63830890307318 8.473773405333338 47.64982696964279 8.531537191849733 47.64579020300428 8.527019805925725 47.66039680386717 8.561162090063934 47.670305715451505 8.577721599772577 47.661610092323606 8.606660377320425 47.67213102679454 8.628814793255096 47.64965480659201 8.595525027523687 47.642875404865116 8.604965308124523 47.61401470584857 8.58236501345689 47.59613569715748 8.56285093485213 47.59943380743463 8.574418119968236 47.61193232814655 8.557348139852412 47.624563472373715 8.515542993402867 47.63392170677763 8.508261296277164 47.617509140762884 8.45660884864395 47.60235728196186 8.466946742523898 47.58420412795566 8.49454988493339 47.58120284779842 8.464723615752714 47.57229706907956 8.32991983143931 47.570920142881675 8.291058476721894 47.609403537950456 8.226316055008265 47.605065789924815 8.206107085594347 47.621003461422106 8.165554102163046 47.59431149136439 8.10947016506889 47.58237616187295 8.089351818288971 47.557729610042905 7.959434577099721 47.55822966700068 7.943285362695794 47.54397816101678 7.910869245967949 47.55170583632464 7.892564465423711 47.587277623800595 7.8227545765902216 47.58794443052924 7.795677625858666 47.55744986812447 7.69043228883719 47.53234267214194 7.634101239322111 47.561118578322876 7.685975080579112 47.56562238127743 7.671759199559159 47.58736506512138 7.693584944105702 47.600537548734444 7.645820635929973 47.59697373785718 7.6190692884908895 47.576835232343356 7.589043241650123 47.58988343146769 7.584832079087992 47.57566236759771 7.499242258661455 47.53983852746983 7.53147833231941 47.52772282900157 7.522117147642116 47.51423778605593 7.497820066941228 47.521238436751965 7.502002812637003 47.490445737003085 7.476013055736952 47.480015790217514 7.431955455234861 47.49613756552103 7.421238248474653 47.48018802773652 7.456060375164786 47.47193683654364 7.402984733559647 47.43551785334147 7.329826365074102 47.441438696470115 7.245589670595315 47.42030543334231 7.231950768778646 47.43905109800215 7.170422458315754 47.44346087849513 7.2010840916137395 47.49388753927646 7.128017766453965 47.50359640137855 7.074878314707122 47.48817404225255 7.024406165027827 47.504230341157 6.982913835320305 47.49427796372315 7.001549568115628 47.45375065742888 6.939185022202498 47.4337118067886 6.938598266462774 47.40648615604183 6.913615608908469 47.40466674509534 6.8798039232719725 47.352447097616825 7.017906912117407 47.37288962765417 7.048924004601611 47.36184943000829 7.0566297995039005 47.33439874303921 7.009737424706251 47.32437388627323 6.996570085269273 47.296133785018434 6.9407396894015 47.28651295628086 6.955475887668876 47.24298084083645 6.84132406077806 47.17140422367351 6.858829113522642 47.16568210746016 6.849970979695795 47.156466103699884 6.703572462897413 47.08217480445635 6.691786243355083 47.066416265751286 6.7184612617620125 47.0507985599015 6.61814315032795 46.991896151601495 6.505956270013948 46.96614697404134 6.4966912751696855 46.974185177279836 6.432741500338627 46.928462066164066 6.464449361117308 46.89042122185409 6.430987471206794 46.812334415337766 6.45843290758429 46.788316669568054 6.452218255002143 46.77414862048399 6.269427389697237 46.682725865080926 6.110947532749334 46.576662420641334 6.156466935099919 46.545257494904405 6.072812859663235 46.46575695481556 6.086229234416428 46.44315127290448 6.064010780224935 46.41622909861854 6.1701415833310245 46.36643668925036 6.102350950861168 46.28485930922851 6.124297781301943 46.251133021642346 5.974396617021806 46.21475644762518 5.963682400338812 46.196972622694204 5.995204452056706 46.18289967852278 5.956069404703701 46.13209270071965 5.993965121444234 46.14443247279984 6.035707273230779 46.134768740991404 6.051904514583171 46.15127176155346 6.135524899825851 46.14116235766195 6.2223154004928 46.200793828457456 6.294448523265556 46.22493316999831 6.310265888058619 46.256183283384125 6.294862870557195 46.26460239438279 6.266492572740759 46.24770291381515 6.2377316539230305 46.27662270037572 6.248826940129985 46.30155579233637 6.219531854363853 46.311881975069376 6.252942459339907 46.36042410952974 6.3351758167376735 46.403721008517266 6.425605946160257 46.4158096948427 6.51909182382572 46.45637103912149 6.681846747139384 46.454337336428964 6.8210532854194295 46.42715660280175 6.806121292227788 46.379781900998196 6.770430367735351 46.35520740743068 6.864796256503964 46.280595085862075 6.803551226537243 46.20313740758567 6.7978756172355475 46.136799559267615 6.899460990764513 46.12405515790284 6.875624773376842 46.04769473246365 6.936958778155464 46.064754070686504 6.984739523068636 46.00512603471887 7.010517600601531 45.99727537767575 7.023317519245356 45.97923522115884 7.0090363453718965 45.9693897225668 7.037586371539799 45.95427152161369 7.101160910174281 45.85926821223587 7.153529878093876 45.8792471064575 7.196574955339536 45.86027182397742 7.216426306963483 45.88877689889702 7.256864529252637 45.88821522190219 7.294499791838083 45.921793175989066 7.386325331325373 45.89715221683328 7.471632617686372 45.93405606952617 7.499175024649624 45.96241510226094 7.5427532195005345 45.956938892938 7.550123519887039 45.98655303149748 7.578597181437923 45.98600890485457 7.5887805918359525 45.970512767173524 7.66418356308967 45.9756719822007 7.720470414585857 45.92378544216926 7.747741722503109 45.94100392720936 7.799492172807655 45.91738594080374 7.820380991424194 45.92695503224771 7.863566985094913 45.91669427529572 7.877416218564115 45.97385505436996 7.9086811730702 45.99696237737935 7.989086544643885 45.99592820407111 8.012405318406186 46.0119646889509 8.03540722659576 46.04403977526807 8.021654877782867 46.06936097121922 8.034340770224748 46.100835702823005 8.108226720853473 46.11162333781869 8.15533880164872 46.147625844067896 8.165504168067587 46.182222489229794 8.085922985036714 46.26661331118816 8.13755908433752 46.301762781007184 8.19874643551442 46.30224602115219 8.223991867033432 46.33444359566967 8.262880186124782 46.345962000511406 8.263769339538365 46.36401859650552 8.312896739081765 46.37706145420537 8.31572994901555 46.39896106120078 8.288931379290378 46.40810523040728 8.307489148323144 46.42584675952567 8.438527229877641 46.46429090011371 8.465943694730612 46.4443606719283 8.47117029206281 46.39591787750886 8.465354692707269 46.33375704866368 8.427736672329232 46.29829500937413 8.455877515860513 46.263749702067564 8.444523315980126 46.248871667517605 8.532440027035484 46.218276113991315 8.573603769008809 46.1644996328951 8.603003844268125 46.155361946580285 8.592893677695532 46.142962926915104 8.611855092974578 46.121662216912014 8.648027806428908 46.123319073470796 8.713932932612385 46.09726414547174 8.74232781009239 46.12221466053261 8.760224734532233 46.101409459042095 8.806033471839337 46.10127526487161 8.852111507547454 46.075632917247745 8.78590336090694 45.98906671898338 8.831635599981935 45.98795101410068 8.859926179945093 45.96622321722963 8.893751675670298 45.95900558344516 8.89272844621989 45.93300493851487 8.94529764884134 45.8669683411745 8.912142641064255 45.830434774384344 8.955769478513462 45.84289866242385 8.997483642439107 45.834933931566894 8.993910505203983 45.82195987379029 9.031385691767204 45.82082270055751 9.054803794195532 45.8735548973298 9.089023202367658 45.900651571990466 9.019192277994492 45.92843192394339 9.01396134617441 45.960538061300106 8.988989807391164 45.970332731938534 9.028458722868129 45.99361618940008 9.009523017850109 46.037278517927774 9.077124134763213 46.06408586684166 9.089614398828493 46.087006448047866 9.072516594392987 46.118093692536746 9.183814172175918 46.17036450446762 9.220907397753546 46.228884178137534 9.248532592967504 46.233758581428596 9.252118932735604 46.267382756331145 9.300143725310116 46.32644737516684 9.27607496505189 46.367802220394616 9.280478918320929 46.413052955385474 9.24700553563768 46.44678629008629 9.277900335129248 46.4609972362161 9.282743190033248 46.49668691075942 9.311052920161332 46.50412982907094 9.364262255139575 46.509060124709094 9.410792620775082 46.46678218586712 9.463563794547087 46.50886319193597 9.449100486581969 46.48436811799762 9.465406443525946 46.469638455442805 9.46081705753102 46.37596095232518 9.496427646833705 46.36409322963251 9.549532779238891 46.30236873747053 9.634972179165292 46.286113181628146 9.676516573342482 46.30303759281408 9.710150152014611 46.2917238767644 9.735843316991106 46.35030210000985 9.776940405024504 46.33500483142678 9.906846030734986 46.38095351117939 9.924794496668543 46.36589984590846 9.953197774845936 46.37914430395437 9.996770246061756 46.35092244704502 9.980225396876882 46.323134368534966 10.00020141315535 46.31306171368799 9.996020634815187 46.28475307637468 10.05544277432549 46.26578271133778 10.04367538411971 46.22973155098841 10.07059891557281 46.21710536072105 10.145954941731528 46.23046910180092 10.176530862333946 46.25826312942714 10.104280164048433 46.333654869126136 10.16668919828666 46.407635508733456 10.143206262388938 46.42826523868633 10.080479345537253 46.42102397547931 10.04198019685086 46.442606727071215 10.043961762215927 46.54034730512903 10.10022395890523 46.5828362932327 10.102362995361121 46.61070892330901 10.12846932018745 46.60549580367593 10.19277536772931 46.62592263546484 10.215329905856741 46.61692848052752 10.23921321330628 46.63531897710511 10.258900588062122 46.6104307444733 10.243607699567525 46.5777896363919 10.286651354386946 46.57024090075558 10.295446715138768 46.5498812492705 10.41814189390452 46.551307205135366 10.452811387960804 46.530669931001434 10.471533598860512 46.542843424888474 10.492046845483868 46.615328742235555 10.446086883460806 46.64125908747921 10.402299105758665 46.636799759484624 10.3818334443813 46.68429462839202 10.416018855755073 46.708991614115185 10.401044019264246 46.734195823960164 10.442641423468602 46.75399925821359 10.422732151558447 46.788231541825354 10.46654583356466 46.835883596501716 10.489364916747137 46.937779574705246 10.428654765496486 46.95614295260784 10.426603434990888 46.97567607166608 10.384716948987938 46.999981891933515 10.346536636421757 46.989582005262804 10.309380552791563 46.95019594339695 10.316082356692426 46.92517377682388 10.24059249826526 46.93124764600155 10.232701350168945 46.866295315221 10.105182394788041 46.84089943527933 10.087363002351601 46.8611804253125 10.051228825205019 46.86394010804752 10.017849995884458 46.901612974174085 9.876159523027676 46.93462728324064 9.892336639699428 46.99035752084757 9.876279339181906 47.021225267050085 9.836152549813445 47.012529394117934 9.681874652173317 47.06209486626728 9.559793846808345 47.04856432025364 9.539761897799236 47.06513850313927 9.476057414379977 47.0517917034334 9.52035461114094 47.10014428188927 9.485699683826178 47.1811818899626 9.529824274362179 47.26937670425505 9.605093964044881 47.351286341569995 9.67387766856986 47.38387022329432 9.644468982673684 47.43383213166406 9.65900873470368 47.452198676125384 9.609315626191078 47.470493004035504 9.594831989682868 47.46361801951153 9.561810118456332 47.49678235356159 9.558735413949584 47.54188982681282 9.49561849681098 47.551452066891386 9.394728731742223 47.620323903807126 9.256575321820979 47.65870629415067 9.175820442343289 47.6539369459781 9.02179588954285 47.68662079952784 8.895139288367336 47.64791313448272 8.850104353691716 47.68148552384267 8.872763195152617 47.70406405179639 8.818866975262067 47.71287283315007 8.806451647056239 47.738308038806 8.7699162408904 47.71794957715866 8.809945242411615 47.69326526083817 8.789650454642219 47.67524024774308 8.727984034762098 47.69267821152754 8.736306538757061 47.716152708709444 8.711282020521656 47.73007290822551 8.741488373716273 47.74807586931608 8.726117426406805 47.7627045225729 8.6926376597856 47.75615812854563 8.657026890838951 47.80036753577804 8.653043108378546 47.773366896798876 8.627690825682254 47.75926093130148 8.618636136351077 47.79832819365082</gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:posList>8.664335102879155 47.71331850918347 8.701562334865327 47.715179855463155 8.717719277468042 47.690740958763705 8.7015888059384 47.69193385096221 8.663349309285692 47.68590335372086 8.664335102879155 47.71331850918347</gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing> + <gml:posList>8.958591082132997 45.96478432796426 8.97701744389083 45.98296449048458 8.975665152654043 45.96168024008871 8.958591082132997 45.96478432796426</gml:posList> + </gml:LinearRing> + </gml:interior> + </Polygon> + </gml:surfaceMember> + </MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>Online DB</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL /> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.bakom.admin.ch/bakom/de/home/das-bakom/organisation/rechtliche-grundlagen/vollzugspraxis/technische-und-administrative-vorschriften/sr-784-101-113-1-3.html</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://www.bakom.admin.ch/bakom/de/home/das-bakom/organisation/rechtliche-grundlagen/vollzugspraxis/technische-und-administrative-vorschriften/sr-784-101-113-1-3.html</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://www.bakom.admin.ch/bakom/de/home/das-bakom/organisation/rechtliche-grundlagen/vollzugspraxis/technische-und-administrative-vorschriften/sr-784-101-113-1-3.html</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://www.bakom.admin.ch/bakom/de/home/das-bakom/organisation/rechtliche-grundlagen/vollzugspraxis/technische-und-administrative-vorschriften/sr-784-101-113-1-3.html</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">https://www.bakom.admin.ch/bakom/de/home/das-bakom/organisation/rechtliche-grundlagen/vollzugspraxis/technische-und-administrative-vorschriften/sr-784-101-113-1-3.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Link zu Detailbeschreibung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Link zu Detailbeschreibung</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Lien vers la description détaillée des données</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Link per la descrizione dei dettagli</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Link to detailed description</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Link zu Detailbeschreibung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL /> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://data.geo.admin.ch/ch.bakom.notruf-112_festnetz</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://data.geo.admin.ch/ch.bakom.notruf-112_festnetz</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://data.geo.admin.ch/ch.bakom.notruf-112_festnetz</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://data.geo.admin.ch/ch.bakom.notruf-112_festnetz</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">https://data.geo.admin.ch/ch.bakom.notruf-112_festnetz</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-URL</gco:CharacterString> + </gmd:protocol> + <gmd:name gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Download von data.geo.admin.ch</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Download von data.geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Serveur de téléchargement de geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Server di download di geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Download server from geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Download von data.geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL /> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://map.geo.admin.ch/?topic=notruf</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://map.geo.admin.ch/?topic=notruf</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://map.geo.admin.ch/?topic=notruf</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://map.geo.admin.ch/?topic=notruf</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">https://map.geo.admin.ch/?topic=notruf</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>CHTOPO:specialised-geoportal</gco:CharacterString> + </gmd:protocol> + <gmd:name gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString /> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Link zum Fachportal</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Link zum Fachportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Lien vers le portail</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Link al portale</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Link to portal</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Link zum Fachportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine /> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions /> + </gmd:transferOptions> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://api3.geo.admin.ch</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://api3.geo.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://api3.geo.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://api3.geo.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://api3.geo.admin.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">https://api3.geo.admin.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>ESRI:REST</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RESTful API</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RESTful API von geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">RESTful API de geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">RESTful API de geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">RESTful API geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">RESTful API geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>RESTful API von geo.admin.ch</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">RESTful API von geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">RESTful API de geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">RESTful API de geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">RESTful API geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">RESTful API geo.admin.ch</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="dataset" /> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Diese Angaben stammen von verschiedenen Telecom-Anbietern. Das BAKOM kann keine Gewähr bezüglich Korrektheit dieser Daten übernehmen.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Diese Angaben stammen von verschiedenen Telecom-Anbietern. Das BAKOM kann keine Gewähr bezüglich Korrektheit dieser Daten übernehmen.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ces données proviennent des différents opérateurs de télécommunication. L'OFCOM ne peut fournir aucune garantie sur l'exactitude des données.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Questi dati sono stati messi a disposizione da diversi fornitori di servizi di telecomunicazione. L'UFCOM non può garantire in alcun modo l'esattezza dei dati.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">This information originates from the various telecom providers. OFCOM can give no guarantee of the accuracy of this data.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalLaw" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Fernmeldegesetz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Fernmeldegesetz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Loi sur les télécommunications</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Legge sulle telecomunicazioni</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>FMG</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">FMG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">LTC</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">LTC</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>1997-04-30</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>1997-10-20</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SR 784.10</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SR 784.10</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">RS 784.10</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">RS 784.10</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> + <che:legislationInformation> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#Country" codeListValue="CH" /> + </che:country> + <che:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre" /> + </che:language> + <che:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita" /> + </che:language> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:internalReference xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Anhang 1</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Anhang 1</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:internalReference> + <che:title> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung über Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung über Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Ordonnance sur la géoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Ordinanza sulla geoinformazione</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geoinformationsverordnung GeoIV</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoinformationsverordnung GeoIV</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">OGéo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">OGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-05-21</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-07-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:series> + <gmd:CI_Series> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>SR 510.620</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">SR 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">RS 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">RS 510.620</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + </gmd:CI_Series> + </gmd:series> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationInformation> +</che:CHE_MD_Metadata> + diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/dataset.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/dataset.xml new file mode 100644 index 00000000000..10624b69bcc --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/dataset.xml @@ -0,0 +1,1232 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:geonet="http://www.fao.org/geonetwork" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.geocat.ch/2008/che ../../web/geonetwork/xml/schemas/iso19139.che/schema.xsd" + gco:isoType="gmd:MD_Metadata"> + <!-- Cleanup namespace and schemaLocation --> + <gmd:fileIdentifier xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>1d01fe5d-5aae-4be8-90c2-792479b429c3</gco:CharacterString> + </gmd:fileIdentifier> + + <!-- Move to LanguageCode --> + <gmd:language xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + + <gmd:characterSet xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + + <!-- Move to aggregate --> + <gmd:parentIdentifier> + <gco:CharacterString>aee4fe79-a583-46a1-bf46-19ee613ce415</gco:CharacterString> + </gmd:parentIdentifier> + <gmd:hierarchyLevel xmlns:xalan="http://xml.apache.org/xalan"> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString /> + </gmd:hierarchyLevelName> + <gmd:contact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Bau und Infrastruktur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+423 236 60 72</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+423 236 60 79</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Vaduz</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9490</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>LI</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>vermessung@llv.li</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Städtle</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>38</gco:CharacterString> + </che:streetNumber> + <che:postBox> + <gco:CharacterString>684</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>8:00-11:30 und 13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualLastName> + <gco:CharacterString>Fachbereich Vermessung und Geoinformation</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>ABI (LLV)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">ABI (LLV)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2014-10-16T13:43:15</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName xmlns:xalan="http://xml.apache.org/xalan"> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ger" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="fre" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="ita" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="#LanguageCode" codeListValue="eng" /> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="#MD_CharacterSetCode">UTF8</gmd:MD_CharacterSetCode> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:topologyLevel> + <gmd:MD_TopologyLevelCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_TopologyLevelCode" codeListValue="fullPlanarGraph" /> + </gmd:topologyLevel> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_GeometricObjectTypeCode" codeListValue="surface" /> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer>1</gco:Integer> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.opengis.net/def/crs/EPSG/0/21782</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.opengis.net/def/crs/EPSG/0/21782</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>http://www.opengis.net/def/crs/EPSG/0/4936</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">http://www.opengis.net/def/crs/EPSG/0/4936</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem /> + </gmd:referenceSystemInfo> + <gmd:identificationInfo xmlns:xalan="http://xml.apache.org/xalan"> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Vorlage Fürstentum Liechtenstein --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Vorlage Fürstentum Liechtenstein --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Alternativtitel oder Feld löschen --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Alternativtitel oder Feld löschen --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2013-11-13</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2013-11-13</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode + codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" + codeListValue="expiry" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>abi:template1</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Kurzbeschreibung des Datensatzes --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Kurzbeschreibung des Datensatzes --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Zweck, Verwendungszweck --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Zweck, Verwendungszweck --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ProgressCode" codeListValue="completed" /> + </gmd:status> + <gmd:pointOfContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Bau und Infrastruktur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+423 236 60 72</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+423 236 60 79</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Vaduz</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9490</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>LI</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>vermessung@llv.li</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Städtle</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>38</gco:CharacterString> + </che:streetNumber> + <che:postBox> + <gco:CharacterString>684</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>8:00-11:30 und 13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualLastName> + <gco:CharacterString>Fachbereich Vermessung und Geoinformation</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>ABI (LLV)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">ABI (LLV)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="asNeeded" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <!-- Old style graphic overview replaced by API --> + <gmd:graphicOverview> + <gmd:MD_BrowseGraphic> + <gmd:fileName> + <gco:CharacterString>ecomorph_s.png</gco:CharacterString> + </gmd:fileName> + <gmd:fileDescription xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>thumbnail</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">thumbnail</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:fileDescription> + <gmd:fileType> + <gco:CharacterString>png</gco:CharacterString> + </gmd:fileType> + </gmd:MD_BrowseGraphic> + </gmd:graphicOverview> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Vektor</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">vector</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Vektor</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">vettore</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">vecteur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET concepts</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2015-11-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external._none_.gemet">geonetwork.thesaurus.external._none_.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INSPIRE</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">INSPIRE</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INSPIRE</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">INSPIRE</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">INSPIRE</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="_none_" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch Thesaurus</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-05-18</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=local._none_.geocat.ch">geonetwork.thesaurus.local._none_.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Keywords> + <gmd:keyword xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Koordinatenreferenzsysteme</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Coordinate reference systems</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Koordinatenreferenzsysteme</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Sistemi di coordinate</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Référentiels de coordonnées</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM" /> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" codeListValue="theme" /> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET - INSPIRE themes, version 1.0</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-06-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external.theme.inspire-theme">geonetwork.thesaurus.external.theme.inspire-theme</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>gebührenpflichtig</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">gebührenpflichtig</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="license" /> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_RestrictionCode" codeListValue="license" /> + </gmd:useConstraints> + <gmd:otherConstraints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>keine Einschränkung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">keine Einschränkung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <che:legislationConstraints> + <che:CHE_MD_Legislation gco:isoType="gmd:MD_Legislation"> + <che:country> + <gmd:Country codeList="http://www.isotc211.org/2005/resources/codeList.xml#Country" codeListValue="LI" /> + </che:country> + <che:legislationType> + <che:CHE_CI_LegislationCode codeList="#CHE_CI_LegislationCode" codeListValue="nationalDecree" /> + </che:legislationType> + <che:title> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Verordnung vom 30. August 2011 über die Gebühren für die Nutzung der Geodateninfrastruktur Liechtenstein</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Verordnung vom 30. August 2011 über die Gebühren für die Nutzung der Geodateninfrastruktur Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2011-08-30</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="creation" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </che:title> + </che:CHE_MD_Legislation> + </che:legislationConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_SpatialRepresentationTypeCode" codeListValue="vector" /> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>500</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gco:CharacterString>ger</gco:CharacterString> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_CharacterSetCode" /> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>climatologyMeteorologyAtmosphere</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + + <!-- XLink migration --> + <gmd:extent xlink:href="http://www.geocat.ch:80/geonetwork/srv/deu/xml.extent.get?wfs=default&amp;format=gmd_complete&amp;typename=gn:countries&amp;id=1&amp;extentTypeCode=true"/> + <gmd:extent xlink:href="http://www.geocat.ch:80/geonetwork/srv/deu/xml.extent.get?wfs=default&amp;format=gmd_complete&amp;typename=gn:countries&amp;id=14&amp;extentTypeCode=true"/> + <gmd:extent xlink:href="http://www.geocat.ch:80/geonetwork/srv/deu/xml.extent.get?wfs=default&amp;format=gmd_complete&amp;typename=gn:countries&amp;id=0&amp;extentTypeCode=true"/> + <gmd:extent xlink:href="http://www.geocat.ch:80/geonetwork/srv/deu/xml.extent.get?wfs=default&amp;format=gmd_complete&amp;typename=gn:kantoneBB&amp;id=14&amp;extentTypeCode=true"/> + <gmd:extent xlink:href="http://www.geocat.ch:80/geonetwork/srv/deu/xml.extent.get?wfs=default&amp;format=gmd_complete&amp;typename=gn:kantoneBB&amp;id=1&amp;extentTypeCode=true"/> + <gmd:extent xlink:href="http://www.geocat.ch:80/geonetwork/srv/deu/xml.extent.get?wfs=default&amp;format=gmd_complete&amp;typename=gn:kantoneBB&amp;id=0&amp;extentTypeCode=true"/> + <gmd:extent xlink:href="http://www.geocat.ch:80/geonetwork/srv/deu/xml.extent.get?wfs=default&amp;format=gmd_complete&amp;typename=gn:gemeindenBB&amp;id=1151.0&amp;extentTypeCode=true"/> + + <gmd:extent xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:EX_Extent> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Liechtenstein</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>true</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N10285"> + <gml:surfaceMember> + <gml:Polygon gml:id="N1028A"> + <gml:exterior> + <gml:LinearRing> + <gml:posList /> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + + + <gmd:geographicElement> + <gmd:EX_GeographicDescription> + <gmd:geographicIdentifier> + <gmd:MD_Identifier> + <gmd:code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Liechtenstein</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Liechtenstein</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:MD_Identifier> + </gmd:geographicIdentifier> + </gmd:EX_GeographicDescription> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <gmd:polygon> + <gml:MultiSurface gml:id="N264e552faa2249cd91ad2ca203ffb2f6"> + <gml:surfaceMember> + <gml:Polygon gml:id="N264e552faa2249cd91ad2ca203ffb2f6.1"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>9.536 47.266 9.537 47.266 9.538 47.266 9.539 47.266 9.54 47.265 9.54 47.264 9.54 47.263 9.54 47.262 9.539 47.262 9.54 47.262 9.54 47.261 9.543 47.26 9.543 47.259 9.544 47.259 9.544 47.258 9.545 47.258 9.546 47.258 9.548 47.257 9.549 47.257 9.55 47.256 9.551 47.256 9.552 47.255 9.553 47.254 9.554 47.253 9.555 47.253 9.556 47.253 9.557 47.252 9.557 47.251 9.558 47.251 9.56 47.251 9.56 47.25 9.561 47.249 9.562 47.249 9.562 47.248 9.562 47.247 9.563 47.246 9.564 47.246 9.567 47.243 9.567 47.242 9.567 47.241 9.566 47.24 9.566 47.239 9.565 47.238 9.564 47.237 9.562 47.237 9.562 47.236 9.561 47.235 9.56 47.235 9.56 47.234 9.559 47.233 9.558 47.233 9.558 47.232 9.558 47.231 9.557 47.231 9.557 47.23 9.556 47.23 9.556 47.229 9.555 47.229 9.554 47.227 9.555 47.227 9.553 47.226 9.553 47.225 9.552 47.225 9.553 47.225 9.552 47.224 9.553 47.224 9.554 47.224 9.555 47.224 9.555 47.223 9.556 47.223 9.557 47.223 9.558 47.224 9.559 47.224 9.56 47.224 9.561 47.223 9.562 47.223 9.563 47.222 9.563 47.221 9.564 47.221 9.565 47.221 9.566 47.22 9.567 47.22 9.568 47.22 9.569 47.22 9.569 47.219 9.57 47.218 9.571 47.218 9.571 47.217 9.572 47.216 9.573 47.216 9.573 47.215 9.574 47.215 9.576 47.214 9.577 47.212 9.577 47.211 9.578 47.21 9.578 47.209 9.579 47.209 9.58 47.208 9.581 47.208 9.582 47.207 9.582 47.206 9.584 47.206 9.585 47.205 9.583 47.203 9.582 47.202 9.582 47.201 9.581 47.2 9.581 47.199 9.581 47.198 9.58 47.197 9.58 47.196 9.579 47.196 9.579 47.195 9.577 47.194 9.577 47.193 9.576 47.193 9.574 47.191 9.573 47.191 9.573 47.188 9.573 47.187 9.574 47.186 9.574 47.185 9.573 47.184 9.574 47.183 9.574 47.182 9.574 47.18 9.574 47.179 9.574 47.178 9.573 47.177 9.574 47.177 9.573 47.177 9.574 47.177 9.573 47.176 9.572 47.175 9.571 47.175 9.57 47.175 9.568 47.174 9.568 47.173 9.567 47.173 9.566 47.172 9.565 47.171 9.565 47.17 9.566 47.17 9.567 47.17 9.568 47.17 9.569 47.17 9.57 47.17 9.571 47.17 9.573 47.17 9.575 47.17 9.576 47.17 9.577 47.171 9.578 47.171 9.579 47.171 9.582 47.169 9.584 47.168 9.589 47.166 9.591 47.165 9.592 47.164 9.597 47.163 9.598 47.162 9.599 47.161 9.601 47.159 9.601 47.158 9.6 47.157 9.601 47.156 9.602 47.156 9.602 47.155 9.603 47.154 9.603 47.153 9.603 47.152 9.603 47.151 9.605 47.15 9.605 47.149 9.606 47.149 9.608 47.148 9.609 47.148 9.61 47.148 9.611 47.147 9.612 47.147 9.614 47.148 9.615 47.148 9.617 47.149 9.618 47.149 9.618 47.15 9.619 47.15 9.619 47.151 9.62 47.151 9.62 47.152 9.621 47.152 9.622 47.151 9.621 47.151 9.621 47.15 9.622 47.15 9.623 47.149 9.623 47.148 9.623 47.147 9.624 47.147 9.624 47.146 9.625 47.146 9.626 47.146 9.624 47.143 9.623 47.143 9.623 47.142 9.623 47.141 9.625 47.139 9.625 47.138 9.624 47.136 9.624 47.135 9.625 47.134 9.625 47.133 9.625 47.132 9.626 47.132 9.626 47.131 9.628 47.131 9.629 47.131 9.63 47.131 9.63 47.13 9.631 47.13 9.631 47.129 9.632 47.129 9.633 47.129 9.634 47.128 9.635 47.128 9.634 47.127 9.633 47.127 9.633 47.125 9.632 47.124 9.631 47.124 9.63 47.123 9.628 47.122 9.628 47.121 9.627 47.121 9.626 47.12 9.626 47.119 9.625 47.119 9.625 47.118 9.625 47.117 9.625 47.116 9.625 47.115 9.624 47.114 9.624 47.113 9.623 47.113 9.623 47.112 9.621 47.111 9.621 47.11 9.622 47.109 9.622 47.108 9.623 47.108 9.625 47.108 9.626 47.108 9.627 47.108 9.628 47.108 9.629 47.108 9.628 47.107 9.628 47.106 9.629 47.105 9.63 47.105 9.631 47.104 9.632 47.103 9.633 47.103 9.633 47.102 9.634 47.102 9.634 47.101 9.635 47.1 9.635 47.099 9.636 47.097 9.636 47.096 9.636 47.095 9.636 47.093 9.635 47.092 9.635 47.091 9.633 47.086 9.633 47.085 9.633 47.083 9.629 47.083 9.626 47.083 9.623 47.083 9.623 47.082 9.621 47.08 9.619 47.078 9.618 47.078 9.617 47.079 9.616 47.079 9.615 47.079 9.614 47.079 9.613 47.079 9.612 47.079 9.611 47.079 9.611 47.078 9.612 47.078 9.611 47.077 9.611 47.076 9.611 47.075 9.61 47.075 9.611 47.075 9.611 47.074 9.612 47.074 9.612 47.073 9.613 47.073 9.613 47.072 9.613 47.071 9.613 47.07 9.613 47.069 9.613 47.068 9.612 47.068 9.611 47.067 9.611 47.066 9.611 47.065 9.612 47.065 9.612 47.064 9.611 47.064 9.61 47.063 9.609 47.062 9.607 47.061 9.606 47.061 9.605 47.061 9.604 47.062 9.603 47.062 9.603 47.061 9.602 47.061 9.601 47.061 9.601 47.06 9.6 47.06 9.6 47.059 9.598 47.059 9.597 47.059 9.596 47.058 9.595 47.058 9.594 47.057 9.593 47.057 9.592 47.057 9.591 47.057 9.59 47.056 9.589 47.056 9.589 47.055 9.588 47.055 9.587 47.055 9.586 47.054 9.585 47.054 9.584 47.054 9.583 47.054 9.583 47.053 9.582 47.053 9.581 47.053 9.58 47.053 9.579 47.053 9.578 47.053 9.577 47.053 9.576 47.053 9.575 47.053 9.574 47.053 9.573 47.053 9.572 47.052 9.571 47.052 9.57 47.052 9.569 47.052 9.568 47.052 9.567 47.051 9.566 47.051 9.565 47.051 9.564 47.051 9.564 47.05 9.563 47.05 9.562 47.049 9.561 47.049 9.56 47.049 9.559 47.048 9.558 47.048 9.557 47.049 9.556 47.049 9.556 47.05 9.555 47.05 9.554 47.05 9.554 47.051 9.554 47.052 9.553 47.053 9.554 47.053 9.553 47.054 9.553 47.055 9.553 47.057 9.552 47.058 9.552 47.059 9.551 47.059 9.55 47.06 9.549 47.061 9.548 47.061 9.548 47.062 9.547 47.062 9.546 47.062 9.545 47.062 9.544 47.063 9.543 47.064 9.542 47.064 9.541 47.064 9.54 47.065 9.538 47.065 9.537 47.065 9.536 47.064 9.535 47.064 9.534 47.064 9.533 47.063 9.532 47.063 9.531 47.063 9.521 47.061 9.517 47.06 9.516 47.06 9.515 47.059 9.515 47.058 9.514 47.057 9.512 47.057 9.503 47.056 9.502 47.057 9.501 47.057 9.5 47.057 9.5 47.056 9.499 47.055 9.5 47.054 9.497 47.054 9.495 47.056 9.493 47.057 9.492 47.056 9.491 47.056 9.49 47.055 9.49 47.054 9.488 47.053 9.486 47.05 9.486 47.049 9.484 47.049 9.483 47.051 9.483 47.052 9.482 47.053 9.482 47.055 9.482 47.056 9.481 47.056 9.48 47.055 9.479 47.056 9.477 47.055 9.476 47.053 9.477 47.052 9.476 47.052 9.472 47.06 9.472 47.062 9.472 47.063 9.472 47.064 9.472 47.065 9.473 47.066 9.474 47.066 9.475 47.067 9.476 47.067 9.477 47.068 9.479 47.069 9.482 47.07 9.488 47.072 9.491 47.073 9.493 47.074 9.494 47.075 9.499 47.078 9.505 47.081 9.508 47.083 9.511 47.084 9.513 47.085 9.514 47.086 9.515 47.087 9.516 47.088 9.516 47.089 9.518 47.093 9.518 47.094 9.519 47.095 9.519 47.097 9.52 47.098 9.52 47.1 9.519 47.102 9.519 47.104 9.519 47.106 9.518 47.107 9.516 47.115 9.516 47.116 9.515 47.122 9.514 47.126 9.512 47.13 9.512 47.132 9.511 47.134 9.51 47.136 9.51 47.137 9.509 47.14 9.508 47.141 9.507 47.142 9.506 47.144 9.503 47.147 9.501 47.148 9.5 47.15 9.499 47.151 9.497 47.154 9.495 47.157 9.494 47.159 9.492 47.162 9.491 47.163 9.491 47.165 9.49 47.166 9.489 47.169 9.489 47.171 9.488 47.173 9.488 47.174 9.488 47.175 9.487 47.177 9.487 47.178 9.486 47.179 9.486 47.181 9.486 47.183 9.487 47.186 9.487 47.188 9.488 47.19 9.488 47.191 9.489 47.193 9.489 47.194 9.49 47.196 9.49 47.198 9.491 47.199 9.492 47.2 9.493 47.202 9.494 47.203 9.494 47.204 9.496 47.206 9.497 47.207 9.499 47.21 9.5 47.211 9.5 47.212 9.502 47.22 9.504 47.224 9.51 47.232 9.511 47.232 9.52 47.243 9.521 47.245 9.53 47.263 9.53 47.269 9.53 47.27 9.531 47.271 9.532 47.269 9.533 47.268 9.534 47.268 9.536 47.266</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:extentTypeCode> + <gco:Boolean>1</gco:Boolean> + </gmd:extentTypeCode> + <!--native coords: 754425.0,212925.0,766777.0,237635.0--> + <gmd:westBoundLongitude> + <gco:Decimal>9.472</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.636</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>47.048</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.271</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="local://xml.format.get?id=42" xlink:role="" xlink:show="embed"> + <gmd:MD_Format xmlns:gco="http://www.isotc211.org/2005/gco"> + <gmd:name> + <gco:CharacterString>PDF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>INTERLIS</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>1</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>DXF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xmlns:xlink="http://www.w3.org/1999/xlink"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Amt für Bau und Infrastruktur</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Amt für Bau und Infrastruktur</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+423 236 60 72</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>+423 236 60 79</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Vaduz</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>9490</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>LI</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>vermessung@llv.li</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Städtle</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>38</gco:CharacterString> + </che:streetNumber> + <che:postBox> + <gco:CharacterString>684</gco:CharacterString> + </che:postBox> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">http://www.abi.llv.li</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>8:00-11:30 und 13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact" /> + </gmd:role> + <che:individualLastName> + <gco:CharacterString>Fachbereich Vermessung und Geoinformation</gco:CharacterString> + </che:individualLastName> + <che:organisationAcronym xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>ABI (LLV)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">ABI (LLV)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">ABI</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.gdi.llv.li/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geodatenportal der Liechtensteinische Landesverwaltung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geodatenportal der Liechtensteinische Landesverwaltung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geodatenportal</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geodatenportal</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.llv.li/#/1627/datenausgabe</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString> + </gmd:protocol> + <gmd:name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Homepage ABI, Datenausgabestelle</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Homepage ABI, Datenausgabestelle</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Datenausgabestelle der Liechteinsteinischen Landesverwaltung</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Datenausgabestelle der Liechteinsteinischen Landesverwaltung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="information" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <!--Replaced by attachement API--> + <gmd:URL>https://tc-geocat.int.bgdi.ch:443/geonetwork/srv/eng//resources.get?uuid=0dff304b-d90c-4f9c-bd9d-f3c315a128c2&amp;fname=test 8978éé.image&amp;access=public</gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gmx:MimeFileType xmlns:gmx="http://www.isotc211.org/2005/gmx" type="" /> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Internet Download der Daten im Rahmen eines Geodatenabonnements</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Internet Download der Daten im Rahmen eines Geodatenabonnements</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Téléchargement des données dans le cadre d'un abonnement aux géodonnées</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage> + <!--Replaced by attachement API--> + <gmd:URL>https://tc-geocat.int.bgdi.ch:443/geonetwork/srv/eng/resources.get?uuid=0dff304b-d90c-4f9c-bd9d-f3c315a128c2&amp;fname=test 8978éé.image&amp;access=public</gmd:URL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString> + </gmd:protocol> + <gmd:name> + <gmx:MimeFileType xmlns:gmx="http://www.isotc211.org/2005/gmx" type="" /> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Internet Download der Daten im Rahmen eines Geodatenabonnements</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Internet Download der Daten im Rahmen eines Geodatenabonnements</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Téléchargement des données dans le cadre d'un abonnement aux géodonnées</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_OnLineFunctionCode" codeListValue="download" /> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + + </gmd:MD_Distribution> + </gmd:distributionInfo> + <gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeListValue="dataset" codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_ScopeCode" /> + </gmd:level> + <gmd:levelDescription> + <gmd:MD_ScopeDescription> + <gmd:other> + <gco:CharacterString>Alle Ebenen</gco:CharacterString> + </gmd:other> + </gmd:MD_ScopeDescription> + </gmd:levelDescription> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:report> + <gmd:DQ_DomainConsistency> + <gmd:result> + <gmd:DQ_ConformanceResult> + <gmd:specification> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>VERORDNUNG (EG) Nr. 1089/2010 DER KOMMISSION vom 23. November 2010 zur Durchführung der Richtlinie 2007/2/EG des Europäischen Parlaments und des Rates hinsichtlich der Interoperabilität von Geodatensätzen und -diensten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">VERORDNUNG (EG) Nr. 1089/2010 DER KOMMISSION vom 23. November 2010 zur Durchführung der Richtlinie 2007/2/EG des Europäischen Parlaments und des Rates hinsichtlich der Interoperabilität von Geodatensätzen und -diensten</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">REGOLAMENTO (UE) N. 1089/2010 DELLA COMMISSIONE del 23 novembre 2010 recante attuazione della direttiva 2007/2/CE del Parlamento europeo e del Consiglio per quanto riguarda l'interoperabilità dei set di dati territoriali e dei servizi di dati territoriali</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Règlement (UE) n o 1089/2010 de la commission du 23 novembre 2010 portant modalités d'application de la directive 2007/2/ce du Parlement Européen et du conseil en ce qui concerne l'interopérabilité des séries et des services de données géographiques</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2010-12-08</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_DateTypeCode" codeListValue="publication" /> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:specification> + <gmd:explanation> + <gco:CharacterString>nicht geprüft</gco:CharacterString> + </gmd:explanation> + <gmd:pass> + <gco:Boolean>0</gco:Boolean> + </gmd:pass> + </gmd:DQ_ConformanceResult> + </gmd:result> + </gmd:DQ_DomainConsistency> + </gmd:report> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- wie wurden die Daten erfasst ---</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- wie wurden die Daten erfasst ---</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo> + <gmd:metadataMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_MaintenanceFrequencyCode" codeListValue="asNeeded" /> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:metadataMaintenance> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspiredataset-noresourceidentifier.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspiredataset-noresourceidentifier.xml new file mode 100644 index 00000000000..c10f813b9be --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspiredataset-noresourceidentifier.xml @@ -0,0 +1,72 @@ +<che:CHE_MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gsr="http://www.isotc211.org/2005/gsr" + xmlns:gmi="http://www.isotc211.org/2005/gmi" + xmlns:xlink="http://www.w3.org/1999/xlink" + gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>norid-02a0e24c-4269-48a4-9501-564d66be075c</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:language> + <gmd:identificationInfo> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Carte des dangers géologiques par processus détaillé</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Carte des dangers géologiques par processus détaillé</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geologische Gefahrenkarte nach Teilprozess</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Secteurs des dangers géologiques</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Secteurs des dangers géologiques</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">geologische Gefahrengebiete</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2022-07-27</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="lastRevision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>geoscientificInformation</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>geoscientificInformation_NaturalHazards</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <che:basicGeodataID> + <gco:CharacterString>166.1</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="fédéral" codeList="#basicGeodataIDTypeCode"/> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspiredataset.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspiredataset.xml new file mode 100644 index 00000000000..6bafd8ab1b4 --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspiredataset.xml @@ -0,0 +1,1608 @@ +<che:CHE_MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gsr="http://www.isotc211.org/2005/gsr" + xmlns:gmi="http://www.isotc211.org/2005/gmi" + xmlns:xlink="http://www.w3.org/1999/xlink" + gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>02a0e24c-4269-48a4-9501-564d66be075c</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset"/> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:hierarchyLevelName> + <gmd:contact xlink:href="local://srv/api/registries/entries/d8d920c8-cc8c-47b7-ba1b-2b039ad0f4b3?process=*//gmd:CI_RoleCode/@codeListValue~principalInvestigator&amp;lang=fre,ger,ita,eng,roh" + xlink:show="embed"/> + <gmd:contact xlink:href="local://srv/api/registries/entries/d8d920c8-cc8c-47b7-ba1b-2b039ad0f4b3?lang=fre,ger,ita,eng,roh&amp;process=*//gmd:CI_RoleCode/@codeListValue~distributor" + xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Canton du Valais - Service de la géoinformation (SGI) - CC GEO</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Canton du Valais - Service de la géoinformation (SGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Wallis - Dienststelle für Geoinformation (DGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Canton du Valais - Service de la géoinformation (SGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Kanton Wallis - Dienststelle für Geoinformation (DGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Kanton Wallis - Dienststelle für Geoinformation (DGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CC GEO</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 27 606 28 00</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Sion</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>1950</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>sitvs@admin.vs.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue du Scex</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>4</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://www.geo.vs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geo.vs.ch/de/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://geo.vs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://www.geo.vs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">https://www.geo.vs.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="distributor"/> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Service de la géoinformation (SGI)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service de la géoinformation (SGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Dienststelle für Geoinformation (DGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Service de la géoinformation (SGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Dienststelle für Geoinformation (DGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Dienststelle für Geoinformation (DGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2022-10-20T12:21:53.567Z</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:dataSetURI> + <gco:CharacterString>https://www.vs.ch/web/sdana/instabilites-de-terrain</gco:CharacterString> + </gmd:dataSetURI> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="RM"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="roh"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeListValue="utf8" + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:spatialRepresentationInfo> + <gmd:MD_VectorSpatialRepresentation> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_GeometricObjectTypeCode" + codeListValue="surface"/> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer>170</gco:Integer> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_GeometricObjectTypeCode" + codeListValue="surface"/> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer>796</gco:Integer> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_GeometricObjectTypeCode" + codeListValue="surface"/> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer>908</gco:Integer> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_GeometricObjectTypeCode" + codeListValue="surface"/> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer>1306</gco:Integer> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + <gmd:geometricObjects> + <gmd:MD_GeometricObjects> + <gmd:geometricObjectType> + <gmd:MD_GeometricObjectTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_GeometricObjectTypeCode" + codeListValue="surface"/> + </gmd:geometricObjectType> + <gmd:geometricObjectCount> + <gco:Integer>7199</gco:Integer> + </gmd:geometricObjectCount> + </gmd:MD_GeometricObjects> + </gmd:geometricObjects> + </gmd:MD_VectorSpatialRepresentation> + </gmd:spatialRepresentationInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CH1903+_MN95</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">CH1903+_MN95</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CH1903+_LV95</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + <gmd:codeSpace> + <gco:CharacterString>EPSG:2056</gco:CharacterString> + </gmd:codeSpace> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Carte des dangers géologiques par processus détaillé</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Carte des dangers géologiques par processus détaillé</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geologische Gefahrenkarte nach Teilprozess</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:alternateTitle xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Secteurs des dangers géologiques</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Secteurs des dangers géologiques</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">geologische Gefahrengebiete</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:alternateTitle> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2010-08-31</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="creation"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2022-07-27</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2022-07-27</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="lastRevision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gco:CharacterString>130, 228, 279, 280, 281, 332</gco:CharacterString> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + <gmd:citedResponsibleParty xlink:href="local://srv/api/registries/entries/2f2fbdd0-0582-4c4a-ab47-65f79a80bf01?lang=fre,ger,ita,eng,roh&amp;process=gmd:role/gmd:CI_RoleCode/@codeListValue~custodian&amp;schema=iso19139.che"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Canton du Valais - Service des dangers naturels (SDANA) - Dangers naturels</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Canton du Valais - Service des dangers naturels (SDANA) - Dangers naturels</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Wallis - Dienststelle Naturgefahren (DNAGE) - Naturgefahren</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Dangers naturels</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Dangers naturels</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Naturgefahren</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 27 606 35 20</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Sion</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>1950</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>sdana@admin.vs.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue des Creusets</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>5</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://www.vs.ch/sdana</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://www.vs.ch/sdana</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.vs.ch/de/web/sdana/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType" gco:nilReason="missing"> + <gco:CharacterString/> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType" gco:nilReason="missing"> + <gco:CharacterString/> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="custodian"/> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString/> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString/> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Service des dangers naturels (SDANA)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service des dangers naturels (SDANA)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Dienststelle Naturgefahren (DNAGE)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:citedResponsibleParty> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Inventaire géographique des zones exposées à des dangers géologiques par processus détaillé (chute de blocs, éboulement, glissement de terrain, effondrement et coulées boueuse).</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Inventaire géographique des zones exposées à des dangers géologiques par processus détaillé (chute de blocs, éboulement, glissement de terrain, effondrement et coulées boueuse).</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geografische Inventar der Gebiete, die natürlichen geologischen Gefahren ausgesetzt sind, nach Teilprozess (Stein- / Blockschlag, Fels- / Bergsturz, Rutschung, Hangmure, Eissturz, Einsturz, Absenkung).</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Cartographie des dangers, détermination du degré de danger; utilisation dans l'aménagement du territoire pour l'octroi de permis de construire, dans le cadre de la gestion des risques naturels.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Cartographie des dangers, détermination du degré de danger; utilisation dans l'aménagement du territoire pour l'octroi de permis de construire, dans le cadre de la gestion des risques naturels.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Naturgefahrenkartierung, Bestimmung der Gefahrenstufe; Verwendung in der Raumplanung für die Erteilung von Baubewilligungen und das Naturrisikomanagement.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ProgressCode" + codeListValue="onGoing"/> + </gmd:status> + <!-- + Check Resource / Responsible organization + <gmd:pointOfContact xlink:href="local://srv/api/registries/entries/2f2fbdd0-0582-4c4a-ab47-65f79a80bf01?lang=fre,ger,ita,eng,roh&amp;process=gmd:role/gmd:CI_RoleCode/@codeListValue~custodian&amp;schema=iso19139.che"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Canton du Valais - Service des dangers naturels (SDANA) - Dangers naturels</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Canton du Valais - Service des dangers naturels (SDANA) - Dangers naturels</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Wallis - Dienststelle Naturgefahren (DNAGE) - Naturgefahren</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Dangers naturels</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Dangers naturels</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Naturgefahren</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 27 606 35 20</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Sion</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>1950</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>sdana@admin.vs.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue des Creusets</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>5</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://www.vs.ch/sdana</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://www.vs.ch/sdana</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.vs.ch/de/web/sdana/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType" gco:nilReason="missing"> + <gco:CharacterString/> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType" gco:nilReason="missing"> + <gco:CharacterString/> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="custodian"/> + </gmd:role> + <che:individualFirstName> + <gco:CharacterString/> + </che:individualFirstName> + <che:individualLastName> + <gco:CharacterString/> + </che:individualLastName> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Service des dangers naturels (SDANA)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service des dangers naturels (SDANA)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Dienststelle Naturgefahren (DNAGE)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact>--> + <gmd:resourceMaintenance> + <che:CHE_MD_MaintenanceInformation gco:isoType="gmd:MD_MaintenanceInformation"> + <gmd:maintenanceAndUpdateFrequency> + <gmd:MD_MaintenanceFrequencyCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_MaintenanceFrequencyCode" + codeListValue="irregular"/> + </gmd:maintenanceAndUpdateFrequency> + </che:CHE_MD_MaintenanceInformation> + </gmd:resourceMaintenance> + <gmd:graphicOverview> + <gmd:MD_BrowseGraphic> + <gmd:fileName> + <gco:CharacterString>https://www.geocat.ch:443/geonetwork/srv/fre//resources.get?uuid=02a0e24c-4269-48a4-9501-564d66be075c&amp;fname=Secteurs_danger_DAGEO.png</gco:CharacterString> + </gmd:fileName> + <gmd:fileDescription xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>large_thumbnail</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">large_thumbnail</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:fileDescription> + <gmd:fileType> + <gco:CharacterString>png</gco:CharacterString> + </gmd:fileType> + </gmd:MD_BrowseGraphic> + </gmd:graphicOverview> + <gmd:resourceFormat xlink:href="local://srv/api/registries/entries/07909ba7-b8e0-4944-90b4-570e99d85a57?lang=fre,ger,ita,eng,roh&amp;" + xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Enterprise Geodatabase</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:resourceFormat> + <gmd:descriptiveKeywords xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.gemet-theme&amp;id=http%3A%2F%2Fwww.eionet.europa.eu%2Fgemet%2Ftheme%2F32&amp;lang=fre,ger,ita,eng,roh"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>catastrophes, accidents, risques</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">catastrophes, accidents, risques</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Katastrophen, Unfälle, Risiken</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">disastri, incidenti, rischi</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">disasters, accidents, risk</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET themes</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2009-09-22</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.gemet-theme"> + geonetwork.thesaurus.external.theme.gemet-theme</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.httpinspireeceuropaeutheme-theme&amp;id=http%3A%2F%2Frdfdata.eionet.europa.eu%2Finspirethemes%2Fthemes%2F25&amp;lang=fre,ger,ita,eng,roh"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Zones à risque naturel</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Zones à risque naturel</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gebiete mit naturbedingten Risiken</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Zone a rischio naturale</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Natural risk zones</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET - INSPIRE themes, version 1.0</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2008-06-01</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.inspire-theme"> + geonetwork.thesaurus.external.theme.inspire-theme</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.gemet&amp;id=http%3A%2F%2Fwww.eionet.europa.eu%2Fgemet%2Fconcept%2F3650%2Chttp%3A%2F%2Fwww.eionet.europa.eu%2Fgemet%2Fconcept%2F5013%2Chttp%3A%2F%2Fwww.eionet.europa.eu%2Fgemet%2Fconcept%2F3852&amp;lang=fre,ger,ita,eng,roh"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>géologie</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">géologie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geologie</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">geologia</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">geology</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>cartographie (cartes)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">cartographie (cartes)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kartierung</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">mappatura</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">mapping</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>danger</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">danger</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gefahren</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">pericoli</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">hazard</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2018-08-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.gemet"> + geonetwork.thesaurus.external.theme.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=local.theme.geocat.ch&amp;id=http%3A%2F%2Fgeocat.ch%2Fconcept%2391%2Chttp%3A%2F%2Fgeocat.ch%2Fconcept%23e6485c01-fe69-485e-b194-035f682463db&amp;lang=fre,ger,ita,eng,roh"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>carte des dangers</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">carte des dangers</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gefahrenkarte</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">carta dei pericoli</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">hazard map</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>opendata.swiss</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2022-10-11</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://localhost:8080/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch"> + geonetwork.thesaurus.local.theme.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:resourceConstraints> + <gmd:MD_Constraints> + <gmd:useLimitation xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Il n'est pas possible de garantir l'exactitude, l'exhaustivité, la fiabilité et l'actualité des données. Toutes les données sont par conséquent dépourvues de foi publique.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Il n'est pas possible de garantir l'exactitude, l'exhaustivité, la fiabilité et l'actualité des données. Toutes les données sont par conséquent dépourvues de foi publique.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Die Richtigkeit, Vollständigkeit, Zuverlässigkeit und Aktualität der Daten kann nicht garantiert werden. Die Daten sind somit nicht rechtsverbindlich.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + </gmd:MD_Constraints> + </gmd:resourceConstraints> + <gmd:resourceConstraints> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Géodonnées accessibles au public (niveau A selon l'OGéo)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Géodonnées accessibles au public (niveau A selon l'OGéo)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Die Geodaten sind öffentlich zugänglich (Zugangsberechtigungsstufe A nach KGeoIG)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Les conditions générales d'utilisation des géodonnées du Canton du Valais font foi (https://www.vs.ch/fr/web/guest/information-legale).</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Les conditions générales d'utilisation des géodonnées du Canton du Valais font foi (https://www.vs.ch/fr/web/guest/information-legale).</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Es gelten die Nutzungsbedingungen für Geodaten des Kantons Wallis (https://www.vs.ch/de/web/guest/rechtliches).</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </gmd:resourceConstraints> + + <gmd:resourceConstraints> + <gmd:MD_SecurityConstraints> + <gmd:classification> + <gmd:MD_ClassificationCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ClassificationCode" codeListValue="restricted"/> + </gmd:classification> + </gmd:MD_SecurityConstraints> + </gmd:resourceConstraints> + + <gmd:resourceConstraints> + <gmd:MD_Constraints/> + </gmd:resourceConstraints> + + <gmd:resourceConstraints/> + + <gmd:spatialRepresentationType> + <gmd:MD_SpatialRepresentationTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_SpatialRepresentationTypeCode" + codeListValue="vector"/> + </gmd:spatialRepresentationType> + <gmd:spatialResolution> + <gmd:MD_Resolution> + <gmd:equivalentScale> + <gmd:MD_RepresentativeFraction> + <gmd:denominator> + <gco:Integer>10000</gco:Integer> + </gmd:denominator> + </gmd:MD_RepresentativeFraction> + </gmd:equivalentScale> + </gmd:MD_Resolution> + </gmd:spatialResolution> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:language> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterSet> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>geoscientificInformation</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:topicCategory> + <gmd:MD_TopicCategoryCode>geoscientificInformation_NaturalHazards</gmd:MD_TopicCategoryCode> + </gmd:topicCategory> + <gmd:environmentDescription xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>S:\Géodonnées VS\F3 Dangers naturels\Danger géologique.lyr</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">S:\Géodonnées VS\F3 Dangers naturels\Danger géologique.lyr</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">S:\Geodaten VS\F3 Naturbedingte Risiken\geologische Gefahr.lyr</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:environmentDescription> + <gmd:extent xlink:href="local://srv/api/registries/entries/geocatch-subtpl-extent-kantonsgebiet-23?lang=fre,ger,ita,eng,roh&amp;" + xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Canton du Valais (VS)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Canton du Valais (VS)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Wallis (VS)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Cantone del Vallese (VS)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Canton of Valais (VS)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Chantun Vallais (VS)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal>6.770442</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>8.478160</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>45.858680</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>46.654008</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:polygon> + <gml:MultiSurface xmlns="http://www.opengis.net/gml/3.2" gml:id="d119470e77" srsDimension="2"> + <gml:surfaceMember> + <gml:Polygon gml:id="d119470e79"> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.4328037 46.5429376 8.4350984 46.5401017 8.4395539 46.5406293 8.4452736 46.5369173 8.4579574 46.5334127 8.4649734 46.5356167 8.4734418 46.5285228 8.4776735 46.5276025 8.4781598 46.5250971 8.4728195 46.5232385 8.4603018 46.5111886 8.4517429 46.5078196 8.4429137 46.4954291 8.4316097 46.4970218 8.4195714 46.4926282 8.4143076 46.4947247 8.4110159 46.4927737 8.4010438 46.4923638 8.3987586 46.4942454 8.3922931 46.4947317 8.3946615 46.4849958 8.3859018 46.4756231 8.3923949 46.4679489 8.3853488 46.4655788 8.3857525 46.46186 8.3822668 46.4598019 8.384717 46.4521585 8.379003 46.450803 8.3752945 46.4531265 8.366936 46.4519225 8.355762 46.446963 8.352464 46.441643 8.325441 46.425714 8.3149635 46.4236315 8.3074915 46.425851 8.2988965 46.417438 8.298948 46.414246 8.288934 46.4081095 8.3035475 46.4024505 8.3066035 46.402026 8.3096725 46.4040245 8.3157325 46.3989655 8.317292 46.394 8.3141565 46.389825 8.3186947 46.3864446 8.3149465 46.383949 8.3128995 46.377066 8.3000135 46.3740745 8.2897935 46.3691385 8.2842825 46.3636305 8.273075 46.366862 8.2637725 46.364023 8.260755 46.360849 8.265034 46.357109 8.2658795 46.3518435 8.2599275 46.3486625 8.2628835 46.3459665 8.2529435 46.3464415 8.2500425 46.340758 8.235424 46.340364 8.2239955 46.334448 8.225024 46.3328605 8.221613 46.3302465 8.22507 46.3264105 8.214654 46.319662 8.2149275 46.316228 8.2112405 46.312589 8.212012 46.309277 8.2053895 46.3060225 8.1987505 46.3022505 8.192956 46.304233 8.178897 46.2973895 8.1614215 46.295884 8.1470015 46.3015375 8.141117 46.301929 8.1375635 46.301767 8.1288565 46.2947535 8.120857 46.2918735 8.113563 46.2811435 8.105455 46.279647 8.1004975 46.273701 8.085928 46.2666175 8.0860575 46.2621135 8.080412 46.260629 8.086245 46.254283 8.1013505 46.2524125 8.1016175 46.2494685 8.1101545 46.2495045 8.113034 46.238738 8.1153275 46.236003 8.120479 46.2360315 8.1242735 46.229622 8.1388775 46.226148 8.1435255 46.2115955 8.1513925 46.202821 8.153295 46.1911035 8.1655095 46.1822275 8.1651559 46.1768906 8.1585815 46.174064 8.1498785 46.162503 8.1497415 46.1569375 8.1553445 46.147631 8.1443895 46.136823 8.125187 46.135272 8.1154155 46.130346 8.113807 46.1174395 8.108233 46.1116285 8.099867 46.11099 8.0971445 46.1084075 8.081798 46.10545 8.069219 46.1059955 8.0543095 46.1012955 8.0491265 46.1022755 8.0430585 46.0999255 8.0343476 46.1008406 8.0339015 46.095251 8.029584 46.0896005 8.029099 46.0809215 8.022531 46.0747085 8.021662 46.069366 8.024564 46.0675445 8.0238735 46.062984 8.0354145 46.044045 8.0220525 46.0389655 8.0118915 46.03121 8.017501 46.0247045 8.0107585 46.0188535 8.0132475 46.0158635 8.012413 46.01197 8.001084 46.012211 7.993937 45.9998735 7.9890945 45.9959335 7.977114 45.9994535 7.957335 45.996073 7.9494915 45.9976065 7.9326335 45.9959785 7.9086896 45.9969673 7.893849 45.978635 7.877425 45.97386 7.8818115 45.964009 7.8748915 45.957932 7.878907 45.9543695 7.8772065 45.9491135 7.8703745 45.9473635 7.8685 45.9363415 7.8770243 45.9270917 7.8730735 45.920466 7.8663385 45.9195725 7.8635763 45.9166995 7.8585005 45.9208695 7.8367205 45.9217245 7.831447 45.924964 7.8203905 45.92696 7.7995019 45.9173909 7.793984 45.9200005 7.790813 45.924949 7.7765605 45.9310665 7.769268 45.9371175 7.7477515 45.9410085 7.745829 45.934878 7.736871 45.928299 7.7350975 45.9239905 7.7204805 45.92379 7.7163335 45.9277345 7.7126735 45.928228 7.711274 45.932909 7.7073705 45.9347755 7.70977 45.9481555 7.6996915 45.9540255 7.6876185 45.9549075 7.67963 45.957772 7.676995 45.9650475 7.6681735 45.9739855 7.657467 45.976632 7.6395005 45.9701115 7.619635 45.9723685 7.6100033 45.9693909 7.588791 45.9705165 7.5817275 45.974389 7.5786075 45.9860125 7.574703 45.987574 7.561997 45.9856875 7.550134 45.9865565 7.5456985 45.9837665 7.541537 45.976177 7.546722 45.9631395 7.542764 45.9569425 7.538434 45.954946 7.5354645 45.9568615 7.5279785 45.9564935 7.5176275 45.9623245 7.5075315 45.957968 7.499186 45.9624185 7.4934395 45.9556885 7.487446 45.95581 7.477937 45.952407 7.4714595 45.94719 7.4749315 45.9366275 7.471644 45.9340595 7.458734 45.935557 7.4558995 45.932148 7.4446205 45.9317465 7.434417 45.920225 7.4270565 45.915402 7.410806 45.9087115 7.405508 45.9090885 7.401733 45.911475 7.397883 45.908473 7.3971965 45.904861 7.3863375 45.8971555 7.3823845 45.8965045 7.3660675 45.904138 7.3612165 45.9033275 7.3564495 45.907242 7.3564625 45.9106425 7.350536 45.9115895 7.344303 45.9152405 7.3307235 45.9105165 7.323765 45.9102295 7.318112 45.911672 7.3161745 45.9165795 7.301557 45.9172215 7.2945123 45.9217959 7.285315 45.9157505 7.2767715 45.900668 7.271476 45.8998515 7.2568775 45.888218 7.2531435 45.8884655 7.2494865 45.893134 7.24054 45.890064 7.228292 45.89202 7.225684 45.889768 7.2164395 45.8887795 7.2157005 45.883872 7.206093 45.880181 7.203609 45.8764775 7.200118 45.8755135 7.1977005 45.870343 7.2008235 45.8630825 7.1965885 45.8602745 7.1906025 45.8586795 7.1789075 45.863512 7.1752145 45.862855 7.161742 45.8714995 7.164099 45.8766845 7.1535435 45.8792495 7.1352765 45.8727095 7.131419 45.866735 7.117904 45.8591925 7.101175 45.8592705 7.092143 45.872066 7.095292 45.8758335 7.0799395 45.885293 7.0764615 45.890179 7.0766055 45.895182 7.064193 45.899928 7.0644555 45.909366 7.0605835 45.913383 7.053107 45.915546 7.044886 45.922413 7.041839 45.9309505 7.035672 45.9384115 7.038539 45.944797 7.0376 45.954273 7.018369 45.9601745 7.00905 45.969391 7.010733 45.9733045 7.020972 45.9762495 7.0222415 45.980541 7.015547 45.9867095 7.012056 45.9873545 7.010531 45.9972765 7.005619 46.0012095 6.999714 45.999138 6.984753 46.005127 6.980931 46.0202485 6.971083 46.025795 6.966569 46.031189 6.962906 46.0305365 6.949742 46.051731 6.943008 46.0509565 6.935878 46.055134 6.937628 46.0640375 6.933153 46.066723 6.928431 46.064171 6.923767 46.064724 6.908989 46.0506405 6.894678 46.0480915 6.890639 46.0424615 6.882989 46.0444795 6.8756385 46.047695 6.873081 46.0555685 6.880819 46.069454 6.8914787 46.0738832 6.888369 46.0786705 6.891781 46.085045 6.8829555 46.095207 6.895308 46.108223 6.893258 46.112938 6.8994739 46.1240551 6.890419 46.1253815 6.882292 46.1229285 6.876219 46.125782 6.851372 46.1265525 6.843122 46.1289635 6.8415572 46.1320299 6.819328 46.131069 6.8152312 46.1293234 6.807956 46.136101 6.800939 46.1353835 6.797889 46.136799 6.790425 46.154316 6.792314 46.1631965 6.805625 46.172802 6.807331 46.177849 6.812422 46.1814195 6.806975 46.1964685 6.803564 46.2031365 6.810092 46.2138865 6.821667 46.223461 6.820745 46.229969 6.821311 46.2321775 6.830511 46.2342455 6.837019 46.240696 6.840119 46.2483065 6.8551085 46.25465 6.854517 46.258896 6.859961 46.265873 6.859064 46.2738 6.864808 46.280594 6.8589235 46.290432 6.854228 46.2923815 6.847147 46.289982 6.834328 46.299793 6.830533 46.299843 6.828208 46.3027765 6.830028 46.306053 6.819344 46.315338 6.806631 46.320652 6.8006585 46.319851 6.796461 46.332802 6.784403 46.3329315 6.7793195 46.344406 6.7746885 46.3472877 6.770442 46.3552055 6.771636 46.361183 6.780803 46.3664705 6.791786 46.367142 6.803819 46.3767015 6.805886 46.3831175 6.8017935 46.38694 6.8052021 46.3940707 6.821064 46.4271545 6.8588447 46.3942594 6.88386 46.3764831 6.8867674 46.3653874 6.8817959 46.3560073 6.8959961 46.3404956 6.9012631 46.3385147 6.9191844 46.3387784 6.9295241 46.3303694 6.9318167 46.32545 6.9320352 46.3243085 6.9361814 46.298644 6.9494863 46.291254 6.95928 46.2843512 6.9617191 46.2799536 6.9644738 46.2690803 6.9704594 46.2639148 6.9792325 46.257177 6.9869257 46.2521705 6.9890608 46.2448925 7.0024026 46.2303718 7.0032549 46.2259312 7.0045537 46.2223559 7.0096228 46.2205132 7.0132274 46.205405 7.0228603 46.1995038 7.0331624 46.1869654 7.0713295 46.2010214 7.0753557 46.1995322 7.0884918 46.2015708 7.0962917 46.2072533 7.1084046 46.2117874 7.1225769 46.2235134 7.1218699 46.2291787 7.1248064 46.2369052 7.1304617 46.2368666 7.1402405 46.2379457 7.1511735 46.244469 7.1552272 46.2527822 7.161861 46.2538782 7.1718364 46.2611258 7.1780004 46.2684897 7.1844981 46.2686844 7.1885228 46.2707175 7.1863389 46.2828478 7.1947985 46.285709 7.1938262 46.2883966 7.1969111 46.2891499 7.189371 46.2949986 7.1891094 46.3038768 7.2005571 46.3128253 7.221457 46.3292126 7.2336088 46.3265457 7.2533065 46.3305379 7.2620991 46.3381803 7.2601694 46.3443573 7.2623194 46.358223 7.2905929 46.3671424 7.2948849 46.3657716 7.2990538 46.3666494 7.310404 46.3751279 7.3128066 46.3703359 7.3080558 46.3519524 7.3152844 46.3438645 7.3374519 46.3465674 7.3478369 46.3506872 7.3535406 46.350197 7.3590701 46.3532865 7.3626509 46.3566984 7.3680674 46.3576555 7.3781938 46.364561 7.3823512 46.3652829 7.3996773 46.3766248 7.4016805 46.3742686 7.4171568 46.3802189 7.427724 46.3806792 7.4380443 46.3861942 7.4432438 46.3829017 7.4572818 46.3815241 7.462128 46.3762338 7.4638054 46.3780056 7.4699922 46.378229 7.4736479 46.3836613 7.4793946 46.3852876 7.4835253 46.3815619 7.4868954 46.3707298 7.494499 46.3719318 7.4993313 46.3698963 7.5022949 46.3704345 7.5072529 46.375838 7.5262782 46.3744847 7.5384353 46.3774433 7.5406827 46.3837832 7.5553824 46.3889776 7.5467994 46.3940326 7.5407553 46.3948568 7.5286733 46.4004982 7.5339815 46.4097684 7.5547846 46.4135723 7.5623775 46.4124309 7.5771247 46.4170647 7.5834725 46.4172637 7.5863766 46.4137786 7.5941604 46.4114024 7.6000637 46.4153973 7.5984035 46.4214267 7.6063864 46.4243838 7.6102111 46.4285701 7.6096512 46.43673 7.6205735 46.4384222 7.6261004 46.4450521 7.6896157 46.4245187 7.6930249 46.424718 7.7050802 46.4159916 7.7123794 46.4138963 7.7240716 46.4212889 7.7364704 46.4240818 7.7442346 46.4283791 7.7680732 46.439953 7.7782317 46.4434494 7.7801657 46.446808 7.7975227 46.4580712 7.8241371 46.466548 7.8274573 46.470252 7.8434111 46.4778607 7.8766472 46.4785022 7.8909077 46.483394 7.8953658 46.4823507 7.9052128 46.4855942 7.9058391 46.4872468 7.9111234 46.4868562 7.9152895 46.4911388 7.9232654 46.4916718 7.9235176 46.4951071 7.932768 46.4981978 7.9345992 46.5032905 7.9420013 46.5077559 7.9535345 46.5080461 7.9646198 46.5131859 7.9676918 46.5128568 7.9729114 46.5242121 7.9688334 46.5270019 7.9627999 46.5392372 7.9677366 46.5414903 7.9696591 46.5447648 7.9796657 46.5480461 7.9860021 46.5480158 7.9927858 46.5560162 7.9973345 46.5583149 8.0012574 46.5580707 8.0157494 46.5632967 8.0303869 46.5624749 8.0427813 46.5570213 8.0539185 46.5559001 8.0614298 46.5513614 8.0627036 46.5532705 8.0757837 46.5555819 8.085205 46.5517145 8.0936121 46.5514326 8.1006006 46.5481806 8.1139708 46.5465277 8.1257441 46.5372454 8.1499067 46.5317893 8.1743417 46.531391 8.174503 46.5240762 8.1807888 46.5205539 8.1846108 46.5208078 8.2001701 46.524429 8.2054367 46.523593 8.225766 46.5270345 8.2412304 46.5265756 8.2580613 46.5294422 8.264351 46.533328 8.2833557 46.5382803 8.2874061 46.543018 8.3027656 46.5455293 8.3127482 46.552497 8.3170146 46.5590673 8.3366106 46.5610824 8.3504065 46.5686554 8.3516061 46.5717225 8.3605278 46.577795 8.3645291 46.5828993 8.3607876 46.5861503 8.3635058 46.5924976 8.3617346 46.6011213 8.3705046 46.6139504 8.368403 46.6245921 8.3726257 46.6332029 8.3803334 46.634093 8.3907536 46.644379 8.3946066 46.6458311 8.3990103 46.6540076 8.4103334 46.6529996 8.4181704 46.6522342 8.4219845 46.6478832 8.4187463 46.6357212 8.4223011 46.6272431 8.4174205 46.610831 8.4138705 46.6050858 8.4080457 46.6012672 8.4103009 46.5967499 8.4061951 46.5860973 8.4101722 46.5808636 8.4100292 46.5772573 8.4169123 46.5711888 8.4206813 46.5610715 8.4236083 46.5599397 8.4246343 46.5511144 8.4290068 46.5434925 8.4328037 46.5429376</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </gmd:EX_Extent> + </gmd:extent> + <che:basicGeodataID> + <gco:CharacterString>166.1</gco:CharacterString> + </che:basicGeodataID> + <che:basicGeodataIDType> + <che:basicGeodataIDTypeCode codeListValue="fédéral" codeList="#basicGeodataIDTypeCode"/> + </che:basicGeodataIDType> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + <gmd:contentInfo> + <che:CHE_MD_FeatureCatalogueDescription gco:isoType="gmd:MD_FeatureCatalogueDescription"> + <gmd:includedWithDataset> + <gco:Boolean>0</gco:Boolean> + </gmd:includedWithDataset> + <gmd:featureCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Catalogue d'objets : Carte des dangers géologiques par processus détaillé, géodonnées de base No. 166.1</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Catalogue d'objets : Carte des dangers géologiques par processus détaillé, géodonnées de base No. 166.1</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Catalogue d'objets : Cartes de danger géologique, géodonnées de base No. 166.1</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2021-06-08</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:featureCatalogueCitation> + <che:dataModel xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://www.vs.ch/documents/17311/472431/Catalogue_Objet_Geologie_Danger_DANAT_SFCEP</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.vs.ch/documents/17311/472431/Catalogue_Objet_Geologie_Danger_DANAT_SFCEP</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </che:dataModel> + <che:modelType> + <che:CHE_MD_modelTypeCode codeListValue="FeatureDescription" codeList="#CHE_MD_modelTypeCode"/> + </che:modelType> + </che:CHE_MD_FeatureCatalogueDescription> + </gmd:contentInfo> + <gmd:distributionInfo xmlns:java="java:org.fao.geonet.util.XslUtil"> + <gmd:MD_Distribution> + <gmd:distributionFormat xlink:href="local://srv/api/registries/entries/5533f00e-57f9-4f4d-b2a2-560fee4b32ad?lang=fre,ger,ita,eng,roh&amp;process=" + xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>ESRI Shapefile</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat xlink:href="local://srv/api/registries/entries/388d711d-c1ea-49ea-a02d-5868b1174b55?lang=fre,ger,ita,eng,roh&amp;" + xlink:show="embed"> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>autres formats sur demande / andere Formate auf Anfrage</gco:CharacterString> + </gmd:name> + <gmd:version gco:nilReason="missing"> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributor> + <gmd:MD_Distributor> + <gmd:distributorContact xlink:href="local://srv/api/registries/entries/d8d920c8-cc8c-47b7-ba1b-2b039ad0f4b3?lang=fre,ger,ita,eng,roh&amp;process=*//gmd:CI_RoleCode/@codeListValue~distributor" + xlink:show="embed"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Canton du Valais - Service de la géoinformation (SGI) - CC GEO</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Canton du Valais - Service de la géoinformation (SGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Wallis - Dienststelle für Geoinformation (DGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Canton du Valais - Service de la géoinformation (SGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Kanton Wallis - Dienststelle für Geoinformation (DGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Kanton Wallis - Dienststelle für Geoinformation (DGI) - CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CC GEO</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">CC GEO</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>+41 27 606 28 00</gco:CharacterString> + </gmd:voice> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Sion</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>1950</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>sitvs@admin.vs.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Rue du Scex</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>4</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://www.geo.vs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geo.vs.ch/de/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://geo.vs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://www.geo.vs.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">https://www.geo.vs.ch</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="distributor"/> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Service de la géoinformation (SGI)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Service de la géoinformation (SGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Dienststelle für Geoinformation (DGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Service de la géoinformation (SGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Dienststelle für Geoinformation (DGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#RM">Dienststelle für Geoinformation (DGI)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:distributorContact> + </gmd:MD_Distributor> + </gmd:distributor> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://sitonline.vs.ch/dangers/dangers_geologiques/fr/</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://sitonline.vs.ch/dangers/dangers_geologiques/fr/</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://sitonline.vs.ch/dangers/dangers_geologiques/de/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Géoportail du Canton du Valais</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Géoportail du Canton du Valais</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoportal Kanton Wallis</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Géoportail du Canton du Valais</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Géoportail du Canton du Valais</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geoportal Kanton Wallis</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://geodienste.ch/downloads/gefahrenkarten</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://geodienste.ch/downloads/gefahrenkarten</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geodienste.ch/downloads/gefahrenkarten</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://geodienste.ch/downloads/gefahrenkarten</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://geodienste.ch/downloads/gefahrenkarten</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#RM">https://geodienste.ch/downloads/gefahrenkarten</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:DOWNLOAD-APP</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>geodienste.ch le portail intercantonal</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">geodienste.ch le portail intercantonal</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">geodienste.ch das interkantonale Portal</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Téléchargement de géodonnées conformes au modèle minimal (divers formats)</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Téléchargement de géodonnées conformes au modèle minimal (divers formats)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Download von modellkonforme Geodaten (verschiedene Formate)</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="download"/> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://www.geocat.ch/geonetwork/srv/fre/md.viewer#/full_view/02a0e24c-4269-48a4-9501-564d66be075c</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://www.geocat.ch/geonetwork/srv/fre/md.viewer#/full_view/02a0e24c-4269-48a4-9501-564d66be075c</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.geocat.ch/geonetwork/srv/ger/md.viewer#/full_view/02a0e24c-4269-48a4-9501-564d66be075c</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>WWW:LINK</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Landing Page</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Landing Page</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Landing Page</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Landing Page pour opendata</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Landing Page pour opendata</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Landing Page für opendata</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:function> + <gmd:CI_OnLineFunctionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode" + codeListValue="information"/> + </gmd:function> + </gmd:CI_OnlineResource> + </gmd:onLine> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://opendata.swiss/fr/perma/02a0e24c-4269-48a4-9501-564d66be075c@canton-du-valais-cc-geo</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://opendata.swiss/fr/perma/02a0e24c-4269-48a4-9501-564d66be075c@canton-du-valais-cc-geo</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://opendata.swiss/de/perma/02a0e24c-4269-48a4-9501-564d66be075c@canton-du-valais-cc-geo</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT">https://opendata.swiss/it/perma/02a0e24c-4269-48a4-9501-564d66be075c@canton-du-valais-cc-geo</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#EN">https://opendata.swiss/en/perma/02a0e24c-4269-48a4-9501-564d66be075c@canton-du-valais-cc-geo</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OPENDATA:SWISS</gco:CharacterString> + </gmd:protocol> + <gmd:name xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Permalink opendata.swiss</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Permalink opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Permalink opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Permalink opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Permalink opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:name> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Permalink opendata.swiss</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Permalink opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Permalink opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Permalink opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Permalink opendata.swiss</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> + <!--<gmd:dataQualityInfo> + <gmd:DQ_DataQuality> + <gmd:scope> + <gmd:DQ_Scope> + <gmd:level> + <gmd:MD_ScopeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode" + codeListValue="dataset"/> + </gmd:level> + </gmd:DQ_Scope> + </gmd:scope> + <gmd:lineage> + <gmd:LI_Lineage> + <gmd:statement xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Cartes élaborées sur la base d'études réalisées par des bureaux spécialisés.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Cartes élaborées sur la base d'études réalisées par des bureaux spécialisés.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Die Gefahrenkarten basieren auf Studien, die durch spezalisierte Privatbüros erstellt werden.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:statement> + <gmd:source> + <gmd:LI_Source> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Etudes de terrain et modélisations</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Etudes de terrain et modélisations</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Feldstudien und Modellierung</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:scaleDenominator/> + </gmd:LI_Source> + </gmd:source> + </gmd:LI_Lineage> + </gmd:lineage> + </gmd:DQ_DataQuality> + </gmd:dataQualityInfo>--> + <gmd:portrayalCatalogueInfo> + <che:CHE_MD_PortrayalCatalogueReference> + <gmd:portrayalCatalogueCitation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Modèle de représentation : Carte des dangers géologiques par processus détaillé, géodonnées de base No. 166.1</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Modèle de représentation : Carte des dangers géologiques par processus détaillé, géodonnées de base No. 166.1</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Modèle de représentation : Cartes de danger géologique, géodonnées de base No. 166.1</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2021-06-08</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:portrayalCatalogueCitation> + <che:portrayalCatalogueURL xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#FR">https://www.vs.ch/documents/17311/535148/Modele_Representation_Geologie_Danger_DANAT_SFCEP</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://www.vs.ch/documents/17311/535148/Modele_Representation_Geologie_Danger_DANAT_SFCEP</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </che:portrayalCatalogueURL> + </che:CHE_MD_PortrayalCatalogueReference> + </gmd:portrayalCatalogueInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspireservice.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspireservice.xml new file mode 100644 index 00000000000..9faa7d8d9f4 --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/inspireservice.xml @@ -0,0 +1,971 @@ +<che:CHE_MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gsr="http://www.isotc211.org/2005/gsr" + xmlns:gmi="http://www.isotc211.org/2005/gmi" + xmlns:xlink="http://www.w3.org/1999/xlink" + gco:isoType="gmd:MD_Metadata"> + <gmd:fileIdentifier> + <gco:CharacterString>788688b4-4694-45a8-8397-fbb871456957</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode"/> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode"/> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact xlink:show="embed" xlink:title="rejected" + uuidref="9d0708c0-cd33-4c0d-93e3-25806ff595e0" + xlink:href="local://srv/api/registries/entries/9d0708c0-cd33-4c0d-93e3-25806ff595e0?lang=ger,fre,eng,ita&amp;process=gmd:role/gmd:CI_RoleCode/@codeListValue~pointOfContact"> + <che:CHE_CI_ResponsibleParty gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Koordination, Geo-Information und Services KOGIS, swisstopo</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Koordination, Geo-Information und Services KOGIS, swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Coordination, Services et Informations Géographiques (COSIG), swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Coordination, Geo-Information and Services (COGIS)</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Coordinazione, Servizi e Informazioni Geografiche COSIG, swisstopo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:positionName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Info</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Info</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Info</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Info</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Info</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:positionName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Wabern</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>3084</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>info@geo.admin.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Seftigenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>264</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="pointOfContact"/> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>KOGIS</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">KOGIS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">COSIG</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">COGIS</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">COSIG</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2021-03-01T20:57:46Z</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03_2</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:identificationInfo> + <srv:SV_ServiceIdentification> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Web access elevation service - Profile</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Web access elevation service - Profile</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2014-09-11</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Der Web Access Elevation Service ist ein Konstrukt, der aus zwei Diensten besteht. Einerseits kann mit diesem Dienst eine Höhe (spezifischer Punkt), andererseits ein Profil (Polylinie) abgefragt werden.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Der Web Access Elevation Service ist ein Konstrukt, der aus zwei Diensten besteht. Einerseits kann mit diesem Dienst eine Höhe (spezifischer Punkt), andererseits ein Profil (Polylinie) abgefragt werden.</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">This service allows to obtain elevation information for a point or a polyline.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:descriptiveKeywords xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=local.theme.geocat.ch&amp;id=http%3A%2F%2Fcustom.shared.obj.ch%2Fconcept%23ab642d3d-d74f-400c-bb01-81c6dde26247&amp;lang=ger,fre,eng,ita"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Geobasisdaten</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geobasisdaten</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">géodonnées de base</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">official geodata</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">geodati di base</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>geocat.ch</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2022-10-11</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://localhost:8080/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch"> + geonetwork.thesaurus.local.theme.geocat.ch</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.gemet&amp;id=http%3A%2F%2Fwww.eionet.europa.eu%2Fgemet%2Fconcept%2F7882&amp;lang=ger,fre,eng,ita"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Bodenprofil</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Bodenprofil</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">profil du sol</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">soil profile</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">profilo del suolo</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2018-08-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.gemet"> + geonetwork.thesaurus.external.theme.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.gemet&amp;id=http%3A%2F%2Fwww.eionet.europa.eu%2Fgemet%2Fconcept%2F14940&amp;lang=ger,fre,eng,ita"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Online-Dienst</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Online-Dienst</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">service en ligne</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">on-line service</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">servizi online</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2018-08-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.gemet"> + geonetwork.thesaurus.external.theme.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <gmd:descriptiveKeywords xlink:href="local://srv/api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=external.theme.gemet&amp;id=http%3A%2F%2Fwww.eionet.europa.eu%2Fgemet%2Fconcept%2F14891&amp;lang=ger,fre,eng,ita"> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Internet-Suchdienst</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Internet-Suchdienst</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">service de recherche sur Internet</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">internet search service</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">servizio di ricerca su internet</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2018-08-16</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.gemet"> + geonetwork.thesaurus.external.theme.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <srv:serviceType> + <gco:LocalName>OGC:WFS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion gco:nilReason="missing"> + <gco:CharacterString/> + </srv:serviceTypeVersion> + <srv:accessProperties> + <gmd:MD_StandardOrderProcess> + <gmd:fees> + <gco:CharacterString>kostenpflichtiger Dienst</gco:CharacterString> + </gmd:fees> + </gmd:MD_StandardOrderProcess> + </srv:accessProperties> + <srv:extent xlink:show="embed"> + <gmd:EX_Extent> + <gmd:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Schweiz</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal>5.9561</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>10.492</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>45.8208</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.8085</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:polygon> + <gml:MultiSurface gml:id="d15650e333" srsName="urn:ogc:def:crs:EPSG:6.6:4326"> + <gml:surfaceMember> + <gml:Polygon gml:id="d15650e335" srsName="urn:ogc:def:crs:EPSG:6.6:4326"> + <gml:exterior> + <gml:LinearRing> + <gml:posList srsDimension="2">8.618636280062189 47.798328041187226 8.56787059268036 47.80849031653919 8.577093946674179 47.78154246111659 8.47233861776203 47.76355797497301 8.455065631041458 47.722311814345446 8.404436103499194 47.6980658931737 8.420678058582851 47.68386724508964 8.406041372835235 47.67326624538944 8.465642563289116 47.657046396177655 8.473516903820634 47.63830875139124 8.47377354943927 47.64982681786528 8.53153733550567 47.645790051484376 8.527019949682812 47.66039665220734 8.561162233612038 47.67030556384074 8.57772174315698 47.661609940849786 8.606660520537638 47.67213087534437 8.628814936203561 47.64965465541575 8.595525170688925 47.64287525361706 8.604965451086363 47.614014554878615 8.582365156504727 47.59613554624983 8.562851078060614 47.59943365642401 8.574418263148113 47.611932177076056 8.557348283217841 47.624563321131475 8.5155431371234 47.63392155529526 8.50826143997628 47.617508989389805 8.456608992658868 47.60235713051562 8.466946886377844 47.58420397670145 8.494550028567366 47.58120269667622 8.464723759568331 47.572296917916404 8.329919976256582 47.57091999120696 8.291058622008187 47.60940338580198 8.226316200760033 47.60506563756038 8.20610723157161 47.62100330884502 8.165554248321154 47.59431133885296 8.109470311593165 47.58237600924243 8.089351964850312 47.557729457540454 7.959434724641459 47.55822951398472 7.943285510293138 47.54397800805704 7.9108693938456165 47.551705683172614 7.892564613604744 47.58727747027764 7.822754725301581 47.58794427672559 7.79567777463287 47.55744971447046 7.690432438290842 47.532342518283286 7.634101389336508 47.5611184239991 7.68597523022143 47.56562222712119 7.671759349410461 47.587364910725796 7.693585093853014 47.60053739431434 7.645820786022669 47.59697358327785 7.619069438692521 47.57683507782764 7.589043392140367 47.589883276722865 7.584832229543853 47.57566221295602 7.499242409600111 47.53983837278987 7.531478482956719 47.52772267455172 7.522117298287668 47.514237631682406 7.497820217803921 47.52123828222296 7.502002963324432 47.4904455827498 7.476013206573158 47.480015635948654 7.431955606481069 47.49613741094128 7.421238399727966 47.48018787324829 7.456060526114958 47.47193668226339 7.402984884743579 47.43551769915619 7.329826516842244 47.44143854194357 7.245589822906587 47.42030527865714 7.231950921281409 47.43905094310476 7.170422611308535 47.443460723314324 7.201084244608172 47.4938873837936 7.128017920051794 47.50359624552073 7.07487846863898 47.488173886311394 7.02440631942109 47.50423018487721 6.982913989984602 47.49427780736028 7.001549722447383 47.45375050148312 6.939185139165493 47.43371165076098 6.938598383301501 47.406486000241365 6.9136157258748305 47.40466658920951 6.879804040178304 47.35244694203452 7.017907065945778 47.37288947245541 7.048924158141252 47.36184927502698 7.056629952856535 47.33439858831955 7.0097375783705145 47.324373731449576 6.99657023890242 47.29613363037909 6.940739805667862 47.286512801498304 6.955476003651965 47.24298068647845 6.841324177048777 47.17140406945645 6.85882922967132 47.16568195336144 6.849971095849776 47.156465949642694 6.70357257950394 47.082174650431135 6.691786359952591 47.066416111810334 6.718461378141072 47.05079840619861 6.618143266981125 46.99189599798589 6.505956387161875 46.966146820187234 6.496691392405917 46.97418502332112 6.432741617713 46.928461912328 6.464449478140517 46.89042106846364 6.430987588050665 46.81233426246198 6.458433024166044 46.78831651700287 6.45221837155222 46.77414846801139 6.269427506827404 46.682725712627416 6.110947650261327 46.57666226842364 6.156467052215122 46.545257343131425 6.072812976871985 46.46575680335995 6.086229351446508 46.44315112168987 6.064010897253175 46.41622894753581 6.170141699544227 46.36643653900748 6.102351067071493 46.28485915938185 6.124297897236064 46.25113287216107 5.974396733614979 46.21475629783562 5.963682516909239 46.19697247300705 5.995204568388246 46.18289952907865 5.956069521017492 46.13209255153297 5.993965237605585 46.1444323236656 6.035707389117514 46.134768592104976 6.051904630456517 46.15127161259754 6.135525015192553 46.1411622091261 6.222315515656701 46.200793679783665 6.294448638144876 46.224933021417186 6.310266002994845 46.25618313461082 6.294862985616501 46.26460224547861 6.266492687877919 46.247702764935255 6.237731769350922 46.27662255114306 6.2488270556117484 46.301555642943995 6.219531970054035 46.31188182547415 6.252942575070233 46.36042395967063 6.3351759322163606 46.403720858633676 6.425606061199492 46.415809545223496 6.519091938541009 46.456370889544125 6.681846860958989 46.454337187519585 6.821053398359342 46.42715645466993 6.80612140503136 46.37978175319494 6.770430480619563 46.35520725968662 6.864796368536654 46.28059493910186 6.803551338547016 46.20313726121392 6.797875728973468 46.13679941341284 6.899461101896673 46.12405501255298 6.875624884290133 46.04769458763862 6.936958888816314 46.06475392596505 6.984739670853903 46.00512589066723 7.010517748155932 45.99727523378875 7.02331766662111 45.97923507746766 7.009036492811234 45.969389578899026 7.0375865186945425 45.954271378179804 7.10116105641905 45.85926806981525 7.153530024033257 45.8792469640808 7.196575100868563 45.86027168192092 7.216426452471276 45.88877675668897 7.25686467445303 45.888215079856074 7.294499936906213 45.92179303381962 7.386325475591452 45.8971520752183 7.471632761477441 45.93405592794558 7.49917516836143 45.96241496055923 7.542753362860713 45.956938751448824 7.550123663325103 45.98655288979896 7.578597324660013 45.986008763270476 7.588780734911999 45.970512625753194 7.664183705624053 45.97567184102979 7.720470556466393 45.92378530163087 7.74774186425704 45.9410037866379 7.799492314069325 45.91738580061996 7.820381132572822 45.92695489206747 7.863567125875551 45.916694135362974 7.877416359497318 45.973854914032835 7.90868131387385 45.99696223697685 7.989086684844114 45.99592806398439 8.012405458504649 46.011964548824814 8.035407366666643 46.04403963497282 8.021655018069469 46.06936083066837 8.03434091055798 46.100835562068 8.108226860685585 46.111623197259235 8.15533894129209 46.14762570339897 8.1655043077905 46.182222348321574 8.085923125730213 46.266613169296114 8.137559224804834 46.30176263902905 8.19874657552904 46.302245879403976 8.223992007005194 46.334443453757935 8.262880325859532 46.34596185865502 8.263769479347692 46.364018454506684 8.312896878585121 46.37706131228847 8.31573008859634 46.39896091911765 8.288931519111179 46.408105088148005 8.307489288086021 46.42584661719364 8.438527368842006 46.464290757969664 8.465943833402452 46.444360530049714 8.471170430478548 46.395917736041575 8.465354830887328 46.3337569076758 8.427736810628607 46.29829486852924 8.455877653797202 46.263749561607376 8.44452345393419 46.24887152713405 8.532440164203726 46.2182759741861 8.573603905633853 46.16449949367639 8.603003980635963 46.155361807545496 8.592893814082606 46.142962787941485 8.611855229127308 46.12166207818017 8.648027942322969 46.12331893486171 8.713933067906513 46.09726400731825 8.742327945288906 46.12221452228632 8.760224869505114 46.101409321028996 8.806033606475804 46.10127512703101 8.852111641732916 46.07563277978381 8.785903495193976 45.98906658196133 8.83163573392935 45.98795087725819 8.859926313589623 45.96622308066523 8.893751809035823 45.95900544706403 8.892728579478156 45.93300480233621 8.945297781425204 45.866968205714194 8.912142773729192 45.8304346390899 8.955769610915146 45.84289852719272 8.997483774502006 45.83493379655325 8.993910637235885 45.821959738865885 9.031385823521433 45.82082256578074 9.054803926010967 45.87355476222308 9.089023334053305 45.900651436796046 9.019192410310422 45.92843178827057 9.013961478669778 45.960537925353435 8.988989940111678 45.97033259582151 9.028458855403631 45.993616053244736 9.009523150716218 46.037278381355335 9.077124267255016 46.06408573030701 9.089614531330499 46.08700631137725 9.072516727156831 46.11809355555517 9.18381430436044 46.17036436748236 9.220907529926903 46.228884040822834 9.248532724961631 46.2337584441773 9.252119064852293 46.26738261882456 9.300143857339151 46.32644723736576 9.276075097439021 46.36780208217315 9.280479050876675 46.41305281681741 9.247005668586768 46.44678615112301 9.277900467916574 46.46099709725338 9.282743322943928 46.496686771527656 9.31105305289909 46.50412968988443 9.3642623875124 46.50905998568033 9.41079275262245 46.46678204735053 9.46356392619829 46.50886305327646 9.44910061822943 46.48436797948147 9.46540657498994 46.469638317105215 9.460817188613708 46.37596081472163 9.49642777760614 46.3640930922552 9.549532909355147 46.302368600781826 9.634972308593506 46.28611304538263 9.676516702545811 46.303037456585834 9.710150280926081 46.291723740749426 9.735843445975245 46.350301963621696 9.776940533645845 46.33500469531092 9.906846158625648 46.38095337517087 9.92479462436451 46.36589971008536 9.953197902396505 46.379144168128995 9.996770373176766 46.3509223116029 9.980225523988514 46.32313423325401 10.000201540080026 46.31306157855969 9.996020761645907 46.28475294145628 10.055442900648876 46.26578257678538 10.043675510369669 46.2297314166795 10.070599041575628 46.2171052266096 10.145955067255718 46.2304689678557 10.176530987761655 46.25826299537186 10.104280290319954 46.33365473421113 10.166689324436769 46.40763537345529 10.143206388796804 46.42826510315872 10.080479472361128 46.42102383978217 10.041980324044557 46.44260659106212 10.043961889824887 46.54034716834551 10.100224086298605 46.582836156313334 10.102363122861842 46.61070878617389 10.128469447478567 46.6054956666775 10.192775494650952 46.62592249853604 10.215330032577883 46.616928343752626 10.23921333993791 46.6353188402693 10.25890071444405 46.6104306079083 10.24360782591516 46.577789500033 10.28665148039486 46.57024076461276 10.295446840994824 46.54988111332233 10.41814201889505 46.5513070696182 10.452811512615277 46.53066979577374 10.471533723435515 46.542843289630895 10.49204697023045 46.61532860647244 10.446087008646872 46.64125895134314 10.40229923123607 46.636799623226466 10.38183357021253 46.68429449167919 10.416018981451804 46.70899147732758 10.401044145178135 46.73419568691604 10.442641549173869 46.75399912116051 10.422732277555758 46.78823140442506 10.466545959460248 46.835883458876005 10.489365042929572 46.93777943633981 10.428654892191995 46.95614281387419 10.42660356178734 46.97567593276695 10.384717076190457 46.99998175268559 10.346536763850605 46.98958186596045 10.309380680311342 46.95019580427852 10.31608248405364 46.92517363793228 10.240592626192742 46.93124750678623 10.232701477865424 46.8662951765022 10.10518252328492 46.840899296301004 10.087363131066091 46.86118028610515 10.051228954191027 46.86393996868578 10.017850125277395 46.90161283438517 9.876159653587491 46.9346271426637 9.89233677039094 46.99035737987737 9.876279470126962 47.02122512576961 9.836152681009427 47.01252925276027 9.6818747847077 47.06209472393484 9.559793980168495 47.048564177578086 9.53976203137949 47.06513836025374 9.47605754836401 47.051791560419495 9.520354745019704 47.100144138645156 9.485699818322189 47.18118174592512 9.52982440893429 47.26937655965808 9.605094098438395 47.35128619658008 9.673877802609905 47.38387007829264 9.644469117153596 47.43383198614037 9.65900886916082 47.452198530504326 9.609315761093125 47.47049285807741 9.594832124659362 47.463617873556075 9.561810253824111 47.49678220720803 9.558735549544537 47.54188968007406 9.495618632910682 47.551451919836246 9.394728868894411 47.6203237557997 9.256575460163239 47.658706145300805 9.175820581258344 47.653936796861416 9.0217960297447 47.6866206495513 8.895139429328957 47.64791298434522 8.850104495141643 47.68148537325168 8.872763336538343 47.704063901103346 8.818867117088336 47.71287268217626 8.806451789091943 47.738307887571246 8.769916383103759 47.71794942595403 8.809945384213805 47.693265109994314 8.78965059651218 47.67524009697216 8.727984177170743 47.69267806037326 8.736306681212012 47.716152557390444 8.71128216322703 47.730072756693325 8.741488516279945 47.74807571774925 8.726117569152375 47.76270437082401 8.692637802750196 47.75615797672254 8.657027034273217 47.80036738344582 8.65304325171765 47.77336674467828 8.627690969145133 47.75926077920138 8.618636280062189 47.798328041187226</gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:posList srsDimension="2">8.664335245856755 47.7133183576107 8.701562477574303 47.71517970401839 8.717719419944082 47.6907408075861 8.701588948539964 47.691933699712436 8.663349452144093 47.685903202374156 8.664335245856755 47.7133183576107</gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing> + <gml:posList srsDimension="2">8.958591215050722 45.96478419177836 8.977017576754331 45.982964354222844 8.97566528543358 45.96168010399086 8.958591215050722 45.96478419177836</gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </gmd:EX_Extent> + </srv:extent> + <srv:coupledResource> + <srv:SV_CoupledResource> + <srv:operationName> + <gco:CharacterString>Profile</gco:CharacterString> + </srv:operationName> + <srv:identifier> + <gco:CharacterString>3fab2ac3-4271-46b2-823e-ab4814c59d36</gco:CharacterString> + </srv:identifier> + <gco:ScopedName/> + </srv:SV_CoupledResource> + </srv:coupledResource> + <srv:coupledResource> + <srv:SV_CoupledResource> + <srv:operationName> + <gco:CharacterString>Profile</gco:CharacterString> + </srv:operationName> + <srv:identifier> + <gco:CharacterString>691cb471-c3b5-48ec-a107-d0ad612fa70b</gco:CharacterString> + </srv:identifier> + <gco:ScopedName/> + </srv:SV_CoupledResource> + </srv:coupledResource> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" + codeListValue="tight"/> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>Profile.json</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" + codeListValue="WebServices"/> + </srv:DCP> + <srv:parameters> + <srv:SV_Parameter> + <srv:name> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>geom</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">geom</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </srv:name> + <srv:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>A GeoJSON representation of a polyline (type = LineString).</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">A GeoJSON representation of a polyline (type = LineString).</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:description> + <srv:optionality xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>required</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">required</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:optionality> + <srv:repeatability> + <gco:Boolean>true</gco:Boolean> + </srv:repeatability> + <srv:valueType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </srv:valueType> + </srv:SV_Parameter> + </srv:parameters> + <srv:parameters> + <srv:SV_Parameter> + <srv:name> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>nb_points</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">nb_points</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </srv:name> + <srv:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>The number of points used for the polyline segmentation. Default “200”.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">The number of points used for the polyline segmentation. Default “200”.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:description> + <srv:optionality xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>optional</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">optional</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:optionality> + <srv:repeatability> + <gco:Boolean>true</gco:Boolean> + </srv:repeatability> + <srv:valueType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </srv:valueType> + </srv:SV_Parameter> + </srv:parameters> + <srv:parameters> + <srv:SV_Parameter> + <srv:name> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>offset</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">offset</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INTEGER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INTEGER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </srv:name> + <srv:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>The offset value (INTEGER) in order to use the exponential moving algorithm . For a given value the offset value specify the number of values before and after used to calculate the average.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">The offset value (INTEGER) in order to use the exponential moving algorithm . For a given value the offset value specify the number of values before and after used to calculate the average.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:description> + <srv:optionality xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>optional</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">optional</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:optionality> + <srv:repeatability> + <gco:Boolean>true</gco:Boolean> + </srv:repeatability> + <srv:valueType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INTEGER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INTEGER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </srv:valueType> + </srv:SV_Parameter> + </srv:parameters> + <srv:parameters> + <srv:SV_Parameter> + <srv:name> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>callback</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">callback</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </srv:name> + <srv:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Only available for profile.json. The name of the callback function.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Only available for profile.json. The name of the callback function.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:description> + <srv:optionality xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>optional</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">optional</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:optionality> + <srv:repeatability> + <gco:Boolean>true</gco:Boolean> + </srv:repeatability> + <srv:valueType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </srv:valueType> + </srv:SV_Parameter> + </srv:parameters> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://api3.geo.admin.ch/rest/services/profile.json</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://api3.geo.admin.ch/rest/services/profile.json</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>- Andere -</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>Profile.csw</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" + codeListValue="WebServices"/> + </srv:DCP> + <srv:parameters> + <srv:SV_Parameter> + <srv:name> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>elevation_models</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">elevation_models</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </srv:name> + <srv:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>A comma separated list of elevation models. Three elevation models are available DTM25, DTM2 (swissALTI3D) and COMB (a combination of DTM25 and DTM2). Default to “DTM25”.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">A comma separated list of elevation models. Three elevation models are available DTM25, DTM2 (swissALTI3D) and COMB (a combination of DTM25 and DTM2). Default to “DTM25”.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:description> + <srv:optionality xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>optional</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">optional</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:optionality> + <srv:repeatability> + <gco:Boolean>true</gco:Boolean> + </srv:repeatability> + <srv:valueType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </srv:valueType> + </srv:SV_Parameter> + </srv:parameters> + <srv:parameters> + <srv:SV_Parameter> + <srv:name> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>nb_points</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">nb_points</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </srv:name> + <srv:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>The number of points used for the polyline segmentation. Default “200”.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">The number of points used for the polyline segmentation. Default “200”.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:description> + <srv:optionality xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>optional</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">optional</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:optionality> + <srv:repeatability> + <gco:Boolean>true</gco:Boolean> + </srv:repeatability> + <srv:valueType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>CHARACTER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">CHARACTER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </srv:valueType> + </srv:SV_Parameter> + </srv:parameters> + <srv:parameters> + <srv:SV_Parameter> + <srv:name> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>offset</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">offset</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + <gco:attributeType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INTEGER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INTEGER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </gco:attributeType> + </srv:name> + <srv:description xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>The offset value (INTEGER) in order to use the exponential moving algorithm . For a given value the offset value specify the number of values before and after used to calculate the average.</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">The offset value (INTEGER) in order to use the exponential moving algorithm . For a given value the offset value specify the number of values before and after used to calculate the average.</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:description> + <srv:optionality xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>optional</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">optional</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </srv:optionality> + <srv:repeatability> + <gco:Boolean>true</gco:Boolean> + </srv:repeatability> + <srv:valueType> + <gco:TypeName> + <gco:aName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>INTEGER</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">INTEGER</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gco:aName> + </gco:TypeName> + </srv:valueType> + </srv:SV_Parameter> + </srv:parameters> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>https://api3.geo.admin.ch/rest/services/profile.csv</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://api3.geo.admin.ch/rest/services/profile.csv</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol gco:nilReason="missing"> + <gco:CharacterString/> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations/> + <srv:operatesOn uuidref="3fab2ac3-4271-46b2-823e-ab4814c59d36" + xlink:href="http://www.geocat.ch/geonetwork/srv/eng/csw?service=CSW&amp;request=GetRecordById&amp;version=2.0.2&amp;outputSchema=http://www.isotc211.org/2005/gmd&amp;elementSetName=full&amp;id=3fab2ac3-4271-46b2-823e-ab4814c59d36"/> + <srv:operatesOn uuidref="691cb471-c3b5-48ec-a107-d0ad612fa70b" + xlink:href="http://www.geocat.ch/geonetwork/srv/eng/csw?service=CSW&amp;request=GetRecordById&amp;version=2.0.2&amp;outputSchema=http://www.isotc211.org/2005/gmd&amp;elementSetName=full&amp;id=691cb471-c3b5-48ec-a107-d0ad612fa70b"/> + </srv:SV_ServiceIdentification> + </gmd:identificationInfo> +</che:CHE_MD_Metadata> diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/service.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/service.xml new file mode 100644 index 00000000000..495967f7dca --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/service.xml @@ -0,0 +1,734 @@ +<?xml version="1.0" encoding="UTF-8"?> +<che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + gco:isoType="gmd:MD_Metadata" + xsi:schemaLocation="http://www.geocat.ch/2008/che http://www.isotc211.org/2005/gmd&#xA; http://www.isotc211.org/2005/gmd/gmd.xsd http://www.isotc211.org/2005/srv&#xA; http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd&#xA; "> + <gmd:fileIdentifier> + <gco:CharacterString>b67ffd8b-f2a6-45fb-b3bf-1f905dfa39ab</gco:CharacterString> + </gmd:fileIdentifier> + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:language> + <gmd:characterSet> + <gmd:MD_CharacterSetCode codeListValue="utf8" + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode"/> + </gmd:characterSet> + <gmd:hierarchyLevel> + <gmd:MD_ScopeCode codeListValue="service" + codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode"/> + </gmd:hierarchyLevel> + <gmd:hierarchyLevelName> + <gco:CharacterString>Service</gco:CharacterString> + </gmd:hierarchyLevelName> + <gmd:contact> + <che:CHE_CI_ResponsibleParty xmlns:geonet="http://www.fao.org/geonetwork" + gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Thurgau, Amt für Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Thurgau, Amt für Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT"/> + </gmd:textGroup> + + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>0041 58 345 54 30</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>0041 58 345 54 31</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Frauenfeld</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>8510</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>agi@tg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Promenadenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>8</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN"/> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geoinformation.tg.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR"/> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT"/> + </che:URLGroup> + + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo-Fr: 8:00-12:00+13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="resourceProvider"/> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AGI</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT"/> + </gmd:textGroup> + + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:contact> + <gmd:dateStamp> + <gco:DateTime>2017-09-18T11:00:27</gco:DateTime> + </gmd:dateStamp> + <gmd:metadataStandardName> + <gco:CharacterString>GM03 2+</gco:CharacterString> + </gmd:metadataStandardName> + <gmd:metadataStandardVersion> + <gco:CharacterString>1.0</gco:CharacterString> + </gmd:metadataStandardVersion> + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="EN"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" + codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:21781</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:21781</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:referenceSystemInfo> + <gmd:MD_ReferenceSystem> + <gmd:referenceSystemIdentifier> + <gmd:RS_Identifier> + <gmd:code xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>EPSG:3785</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">EPSG:3785</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:code> + </gmd:RS_Identifier> + </gmd:referenceSystemIdentifier> + </gmd:MD_ReferenceSystem> + </gmd:referenceSystemInfo> + <gmd:identificationInfo> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date/> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue=""/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE"/> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ProgressCode" + codeListValue="completed"/> + </gmd:status> + <gmd:language gco:nilReason="missing"> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue=""/> + </gmd:language> + </che:CHE_MD_DataIdentification> + <che:CHE_SV_ServiceIdentification gco:isoType="srv:SV_ServiceIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Vorlage: Geodienste Kanton Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Vorlage: Geodienste Kanton Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2011-08-09</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="creation"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2011-08-09</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="revision"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + </gmd:CI_Citation> + </gmd:citation> + <gmd:abstract gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- kurze Beschreibung des Geodienstes --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- kurze Beschreibung des Geodienstes --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:abstract> + <gmd:purpose gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- z.B. Einbindung in Bundesportal --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- z.B. Einbindung in Bundesportal --</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:purpose> + <gmd:status> + <gmd:MD_ProgressCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ProgressCode" + codeListValue="completed"/> + </gmd:status> + <gmd:pointOfContact> + <che:CHE_CI_ResponsibleParty xmlns:geonet="http://www.fao.org/geonetwork" + gco:isoType="gmd:CI_ResponsibleParty"> + <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Kanton Thurgau, Amt für Geoinformation</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Kanton Thurgau, Amt für Geoinformation</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT"/> + </gmd:textGroup> + + </gmd:PT_FreeText> + </gmd:organisationName> + <gmd:contactInfo> + <gmd:CI_Contact> + <gmd:phone> + <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone"> + <gmd:voice> + <gco:CharacterString>0041 58 345 54 30</gco:CharacterString> + </gmd:voice> + <gmd:facsimile> + <gco:CharacterString>0041 58 345 54 31</gco:CharacterString> + </gmd:facsimile> + </che:CHE_CI_Telephone> + </gmd:phone> + <gmd:address> + <che:CHE_CI_Address gco:isoType="gmd:CI_Address"> + <gmd:city> + <gco:CharacterString>Frauenfeld</gco:CharacterString> + </gmd:city> + <gmd:postalCode> + <gco:CharacterString>8510</gco:CharacterString> + </gmd:postalCode> + <gmd:country> + <gco:CharacterString>CH</gco:CharacterString> + </gmd:country> + <gmd:electronicMailAddress> + <gco:CharacterString>agi@tg.ch</gco:CharacterString> + </gmd:electronicMailAddress> + <che:streetName> + <gco:CharacterString>Promenadenstrasse</gco:CharacterString> + </che:streetName> + <che:streetNumber> + <gco:CharacterString>8</gco:CharacterString> + </che:streetNumber> + </che:CHE_CI_Address> + </gmd:address> + <gmd:onlineResource> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#EN"/> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#DE">https://geoinformation.tg.ch</che:LocalisedURL> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#FR"/> + </che:URLGroup> + <che:URLGroup> + <che:LocalisedURL locale="#IT"/> + </che:URLGroup> + + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>text/html</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </gmd:onlineResource> + <gmd:hoursOfService> + <gco:CharacterString>Mo-Fr: 8:00-12:00+13:30-17:00</gco:CharacterString> + </gmd:hoursOfService> + </gmd:CI_Contact> + </gmd:contactInfo> + <gmd:role> + <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode" + codeListValue="resourceProvider"/> + </gmd:role> + <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>AGI</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">AGI</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR"/> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT"/> + </gmd:textGroup> + + </gmd:PT_FreeText> + </che:organisationAcronym> + </che:CHE_CI_ResponsibleParty> + </gmd:pointOfContact> + <gmd:descriptiveKeywords> + <gmd:MD_Keywords> + <gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType"> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Geographisches Informationssystem</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#FR">système d'information géographique</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#EN">geographic information system</gmd:LocalisedCharacterString> + </gmd:textGroup> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#IT">sistema informativo geografico</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:keyword> + <gmd:type> + <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode" + codeListValue="theme"/> + </gmd:type> + <gmd:thesaurusName> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>GEMET</gco:CharacterString> + </gmd:title> + <gmd:date> + <gmd:CI_Date> + <gmd:date> + <gco:Date>2017-08-03</gco:Date> + </gmd:date> + <gmd:dateType> + <gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" + codeListValue="publication"/> + </gmd:dateType> + </gmd:CI_Date> + </gmd:date> + <gmd:identifier> + <gmd:MD_Identifier> + <gmd:code> + <gmx:Anchor xlink:href="https://www.geocat.ch:443/geonetwork/srv/eng/thesaurus.download?ref=external.theme.gemet"> + geonetwork.thesaurus.external.theme.gemet</gmx:Anchor> + </gmd:code> + </gmd:MD_Identifier> + </gmd:identifier> + </gmd:CI_Citation> + </gmd:thesaurusName> + </gmd:MD_Keywords> + </gmd:descriptiveKeywords> + <srv:serviceType> + <gco:LocalName>OGC:WMS</gco:LocalName> + </srv:serviceType> + <srv:serviceTypeVersion> + <gco:CharacterString>1.1.1</gco:CharacterString> + </srv:serviceTypeVersion> + <srv:restrictions> + <che:CHE_MD_LegalConstraints gco:isoType="gmd:MD_LegalConstraints"> + <gmd:useLimitation gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:useLimitation> + <gmd:accessConstraints> + <gmd:MD_RestrictionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:accessConstraints> + <gmd:useConstraints> + <gmd:MD_RestrictionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_RestrictionCode" + codeListValue="otherRestrictions"/> + </gmd:useConstraints> + <gmd:otherConstraints gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + <gmd:otherConstraints gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">Gemäss Nutzungsanweisung betreffend Geodaten des Kanton Thurgau</gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:otherConstraints> + </che:CHE_MD_LegalConstraints> + </srv:restrictions> + <srv:extent> + <gmd:EX_Extent> + <gmd:description> + <gco:CharacterString>Thurgau</gco:CharacterString> + </gmd:description> + <gmd:geographicElement> + <gmd:EX_GeographicBoundingBox> + <gmd:westBoundLongitude> + <gco:Decimal>8.66226269153973</gco:Decimal> + </gmd:westBoundLongitude> + <gmd:eastBoundLongitude> + <gco:Decimal>9.513463310685305</gco:Decimal> + </gmd:eastBoundLongitude> + <gmd:southBoundLatitude> + <gco:Decimal>47.369272149184695</gco:Decimal> + </gmd:southBoundLatitude> + <gmd:northBoundLatitude> + <gco:Decimal>47.69763852617656</gco:Decimal> + </gmd:northBoundLatitude> + </gmd:EX_GeographicBoundingBox> + </gmd:geographicElement> + <gmd:geographicElement> + <gmd:EX_BoundingPolygon> + <gmd:polygon> + <gml:MultiSurface xmlns:gn="http://geonetwork-opensource.org" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:wfs="http://www.opengis.net/wfs" + xmlns:ogc="http://www.opengis.net/ogc" + xmlns:ows="http://www.opengis.net/ows" + srsDimension="2"> + <gml:surfaceMember> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:posList>9.4507 47.503381 9.450727 47.503352 9.450794 47.503264 9.450799 47.503257 9.450877 47.503198 9.450874 47.503161 9.45089 47.503118 9.451046 47.503009 9.451249 47.502946 9.451518 47.50289 9.451628 47.502851 9.452352 47.502541 9.452472 47.502505 9.452574 47.502509 9.452799 47.502455 9.453073 47.502388 9.453374 47.502338 9.453773 47.502291 9.454129 47.50226 9.454256 47.502245 9.454463 47.502179 9.454542 47.502126 9.454627 47.502113 9.454681 47.502127 9.454711 47.502218 9.454739 47.502165 9.454757 47.502108 9.454742 47.502051 9.454706 47.501992 9.454748 47.501946 9.454745 47.501908 9.454705 47.501881 9.454643 47.501871 9.454594 47.501888 9.454579 47.501747 9.454592 47.501724 9.454743 47.501661 9.454893 47.501643 9.455067 47.501631 9.45519 47.501655 9.455342 47.501732 9.455372 47.501721 9.455312 47.501676 9.455225 47.501639 9.455094 47.501554 9.455017 47.501434 9.455001 47.501386 9.454883 47.501271 9.454819 47.501153 9.45476 47.501092 9.454629 47.501083 9.454463 47.501058 9.454494 47.501019 9.454745 47.501037 9.454829 47.501066 9.45489 47.50114 9.45493 47.501226 9.455005 47.501295 9.455115 47.50134 9.45527 47.50137 9.455449 47.501372 9.455528 47.501353 9.455632 47.501307 9.455832 47.501286 9.455872 47.501293 9.456085 47.50145 9.456116 47.501449 9.45612 47.501432 9.455904 47.501288 9.455873 47.501215 9.45601 47.501185 9.456487 47.500962 9.456635 47.500892 9.457336 47.500603 9.45744 47.500616 9.457392 47.50075 9.457419 47.500749 9.457486 47.500588 9.457669 47.500523 9.45781 47.500496 9.45809 47.500382 9.458203 47.500259 9.458198 47.500167 9.458179 47.500069 9.458208 47.500063 9.458235 47.500058 9.458252 47.500115 9.458309 47.500169 9.458377 47.500206 9.458488 47.500203 9.458828 47.500102 9.459038 47.500015 9.45939 47.499864 9.459663 47.499729 9.459876 47.499636 9.459969 47.499615 9.460521 47.499455 9.460769 47.499386 9.460883 47.499301 9.461016 47.499267 9.461073 47.499279 9.461226 47.499223 9.462072 47.498974 9.462441 47.498866 9.462513 47.498866 9.462552 47.498905 9.462577 47.498884 9.462557 47.498826 9.462746 47.498757 9.463084 47.498677 9.463139 47.498693 9.4634 47.498791 9.463207 47.498885 9.463217 47.498894 9.46333 47.4989 9.463407 47.498931 9.46347 47.498987 9.463516 47.499033 9.463611 47.499043 9.463725 47.499003 9.464349 47.498669 9.464607 47.498654 9.464976 47.498626 9.465338 47.498646 9.465506 47.498691 9.465772 47.498753 9.465867 47.498781 9.465931 47.498769 9.465935 47.498726 9.465863 47.498651 9.465733 47.498588 9.465628 47.498586 9.465269 47.498523 9.464944 47.498512 9.464429 47.498547 9.464328 47.498537 9.464276 47.498186 9.466028 47.497856 9.466118 47.498018 9.466234 47.49801 9.46643 47.498442 9.46618 47.498496 9.466116 47.498436 9.46603 47.498446 9.465992 47.498476 9.466008 47.498521 9.466135 47.498588 9.466212 47.498609 9.466247 47.498591 9.466263 47.498634 9.466307 47.498645 9.466328 47.49861 9.466398 47.498612 9.466419 47.498674 9.466471 47.49866 9.466449 47.498611 9.466622 47.498561 9.466837 47.498483 9.467127 47.498392 9.467461 47.49825 9.467536 47.498216 9.467711 47.498133 9.468058 47.497969 9.468249 47.49786 9.468434 47.497708 9.468514 47.49759 9.468515 47.497588 9.468542 47.497548 9.468577 47.497474 9.468577 47.49742 9.468554 47.497318 9.468535 47.49725 9.468539 47.497248 9.468727 47.497177 9.468748 47.49721 9.468863 47.497167 9.469116 47.497084 9.469156 47.497127 9.469229 47.497147 9.469356 47.497123 9.469557 47.497032 9.469817 47.496895 9.470234 47.496659 9.470625 47.496617 9.470646 47.496459 9.470586 47.496457 9.470582 47.496589 9.470405 47.496584 9.470136 47.496578 9.470041 47.496561 9.470027 47.496515 9.470106 47.496403 9.470214 47.496191 9.470132 47.496164 9.470072 47.496144 9.470236 47.49597 9.470366 47.495865 9.470467 47.495758 9.47061 47.495785 9.470794 47.495831 9.470923 47.495854 9.471003 47.495913 9.471046 47.495894 9.471002 47.495862 9.471076 47.495801 9.470998 47.495755 9.470971 47.495713 9.470993 47.495653 9.471151 47.495522 9.471157 47.495517 9.471337 47.495369 9.471633 47.495177 9.471936 47.494953 9.472115 47.494817 9.472268 47.4946 9.472321 47.494556 9.472374 47.494428 9.472536 47.494268 9.473023 47.494021 9.473339 47.493909 9.47358 47.49382 9.473631 47.493785 9.473492 47.493751 9.473567 47.493679 9.473654 47.493714 9.47371 47.493705 9.473789 47.493612 9.47391 47.493497 9.474143 47.493418 9.474352 47.493287 9.474843 47.493071 9.474913 47.492975 9.474922 47.492915 9.475052 47.492831 9.475468 47.492674 9.475868 47.49258 9.475899 47.492568 9.476581 47.492307 9.476958 47.492197 9.477035 47.492198 9.477145 47.492187 9.477827 47.492007 9.478082 47.49197 9.478209 47.491921 9.478242 47.491879 9.478225 47.491819 9.477981 47.491662 9.477732 47.491502 9.47751 47.49136 9.477503 47.491356 9.477504 47.491354 9.477511 47.491345 9.477543 47.491303 9.475464 47.4904 9.474224 47.4899 9.472137 47.489029 9.468617 47.487551 9.467788 47.487186 9.466967 47.486782 9.465658 47.486106 9.465052 47.486942 9.465156 47.486972 9.465335 47.487103 9.465392 47.487149 9.46545 47.487209 9.46551 47.487311 9.465532 47.487411 9.465525 47.487512 9.465579 47.487604 9.465589 47.487655 9.465584 47.487709 9.465594 47.487752 9.46561 47.487784 9.465662 47.487848 9.465683 47.487888 9.465683 47.487933 9.465676 47.487966 9.465645 47.488038 9.465639 47.488083 9.465621 47.488122 9.465576 47.488191 9.465553 47.488242 9.46553 47.488278 9.465519 47.488311 9.465522 47.488331 9.465539 47.488367 9.465607 47.488429 9.465616 47.488495 9.465614 47.488594 9.46562 47.488621 9.465685 47.488705 9.465713 47.488762 9.465729 47.488809 9.465772 47.488973 9.465788 47.489 9.466012 47.489113 9.466072 47.489149 9.46615 47.489224 9.466353 47.489344 9.46647 47.489433 9.466516 47.48947 9.466692 47.489667 9.466804 47.489766 9.46689 47.489835 9.466984 47.489932 9.467009 47.489974 9.465942 47.490379 9.4643 47.491024 9.46412 47.490768 9.464066 47.490672 9.464024 47.490573 9.463946 47.490359 9.46391 47.490212 9.460458 47.491328 9.460359 47.491169 9.457401 47.491675 9.455869 47.491832 9.454301 47.491977 9.454299 47.492069 9.454259 47.492429 9.454147 47.492627 9.454114 47.492746 9.454108 47.492859 9.454143 47.492955 9.454182 47.492996 9.454476 47.493219 9.454683 47.493369 9.454828 47.493507 9.454957 47.493613 9.45211 47.49393 9.450704 47.494159 9.450758 47.494308 9.450789 47.494445 9.450811 47.494634 9.450919 47.494853 9.451062 47.49521 9.449444 47.495574 9.449776 47.49615 9.451645 47.498953 9.451449 47.499023 9.451394 47.499072 9.451051 47.499212 9.450712 47.499359 9.450057 47.499668 9.449722 47.499815 9.449364 47.499983 9.450508 47.501439 9.450633 47.50158 9.450567 47.501662 9.450511 47.501741 9.450334 47.502034 9.450258 47.502149 9.45015 47.502292 9.450053 47.502396 9.450075 47.50242 9.4499 47.502575 9.449747 47.502698 9.4507 47.503381</gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:posList>8.797233 47.677329 8.79799 47.677471 8.798354 47.677552 8.798709 47.677651 8.799052 47.677766 8.799382 47.677898 8.799697 47.678046 8.799995 47.678208 8.800045 47.678238 8.80261 47.67974 8.802841 47.679865 8.803086 47.679977 8.803344 47.680075 8.803612 47.68016 8.803889 47.68023 8.804174 47.680285 8.804465 47.680324 8.804759 47.680348 8.805054 47.680355 8.80535 47.680347 8.805644 47.680324 8.805935 47.680284 8.80622 47.680229 8.806394 47.680187 8.806566 47.680139 8.806734 47.680085 8.806898 47.680026 8.807057 47.679961 8.807211 47.679891 8.808734 47.679161 8.808937 47.679072 8.809152 47.678997 8.809376 47.678934 8.809607 47.678886 8.809844 47.678852 8.810084 47.678833 8.810326 47.678829 8.810568 47.67884 8.810807 47.678865 8.811042 47.678905 8.815095 47.679727 8.815656 47.67982 8.816227 47.679876 8.816804 47.679894 8.81738 47.679873 8.817951 47.679814 8.81851 47.679718 8.818933 47.679628 8.819355 47.679534 8.819776 47.679438 8.820195 47.679338 8.820612 47.679235 8.821027 47.67913 8.822068 47.678849 8.823097 47.678548 8.824113 47.678228 8.825115 47.677889 8.826103 47.67753 8.827075 47.677154 8.82729 47.677075 8.827514 47.677008 8.827744 47.676952 8.82798 47.676909 8.82822 47.676877 8.828463 47.676859 8.828707 47.676852 8.829327 47.676869 8.829703 47.676861 8.830077 47.676833 8.830446 47.676787 8.83081 47.676723 8.831166 47.67664 8.831402 47.676574 8.831632 47.6765 8.831857 47.676418 8.832076 47.676328 8.832288 47.676231 8.832492 47.676127 8.833693 47.675483 8.833874 47.675388 8.834057 47.675296 8.834244 47.675206 8.834433 47.675119 8.834625 47.675035 8.83482 47.674954 8.836131 47.67442 8.836299 47.674349 8.836463 47.674273 8.836622 47.674194 8.836777 47.674111 8.836927 47.674023 8.837073 47.673932 8.838112 47.673258 8.838946 47.672716 8.839283 47.672478 8.839591 47.672223 8.839867 47.671951 8.84011 47.671665 8.840317 47.671366 8.840487 47.671058 8.84062 47.670741 8.840714 47.670417 8.840769 47.67009 8.840784 47.66976 8.840794 47.669492 8.840829 47.669224 8.840889 47.668959 8.840975 47.668697 8.841086 47.668439 8.841221 47.668186 8.841754 47.667285 8.841845 47.667147 8.841951 47.667013 8.842072 47.666886 8.842207 47.666766 8.842356 47.666652 8.842516 47.666547 8.842688 47.66645 8.842871 47.666363 8.843063 47.666285 8.843263 47.666217 8.84347 47.66616 8.843683 47.666114 8.84836 47.665226 8.848571 47.665181 8.848781 47.665131 8.848884 47.665104 8.849191 47.665017 8.849491 47.664919 8.849784 47.664811 8.850068 47.664694 8.850343 47.664567 8.850845 47.66431 8.851091 47.664198 8.851345 47.664095 8.851607 47.664001 8.851876 47.663916 8.852151 47.663842 8.852289 47.663808 8.852428 47.663778 8.852568 47.663749 8.852709 47.663724 8.852852 47.6637 8.852995 47.663679 8.85351 47.663591 8.85401 47.663468 8.854489 47.663313 8.854943 47.663125 8.855367 47.662908 8.855757 47.662664 8.854864 47.66147 8.854851 47.661456 8.854731 47.661502 8.85412 47.66081 8.85392 47.660884 8.853395 47.660211 8.853339 47.660119 8.853309 47.660055 8.853244 47.66001 8.852902 47.659835 8.852809 47.659736 8.852865 47.659716 8.85078 47.657879 8.850459 47.657534 8.850143 47.6572 8.849863 47.656926 8.848721 47.657356 8.848052 47.656639 8.848002 47.656609 8.84855 47.656169 8.848901 47.655883 8.848887 47.655825 8.848464 47.655649 8.8474 47.655257 8.847431 47.655218 8.847135 47.655121 8.846824 47.655051 8.847723 47.654655 8.84746 47.654252 8.847677 47.654184 8.848067 47.654043 8.848449 47.653891 8.850562 47.652997 8.851278 47.653897 8.851702 47.653718 8.852674 47.653315 8.852703 47.65324 8.852836 47.653236 8.852872 47.653175 8.859129 47.65207 8.860916 47.654164 8.86066 47.654316 8.860731 47.65442 8.861028 47.654853 8.861469 47.655232 8.861714 47.655488 8.861764 47.655556 8.861787 47.655628 8.861836 47.655936 8.861923 47.655957 8.861998 47.656029 8.862317 47.65625 8.862641 47.656404 8.862992 47.656475 8.863267 47.656571 8.863674 47.656784 8.864 47.656913 8.866515 47.658087 8.868245 47.657962 8.873636 47.655934 8.876587 47.656938 8.876746 47.656962 8.876907 47.65698 8.877069 47.656992 8.877231 47.656998 8.879494 47.657037 8.879704 47.657038 8.879913 47.657034 8.880122 47.657023 8.880331 47.657007 8.880538 47.656986 8.880744 47.656959 8.880948 47.656927 8.881713 47.656776 8.882104 47.656694 8.882492 47.656604 8.882877 47.656509 8.883258 47.656406 8.883635 47.656297 8.884007 47.656181 8.884375 47.65606 8.884738 47.655931 8.885749 47.655563 8.885981 47.655475 8.886206 47.65538 8.886427 47.655279 8.886641 47.655173 8.886848 47.655061 8.887049 47.654943 8.887243 47.65482 8.887429 47.654692 8.890399 47.652567 8.890654 47.65239 8.890915 47.652216 8.891182 47.652047 8.891456 47.651883 8.891735 47.651724 8.89202 47.651569 8.892318 47.651416 8.892621 47.651268 8.89293 47.651125 8.893244 47.650987 8.893563 47.650855 8.893887 47.650729 8.894692 47.650427 8.894861 47.650373 8.895034 47.650323 8.89521 47.650279 8.895388 47.65024 8.895569 47.650206 8.895752 47.650178 8.895937 47.650156 8.896123 47.650138 8.89631 47.650127 8.896497 47.65012 8.896685 47.65012 8.899406 47.650153 8.899735 47.650159 8.900064 47.650172 8.900392 47.650189 8.900719 47.650212 8.901046 47.650241 8.901371 47.650275 8.901695 47.650315 8.902017 47.65036 8.902338 47.65041 8.902656 47.650465 8.902973 47.650526 8.903287 47.650592 8.903474 47.650636 8.903657 47.650686 8.903837 47.650741 8.904013 47.650801 8.904186 47.650866 8.904353 47.650936 8.904517 47.651011 8.904675 47.651091 8.904828 47.651176 8.905203 47.651404 8.905438 47.651537 8.90568 47.651665 8.905928 47.651787 8.906182 47.651904 8.906442 47.652014 8.906707 47.652118 8.906977 47.652216 8.907253 47.652308 8.907533 47.652394 8.907817 47.652472 8.908104 47.652544 8.908396 47.65261 8.90869 47.652668 8.908988 47.65272 8.909287 47.652765 8.909589 47.652802 8.910388 47.652881 8.910882 47.652935 8.911374 47.652997 8.911865 47.653066 8.912353 47.653141 8.912838 47.653223 8.913321 47.653313 8.913801 47.653409 8.914278 47.653511 8.914751 47.653621 8.915222 47.653737 8.916223 47.654003 8.917298 47.654278 8.917839 47.654411 8.918925 47.654665 8.919181 47.65472 8.919439 47.654771 8.919698 47.654816 8.91996 47.654856 8.920223 47.654891 8.920488 47.654921 8.920754 47.654946 8.921021 47.654965 8.921288 47.65498 8.921727 47.654996 8.921897 47.655008 8.922066 47.655026 8.922233 47.655049 8.922399 47.655078 8.922563 47.655112 8.922724 47.655151 8.922882 47.655195 8.923036 47.655244 8.923187 47.655299 8.923334 47.655358 8.923477 47.655421 8.926047 47.656627 8.92622 47.656705 8.926397 47.656778 8.926579 47.656847 8.926765 47.656911 8.926954 47.65697 8.927146 47.657023 8.927342 47.657072 8.92754 47.657115 8.92774 47.657154 8.927942 47.657186 8.9284 47.657251 8.92886 47.657311 8.929321 47.657365 8.929784 47.657414 8.930247 47.657457 8.930712 47.657495 8.931177 47.657527 8.931644 47.657554 8.932111 47.657575 8.932578 47.65759 8.933046 47.6576 8.933514 47.657605 8.933982 47.657603 8.935001 47.657589 8.935552 47.657588 8.936104 47.657595 8.936655 47.657608 8.937205 47.657628 8.937755 47.657656 8.938304 47.65769 8.938852 47.657731 8.939399 47.65778 8.939944 47.657835 8.940488 47.657897 8.941029 47.657966 8.941569 47.658042 8.942107 47.658125 8.942263 47.658152 8.942416 47.658186 8.942567 47.658224 8.942715 47.658267 8.942859 47.658316 8.943 47.658369 8.943137 47.658427 8.943269 47.65849 8.943396 47.658557 8.943518 47.658628 8.943634 47.658703 8.943745 47.658782 8.94385 47.658865 8.943948 47.658952 8.94424 47.659227 8.944525 47.659505 8.944803 47.659787 8.945214 47.660216 8.945363 47.660355 8.94552 47.660491 8.945685 47.660622 8.945858 47.660748 8.946038 47.66087 8.946226 47.660987 8.94642 47.661098 8.946621 47.661204 8.946829 47.661304 8.947042 47.661398 8.94726 47.661487 8.947484 47.661569 8.947712 47.661646 8.947945 47.661715 8.948182 47.661779 8.948423 47.661836 8.948666 47.661886 8.948963 47.66194 8.949559 47.662039 8.950161 47.662123 8.950661 47.662186 8.950857 47.662219 8.951051 47.662259 8.951241 47.662305 8.951427 47.662358 8.95161 47.662417 8.951787 47.662483 8.95196 47.662554 8.952127 47.662631 8.952288 47.662713 8.955094 47.664231 8.955306 47.664342 8.955524 47.664448 8.955746 47.664549 8.955973 47.664646 8.956205 47.664737 8.956441 47.664824 8.956681 47.664905 8.956925 47.66498 8.957172 47.665051 8.957423 47.665116 8.957676 47.665175 8.957932 47.665229 8.962085 47.66605 8.962265 47.666089 8.962441 47.666135 8.962614 47.666187 8.962781 47.666246 8.962944 47.66631 8.963102 47.66638 8.963253 47.666457 8.963609 47.666661 8.964041 47.666896 8.964263 47.66701 8.964716 47.667227 8.968904 47.669145 8.969171 47.669264 8.969443 47.669378 8.96972 47.669486 8.970001 47.66959 8.970286 47.669688 8.970576 47.669781 8.970868 47.669868 8.971165 47.66995 8.971464 47.670027 8.971767 47.670097 8.972072 47.670163 8.97238 47.670222 8.975336 47.670762 8.975486 47.670793 8.975633 47.670829 8.975777 47.670872 8.975917 47.670919 8.976052 47.670973 8.976182 47.671032 8.976307 47.671095 8.976427 47.671164 8.97654 47.671237 8.976646 47.671315 8.976746 47.671396 8.976838 47.671482 8.976923 47.671571 8.977 47.671663 8.978434 47.673511 8.978561 47.673667 8.978695 47.673819 8.978838 47.673968 8.978989 47.674113 8.979149 47.674254 8.979315 47.674391 8.979489 47.674524 8.979671 47.674652 8.979859 47.674776 8.980054 47.674895 8.980255 47.675009 8.980463 47.675118 8.980676 47.675221 8.980895 47.675319 8.981119 47.675412 8.981348 47.675498 8.981582 47.675579 8.98182 47.675654 8.982062 47.675723 8.982308 47.675786 8.982784 47.675898 8.983263 47.676005 8.983744 47.676106 8.984227 47.676202 8.984713 47.676293 8.985201 47.676378 8.985691 47.676458 8.986183 47.676532 8.986677 47.676601 8.987172 47.676664 8.987669 47.676722 8.988167 47.676774 8.988666 47.676821 8.989385 47.676882 8.989603 47.676906 8.98982 47.676935 8.990035 47.676969 8.990248 47.677007 8.990459 47.677051 8.990668 47.677099 8.990875 47.677152 8.991079 47.677209 8.99128 47.677271 8.999937 47.680056 9.000522 47.680248 9.001104 47.680445 9.001682 47.680647 9.002256 47.680855 9.002825 47.681068 9.00339 47.681286 9.003951 47.681509 9.004507 47.681737 9.005058 47.681971 9.005605 47.682209 9.006147 47.682452 9.006684 47.682701 9.007216 47.682954 9.007743 47.683212 9.008265 47.683475 9.008781 47.683743 9.01309 47.686008 9.013444 47.68619 9.013803 47.686366 9.014168 47.686537 9.014539 47.686703 9.014915 47.686862 9.015297 47.687016 9.015683 47.687165 9.016074 47.687307 9.01647 47.687444 9.01687 47.687574 9.017274 47.687699 9.017682 47.687817 9.018095 47.68793 9.01851 47.688036 9.018929 47.688135 9.019352 47.688229 9.019777 47.688316 9.020205 47.688397 9.020635 47.688471 9.021068 47.688539 9.021503 47.6886 9.02194 47.688654 9.022379 47.688703 9.022819 47.688744 9.023261 47.688779 9.023703 47.688807 9.024146 47.688829 9.02459 47.688844 9.025034 47.688852 9.025479 47.688854 9.025923 47.688848 9.026367 47.688837 9.026811 47.688818 9.027253 47.688793 9.027695 47.688761 9.028136 47.688723 9.028575 47.688678 9.029013 47.688627 9.029449 47.688568 9.029883 47.688504 9.030315 47.688433 9.030744 47.688355 9.031171 47.688271 9.033099 47.68785 9.034606 47.687527 9.036117 47.68721 9.03763 47.686899 9.039146 47.686594 9.040665 47.686296 9.042187 47.686005 9.043712 47.68572 9.045239 47.685441 9.046768 47.68517 9.048301 47.684904 9.049835 47.684645 9.051372 47.684393 9.052911 47.684147 9.054453 47.683907 9.055997 47.683675 9.057543 47.683448 9.05909 47.683229 9.06064 47.683016 9.062192 47.682809 9.063746 47.682609 9.065302 47.682416 9.066859 47.68223 9.068418 47.68205 9.069979 47.681876 9.071945 47.681664 9.072348 47.681613 9.072748 47.681556 9.073147 47.681493 9.073543 47.681423 9.073938 47.681349 9.074329 47.681268 9.074718 47.681181 9.075104 47.681089 9.075487 47.680991 9.075867 47.680887 9.076411 47.680731 9.076582 47.680691 9.076757 47.680657 9.076934 47.68063 9.077113 47.680609 9.077293 47.680594 9.077474 47.680587 9.077656 47.680586 9.078172 47.680595 9.078687 47.680611 9.079203 47.680633 9.079717 47.680661 9.080231 47.680696 9.080744 47.680736 9.081255 47.680782 9.081765 47.680835 9.082274 47.680893 9.082782 47.680958 9.083287 47.681029 9.083791 47.681105 9.084292 47.681188 9.084791 47.681276 9.085288 47.681371 9.086159 47.681547 9.086538 47.681615 9.08692 47.681678 9.087304 47.681733 9.08769 47.681782 9.088077 47.681824 9.088466 47.68186 9.088857 47.681889 9.089248 47.681911 9.08964 47.681926 9.090032 47.681934 9.090425 47.681936 9.090817 47.681931 9.09121 47.681919 9.091601 47.6819 9.091992 47.681874 9.092379 47.681843 9.092764 47.681807 9.093149 47.681765 9.093532 47.681719 9.093914 47.681667 9.094294 47.681611 9.094673 47.681549 9.09505 47.681483 9.095424 47.681411 9.095797 47.681335 9.096167 47.681254 9.096535 47.681168 9.097129 47.681021 9.09772 47.680868 9.098307 47.680709 9.09889 47.680545 9.09947 47.680374 9.100046 47.680197 9.100618 47.680015 9.101185 47.679827 9.101749 47.679633 9.102308 47.679433 9.102862 47.679228 9.103412 47.679017 9.103957 47.6788 9.104498 47.678578 9.105033 47.67835 9.105563 47.678117 9.106088 47.677879 9.106607 47.677635 9.107121 47.677386 9.107629 47.677132 9.108132 47.676873 9.108628 47.676608 9.109119 47.676339 9.109604 47.676065 9.110082 47.675785 9.110554 47.675501 9.11102 47.675212 9.111479 47.674919 9.111932 47.67462 9.112378 47.674317 9.112817 47.67401 9.113551 47.673482 9.11386 47.67327 9.114176 47.673062 9.114498 47.67286 9.114827 47.672662 9.115162 47.672469 9.115504 47.67228 9.115851 47.672097 9.116204 47.67192 9.116563 47.671747 9.116927 47.67158 9.117296 47.671418 9.117671 47.671261 9.11805 47.67111 9.118435 47.670965 9.118824 47.670825 9.119217 47.670691 9.119614 47.670563 9.120016 47.670441 9.120421 47.670325 9.120831 47.670214 9.121243 47.67011 9.121659 47.670012 9.122078 47.66992 9.122499 47.669834 9.122924 47.669754 9.123351 47.669681 9.12378 47.669614 9.124211 47.669553 9.124644 47.669498 9.125079 47.66945 9.126347 47.669335 9.126653 47.669306 9.126958 47.669271 9.127262 47.669231 9.127564 47.669186 9.127865 47.669137 9.128163 47.669082 9.12846 47.669022 9.128754 47.668957 9.129046 47.668887 9.129335 47.668813 9.129621 47.668733 9.130153 47.668577 9.130404 47.66851 9.130659 47.66845 9.130917 47.668396 9.131178 47.668348 9.131441 47.668306 9.131706 47.668271 9.131973 47.668242 9.132241 47.668219 9.132768 47.668187 9.133025 47.668164 9.13328 47.668135 9.133534 47.668099 9.133785 47.668055 9.134033 47.668006 9.134278 47.667949 9.13452 47.667886 9.134758 47.667817 9.134991 47.667741 9.13522 47.667659 9.135665 47.667484 9.135892 47.667403 9.136123 47.667329 9.136358 47.667261 9.136597 47.6672 9.137205 47.667065 9.137567 47.666979 9.137925 47.666888 9.13828 47.66679 9.138632 47.666687 9.13898 47.666578 9.139324 47.666464 9.139813 47.666294 9.139965 47.66625 9.140122 47.666212 9.140281 47.66618 9.140443 47.666155 9.140607 47.666136 9.140772 47.666124 9.140938 47.666119 9.141105 47.66612 9.14127 47.666128 9.141435 47.666143 9.141598 47.666164 9.14176 47.666192 9.141918 47.666226 9.142073 47.666266 9.142224 47.666313 9.144255 47.666988 9.144473 47.667063 9.144688 47.667143 9.144899 47.667226 9.145107 47.667313 9.145311 47.667405 9.145511 47.6675 9.145707 47.667599 9.145899 47.667701 9.146086 47.667807 9.146514 47.668065 9.146764 47.668209 9.147019 47.668349 9.147278 47.668485 9.147542 47.668617 9.14781 47.668745 9.148083 47.668869 9.14836 47.668988 9.14864 47.669103 9.148925 47.669214 9.149213 47.669321 9.149504 47.669422 9.14967 47.669476 9.14984 47.669523 9.150013 47.669565 9.150189 47.669601 9.150367 47.669631 9.150547 47.669655 9.150729 47.669673 9.150912 47.669685 9.151095 47.669691 9.151279 47.66969 9.151462 47.669684 9.151645 47.669672 9.151826 47.669653 9.152006 47.669629 9.157921 47.668055 9.159068 47.66775 9.160656 47.666254 9.16128 47.665467 9.161142 47.665132 9.161243 47.664828 9.161888 47.664239 9.162937 47.663598 9.164758 47.662288 9.166216 47.661239 9.167037 47.660667 9.170641 47.658206 9.17097 47.658009 9.171545 47.656947 9.171866 47.656805 9.173234 47.657414 9.17362 47.657449 9.174066 47.657381 9.174072 47.657336 9.174132 47.657328 9.174307 47.657366 9.174612 47.657364 9.174875 47.65741 9.175209 47.657461 9.176726 47.657759 9.177146 47.655995 9.177203 47.655972 9.178384 47.65653 9.178501 47.656731 9.178548 47.656906 9.179114 47.656829 9.182993 47.657926 9.183078 47.65795 9.188337 47.659437 9.204278 47.657315 9.204278 47.657315 9.204279 47.657315 9.216071 47.657081 9.234754 47.6587 9.236118 47.658818 9.257807 47.660693 9.278036 47.655087 9.39598 47.622306 9.419894 47.606006 9.496884 47.553425 9.499617 47.553012 9.50823 47.551709 9.504057 47.549179 9.470626 47.528896 9.438801 47.50929 9.436884 47.508479 9.436024 47.508251 9.43595 47.508231 9.435878 47.508201 9.435588 47.508106 9.435499 47.508081 9.435226 47.508024 9.435008 47.507992 9.434694 47.507955 9.434364 47.507925 9.434401 47.507217 9.432743 47.507177 9.432754 47.50696 9.43178 47.506651 9.431676 47.506604 9.431737 47.506541 9.431653 47.506494 9.43157 47.506436 9.431502 47.506376 9.43145 47.506318 9.431389 47.506225 9.431132 47.505714 9.431099 47.505657 9.431053 47.505596 9.430983 47.505519 9.430907 47.505454 9.430847 47.505415 9.430767 47.505373 9.428594 47.504326 9.428556 47.504231 9.428432 47.504249 9.427343 47.503717 9.427236 47.503669 9.427124 47.503627 9.426981 47.503582 9.426834 47.503545 9.426383 47.503464 9.426298 47.50331 9.426205 47.503153 9.426102 47.502997 9.425988 47.502838 9.425865 47.502683 9.425735 47.502532 9.425593 47.502383 9.425446 47.502239 9.424893 47.501732 9.424724 47.501563 9.424578 47.501403 9.424442 47.501238 9.424316 47.501068 9.424169 47.50085 9.423932 47.500451 9.423179 47.49902 9.4231 47.498879 9.423014 47.498742 9.422915 47.498606 9.422707 47.49834 9.42268 47.498294 9.422671 47.498297 9.422601 47.498206 9.422548 47.498136 9.422494 47.498141 9.422025 47.498246 9.421768 47.498323 9.42176 47.498315 9.421515 47.498385 9.421129 47.498488 9.421047 47.49852 9.420832 47.498567 9.42061 47.49863 9.420068 47.49874 9.420009 47.498886 9.419015 47.499633 9.418619 47.500017 9.417387 47.499658 9.417351 47.499606 9.41736 47.499543 9.417448 47.499433 9.417567 47.499335 9.415682 47.499478 9.414802 47.499487 9.414029 47.497459 9.413964 47.497408 9.413872 47.497408 9.413592 47.497551 9.41341 47.497632 9.413208 47.497697 9.413182 47.497657 9.413113 47.497601 9.413054 47.497538 9.412915 47.497256 9.412529 47.497116 9.412515 47.496959 9.412125 47.496786 9.411786 47.496554 9.411675 47.49622 9.411528 47.49591 9.411233 47.495565 9.410837 47.495347 9.410411 47.495333 9.409845 47.495409 9.409407 47.495533 9.408639 47.495829 9.40777 47.496024 9.407393 47.495661 9.407233 47.495166 9.407386 47.494858 9.407731 47.49445 9.40736 47.494121 9.407139 47.493806 9.407036 47.493613 9.407051 47.493488 9.407121 47.49335 9.407441 47.493192 9.406737 47.492791 9.405894 47.491169 9.405543 47.490945 9.404574 47.490681 9.404774 47.49048 9.404907 47.49031 9.404985 47.490122 9.405002 47.489934 9.404961 47.489744 9.404858 47.489564 9.404708 47.489403 9.404476 47.489244 9.404487 47.489232 9.404433 47.489206 9.404422 47.489215 9.404275 47.489154 9.402368 47.488536 9.402142 47.488454 9.401944 47.488345 9.401787 47.488208 9.401676 47.488066 9.402191 47.487795 9.403351 47.486908 9.403372 47.486698 9.403298 47.486616 9.403204 47.486417 9.403176 47.486368 9.403165 47.486333 9.403169 47.486303 9.403206 47.486205 9.403211 47.486148 9.403205 47.486094 9.403089 47.485611 9.40308 47.485438 9.403058 47.485388 9.403005 47.485335 9.402944 47.485314 9.402802 47.48531 9.402699 47.4853 9.402539 47.485255 9.402421 47.485189 9.402324 47.48516 9.402263 47.485092 9.402168 47.485005 9.401938 47.484881 9.401778 47.484773 9.40173 47.484708 9.401663 47.484638 9.401619 47.484607 9.401614 47.484563 9.401641 47.484527 9.401803 47.48448 9.401905 47.484462 9.402023 47.484422 9.402147 47.483953 9.402391 47.483318 9.402458 47.483073 9.402467 47.482746 9.40164 47.482204 9.401873 47.481861 9.401923 47.48172 9.401935 47.481566 9.401911 47.481417 9.401849 47.481272 9.401748 47.481136 9.400827 47.480127 9.400575 47.479884 9.400483 47.480002 9.399656 47.480089 9.3993 47.479966 9.39904 47.479891 9.398462 47.479753 9.397625 47.479792 9.397694 47.479453 9.397708 47.479274 9.39767 47.479097 9.397553 47.478766 9.397529 47.478635 9.397543 47.478501 9.397572 47.478369 9.397613 47.478239 9.397669 47.478111 9.397883 47.477724 9.398209 47.477046 9.398253 47.476939 9.398182 47.476936 9.398003 47.477034 9.397533 47.477229 9.397238 47.477374 9.396959 47.477472 9.396156 47.477692 9.395726 47.477834 9.395497 47.477878 9.395105 47.477872 9.394503 47.477944 9.394324 47.478025 9.39417 47.478158 9.394132 47.478217 9.394012 47.47827 9.393698 47.478428 9.393517 47.478536 9.392425 47.47929 9.39238 47.479359 9.392648 47.479975 9.392871 47.480601 9.392815 47.480826 9.391876 47.48151 9.391836 47.481551 9.391577 47.481954 9.39106 47.482569 9.390053 47.483523 9.389862 47.483637 9.389029 47.483949 9.389002 47.483932 9.388866 47.48397 9.388667 47.484005 9.388218 47.484044 9.388002 47.484042 9.387714 47.484011 9.387163 47.483932 9.386877 47.483927 9.386688 47.483955 9.386667 47.483977 9.386345 47.484053 9.386217 47.484095 9.38611 47.484157 9.385771 47.484403 9.385689 47.484478 9.38526 47.484975 9.385146 47.485089 9.385092 47.485133 9.385044 47.485187 9.384957 47.485269 9.384858 47.485343 9.384638 47.485465 9.384288 47.485618 9.38371 47.485846 9.383575 47.485882 9.383572 47.486015 9.383432 47.486459 9.383046 47.486682 9.382572 47.486922 9.381408 47.487296 9.38087 47.487435 9.380771 47.487555 9.381008 47.487598 9.381193 47.487708 9.381643 47.488367 9.382093 47.489269 9.38157 47.489341 9.380485 47.489273 9.380313 47.488933 9.379739 47.489108 9.379123 47.489171 9.378542 47.489103 9.378015 47.489162 9.377619 47.489168 9.376305 47.489026 9.376103 47.488809 9.375762 47.488591 9.37554 47.488543 9.37523 47.488322 9.374401 47.487272 9.373948 47.487379 9.373124 47.487366 9.372809 47.487355 9.372324 47.487383 9.371919 47.48738 9.371589 47.487337 9.371515 47.487311 9.370661 47.487108 9.369731 47.486809 9.369482 47.486699 9.369165 47.486897 9.368494 47.487279 9.368243 47.48736 9.367983 47.487417 9.367788 47.48742 9.36796 47.487935 9.368083 47.48818 9.368287 47.488423 9.368629 47.488783 9.368757 47.488926 9.369142 47.489427 9.369463 47.490002 9.370772 47.490702 9.371067 47.490831 9.371734 47.491122 9.372472 47.491016 9.372429 47.49092 9.372734 47.490859 9.372859 47.491304 9.372913 47.491356 9.373077 47.491399 9.373346 47.491545 9.373539 47.491683 9.373684 47.491846 9.373631 47.491864 9.374054 47.492424 9.372959 47.492822 9.371807 47.493268 9.36973 47.494033 9.369703 47.494043 9.36988 47.49474 9.370119 47.494973 9.370197 47.495257 9.37044 47.495546 9.370485 47.495585 9.370497 47.495601 9.370412 47.495667 9.370348 47.495724 9.370294 47.495783 9.370246 47.495848 9.370199 47.495932 9.370173 47.495991 9.371094 47.496265 9.371215 47.496461 9.371314 47.496462 9.371382 47.496451 9.371376 47.496423 9.37146 47.496422 9.371459 47.496447 9.37159 47.496443 9.371616 47.496416 9.371648 47.496434 9.371689 47.4964 9.371776 47.496396 9.371865 47.496355 9.371915 47.496361 9.372049 47.496301 9.372203 47.496278 9.372452 47.496304 9.372519 47.496327 9.372618 47.496291 9.372687 47.496306 9.372774 47.496259 9.3728 47.49622 9.372916 47.496253 9.372955 47.496256 9.372996 47.496227 9.373045 47.496252 9.373107 47.496226 9.373133 47.496255 9.37319 47.496235 9.373271 47.496233 9.373727 47.496316 9.374225 47.496381 9.374343 47.496389 9.37437 47.496426 9.37444 47.49648 9.374631 47.496597 9.374803 47.496725 9.374939 47.496801 9.374954 47.496845 9.375338 47.497321 9.375357 47.497546 9.375542 47.498172 9.375352 47.498428 9.375714 47.498926 9.375637 47.499002 9.37561 47.499061 9.375576 47.499088 9.375565 47.499125 9.375544 47.499149 9.375513 47.499287 9.375537 47.499309 9.375505 47.499339 9.37549 47.499521 9.3755 47.499584 9.375476 47.499635 9.375501 47.499671 9.375472 47.499711 9.375518 47.499748 9.375509 47.499768 9.375529 47.499828 9.375544 47.499858 9.375523 47.499876 9.375523 47.499919 9.375559 47.499946 9.375572 47.499978 9.375548 47.500001 9.375588 47.50002 9.375593 47.500051 9.375577 47.500096 9.375601 47.500141 9.375649 47.500175 9.375657 47.500219 9.375673 47.500258 9.375662 47.500271 9.375702 47.500295 9.375701 47.500329 9.37561 47.500354 9.375601 47.500387 9.375514 47.500462 9.375496 47.500522 9.375516 47.500765 9.375615 47.500817 9.375642 47.500889 9.375674 47.50094 9.375659 47.501048 9.375692 47.501114 9.375647 47.501292 9.375662 47.501405 9.375709 47.501446 9.375691 47.501482 9.375719 47.501519 9.375707 47.501551 9.375727 47.501622 9.375308 47.502348 9.3749 47.502268 9.373468 47.502843 9.37118 47.503096 9.371132 47.502979 9.370137 47.503119 9.369955 47.503076 9.369829 47.502998 9.369638 47.502842 9.369547 47.502697 9.369441 47.502562 9.3694 47.502408 9.36906 47.502409 9.368673 47.502532 9.368114 47.502761 9.367402 47.503175 9.366848 47.503466 9.366609 47.503491 9.366513 47.503509 9.366232 47.503636 9.366177 47.503651 9.365905 47.503754 9.365597 47.503894 9.365337 47.503993 9.364964 47.504105 9.364295 47.504377 9.363915 47.504511 9.36357 47.504628 9.363294 47.504783 9.363168 47.504824 9.363024 47.504648 9.363036 47.504644 9.362876 47.504464 9.362488 47.50462 9.361643 47.504753 9.361185 47.504891 9.361138 47.504908 9.359876 47.505053 9.359409 47.50517 9.359347 47.505221 9.358895 47.505328 9.358198 47.505375 9.357567 47.505372 9.357356 47.505377 9.357655 47.503927 9.357673 47.503916 9.357631 47.503811 9.357526 47.503444 9.357169 47.502833 9.355803 47.502899 9.35323 47.503392 9.350767 47.503332 9.349425 47.503761 9.348959 47.503868 9.348348 47.503881 9.347822 47.503909 9.34643 47.504597 9.344596 47.505044 9.344293 47.505206 9.34398 47.505317 9.34333 47.505513 9.343188 47.505562 9.343118 47.505603 9.343062 47.505685 9.342835 47.505597 9.342721 47.505604 9.342553 47.505588 9.342411 47.505538 9.342309 47.505521 9.342026 47.505416 9.341974 47.505343 9.341825 47.505258 9.341728 47.50525 9.341669 47.505207 9.341598 47.505051 9.341556 47.505005 9.341533 47.504997 9.341488 47.504999 9.341409 47.505016 9.341277 47.505071 9.341023 47.505161 9.340967 47.505136 9.340862 47.504987 9.340811 47.504949 9.340755 47.504823 9.340723 47.504804 9.340633 47.504784 9.340551 47.504734 9.340534 47.504695 9.340575 47.504648 9.340546 47.504621 9.340433 47.50457 9.340396 47.504471 9.34035 47.50444 9.340322 47.504392 9.340135 47.504238 9.340102 47.504155 9.340177 47.504108 9.340217 47.504033 9.340144 47.503997 9.340129 47.503957 9.340141 47.503918 9.340201 47.503877 9.340217 47.503812 9.340128 47.503757 9.340146 47.503708 9.340198 47.503703 9.340246 47.503661 9.340195 47.503612 9.340091 47.503573 9.340065 47.503537 9.339918 47.503441 9.339932 47.503354 9.339419 47.502953 9.339243 47.502823 9.338985 47.502742 9.338318 47.503154 9.338178 47.503245 9.338102 47.50335 9.338059 47.503477 9.337996 47.503732 9.337904 47.503916 9.337837 47.504008 9.337613 47.504234 9.33766 47.504435 9.337771 47.504717 9.337904 47.504945 9.338121 47.505377 9.338163 47.505448 9.338214 47.505638 9.338244 47.505785 9.338809 47.506275 9.338828 47.506673 9.338863 47.506982 9.339227 47.507941 9.339351 47.508083 9.339532 47.508207 9.339536 47.508273 9.339613 47.508481 9.339563 47.5088 9.34038 47.508893 9.34045 47.508897 9.341815 47.508835 9.342978 47.508579 9.343648 47.508415 9.344531 47.508402 9.345572 47.510246 9.346231 47.50996 9.34663 47.509894 9.347427 47.509984 9.348362 47.511033 9.348382 47.511354 9.348408 47.511594 9.348494 47.511844 9.349402 47.511781 9.349762 47.513216 9.34881 47.513543 9.347992 47.513715 9.347032 47.513812 9.347082 47.513861 9.34717 47.51392 9.347258 47.514005 9.347302 47.514063 9.347422 47.514117 9.347534 47.514184 9.34759 47.514298 9.347622 47.514348 9.347652 47.514368 9.347679 47.514394 9.34768 47.514426 9.34772 47.514458 9.347764 47.514437 9.34788 47.514499 9.347964 47.514562 9.347999 47.514619 9.34804 47.514633 9.348129 47.514725 9.348134 47.514767 9.348177 47.514779 9.348205 47.514799 9.34822 47.514869 9.348262 47.514892 9.348287 47.515049 9.348369 47.515138 9.348392 47.515189 9.348787 47.515109 9.34969 47.515924 9.350182 47.515814 9.350375 47.515914 9.350442 47.515944 9.350753 47.516101 9.350787 47.516108 9.350872 47.516148 9.350919 47.516185 9.351079 47.516192 9.351143 47.516182 9.351214 47.516194 9.351222 47.516216 9.351177 47.516242 9.351169 47.516279 9.351172 47.516331 9.351145 47.516409 9.351198 47.516432 9.351223 47.516509 9.351211 47.516555 9.351178 47.516576 9.351198 47.516605 9.351194 47.516649 9.351178 47.516691 9.351186 47.516719 9.351215 47.516744 9.351226 47.516817 9.351254 47.516868 9.351336 47.516986 9.351543 47.517217 9.351572 47.517263 9.351621 47.517306 9.351669 47.517337 9.351735 47.517371 9.351903 47.517406 9.351984 47.517413 9.352146 47.517417 9.352212 47.51741 9.352296 47.51739 9.352332 47.517389 9.352386 47.517374 9.352472 47.517356 9.352628 47.517355 9.352703 47.51736 9.352738 47.517356 9.352817 47.517359 9.352921 47.517384 9.353046 47.517373 9.3531 47.517374 9.353128 47.517351 9.353219 47.517333 9.353237 47.51732 9.353226 47.517294 9.353252 47.51721 9.353227 47.517178 9.353234 47.517148 9.353256 47.517142 9.353286 47.517155 9.353326 47.517149 9.35338 47.517121 9.353417 47.517119 9.353478 47.517129 9.353499 47.517113 9.353546 47.517113 9.353594 47.517107 9.353599 47.517072 9.353613 47.517057 9.353641 47.517044 9.353682 47.517015 9.353668 47.516992 9.353665 47.516975 9.353709 47.516963 9.35377 47.516957 9.353845 47.516969 9.353873 47.516978 9.353939 47.516974 9.353993 47.516976 9.354019 47.516964 9.354067 47.51696 9.354072 47.51699 9.354124 47.517002 9.354221 47.516969 9.354257 47.516946 9.354282 47.51695 9.354346 47.516929 9.354385 47.516926 9.354459 47.516905 9.354511 47.516881 9.354608 47.516862 9.354646 47.516846 9.354815 47.516852 9.354828 47.516866 9.354837 47.516955 9.354866 47.517021 9.355025 47.517194 9.35508 47.517237 9.355116 47.517245 9.355223 47.517246 9.355278 47.517268 9.355452 47.517266 9.355557 47.517261 9.355749 47.517301 9.355856 47.517287 9.355925 47.517313 9.35596 47.517388 9.355925 47.517419 9.355921 47.517489 9.355861 47.517649 9.355856 47.517702 9.355918 47.517782 9.35601 47.517809 9.356068 47.517858 9.356131 47.517925 9.356266 47.518049 9.356439 47.518267 9.356524 47.518312 9.356576 47.518327 9.356825 47.518295 9.356952 47.51834 9.356994 47.518361 9.357102 47.518331 9.357212 47.519055 9.357255 47.519112 9.357662 47.521464 9.357643 47.521472 9.357649 47.521508 9.357638 47.521578 9.35762 47.521617 9.357571 47.521655 9.357375 47.521715 9.357264 47.521765 9.35716 47.52179 9.357117 47.52182 9.357051 47.521805 9.356982 47.521779 9.356903 47.521791 9.356829 47.521788 9.356805 47.521769 9.35661 47.521769 9.356407 47.521679 9.356336 47.521667 9.356264 47.521669 9.356207 47.521644 9.356156 47.521635 9.356053 47.521646 9.356017 47.521643 9.356018 47.521602 9.356001 47.521575 9.355955 47.521577 9.355906 47.521573 9.355854 47.521539 9.355802 47.521499 9.355759 47.52142 9.355743 47.521403 9.355657 47.521352 9.355591 47.521346 9.355485 47.521312 9.355468 47.521303 9.355439 47.521297 9.355324 47.5213 9.35518 47.521293 9.354979 47.521241 9.354504 47.521194 9.35442 47.521189 9.354346 47.521199 9.354205 47.521232 9.353848 47.521299 9.353802 47.521312 9.353626 47.521339 9.353558 47.521359 9.353504 47.52138 9.353308 47.521412 9.353148 47.521464 9.35292 47.521525 9.352799 47.521544 9.352764 47.521544 9.352722 47.521567 9.352518 47.521599 9.352293 47.521654 9.352248 47.521708 9.352129 47.521787 9.35192 47.521851 9.351768 47.521873 9.350734 47.52196 9.349573 47.522092 9.34805 47.522287 9.347815 47.522313 9.347707 47.522332 9.347584 47.522331 9.34743 47.522341 9.347367 47.522326 9.347184 47.522303 9.346971 47.522263 9.346795 47.522236 9.346656 47.522202 9.346471 47.522135 9.34639 47.522071 9.346264 47.522002 9.346196 47.521974 9.346098 47.521951 9.346034 47.521922 9.345913 47.52185 9.345853 47.52185 9.34581 47.521811 9.345755 47.521771 9.345687 47.521772 9.345654 47.521785 9.34547 47.521773 9.345389 47.52178 9.345359 47.521797 9.345224 47.521888 9.345076 47.521936 9.344998 47.521998 9.344944 47.522122 9.344951 47.522188 9.34494 47.522201 9.34518 47.52272 9.344672 47.523003 9.343932 47.523365 9.34385 47.523367 9.34379 47.523393 9.343444 47.5236 9.343183 47.523772 9.343081 47.523862 9.342955 47.524005 9.342908 47.52403 9.342833 47.524127 9.342804 47.524193 9.34275 47.524243 9.342721 47.524293 9.342666 47.52433 9.342638 47.524382 9.342658 47.524464 9.34263 47.524507 9.342604 47.524626 9.342583 47.524658 9.342559 47.52474 9.342505 47.524869 9.342502 47.52493 9.342456 47.525031 9.342464 47.525072 9.342491 47.525105 9.342497 47.525158 9.34252 47.525236 9.342536 47.52537 9.342515 47.525514 9.342458 47.525768 9.342464 47.525783 9.342457 47.52586 9.342426 47.525952 9.342315 47.526032 9.34203 47.526174 9.34198 47.526191 9.341185 47.526367 9.341128 47.526386 9.34103 47.526407 9.340702 47.526494 9.340633 47.526534 9.340571 47.526585 9.340479 47.526645 9.340499 47.526676 9.340432 47.52671 9.340247 47.526822 9.340589 47.527174 9.341029 47.527762 9.341426 47.528341 9.341459 47.528395 9.341508 47.529429 9.341443 47.529556 9.341338 47.529821 9.341262 47.530054 9.341228 47.530199 9.341218 47.530352 9.341216 47.531831 9.341177 47.532057 9.341053 47.532633 9.340987 47.532625 9.340876 47.533031 9.340857 47.533153 9.340837 47.53342 9.340802 47.533409 9.340758 47.533401 9.340647 47.533407 9.340535 47.533371 9.340533 47.533346 9.340562 47.533307 9.340498 47.53324 9.340504 47.533224 9.340418 47.533131 9.340451 47.533113 9.340413 47.533045 9.340359 47.533025 9.340334 47.532989 9.340359 47.532964 9.340328 47.532888 9.340283 47.532869 9.340259 47.532823 9.340286 47.532784 9.340256 47.532747 9.340265 47.532695 9.340284 47.532671 9.340281 47.532652 9.340321 47.532568 9.340336 47.532507 9.340391 47.532431 9.340319 47.532397 9.340284 47.532366 9.340233 47.532358 9.340195 47.532325 9.340139 47.532292 9.340098 47.532291 9.340071 47.532239 9.340156 47.532233 9.340157 47.532172 9.340196 47.532153 9.340142 47.532116 9.340117 47.532019 9.339971 47.532011 9.339879 47.531941 9.339883 47.531921 9.339941 47.531905 9.339851 47.531752 9.339819 47.531601 9.339765 47.53153 9.339695 47.531465 9.339681 47.531385 9.339714 47.53134 9.339669 47.531243 9.339668 47.531211 9.33962 47.531125 9.339641 47.531048 9.339681 47.530997 9.339669 47.530947 9.339556 47.53084 9.33946 47.530838 9.339381 47.530809 9.339346 47.530836 9.339243 47.530829 9.339269 47.530871 9.339164 47.530877 9.339099 47.530844 9.339029 47.530849 9.338972 47.530825 9.339018 47.530796 9.338996 47.530767 9.338782 47.530751 9.338733 47.530782 9.338667 47.530792 9.338602 47.530783 9.338551 47.530764 9.338506 47.530781 9.338479 47.530759 9.338297 47.53072 9.338275 47.5307 9.338255 47.5307 9.338222 47.53069 9.338177 47.53069 9.338098 47.530714 9.338093 47.530743 9.337882 47.530767 9.337835 47.530748 9.337705 47.530763 9.337592 47.530765 9.337528 47.530784 9.337475 47.530773 9.337292 47.530823 9.33722 47.530807 9.337152 47.530828 9.337095 47.530816 9.337036 47.530838 9.336883 47.530909 9.336881 47.530926 9.336816 47.530941 9.336767 47.530911 9.336704 47.530914 9.336598 47.530934 9.336496 47.530927 9.336427 47.53096 9.336398 47.530957 9.336333 47.530969 9.336284 47.530921 9.336223 47.530933 9.336178 47.530926 9.336154 47.530938 9.336117 47.530927 9.336065 47.530945 9.335999 47.530998 9.335899 47.531018 9.335881 47.531029 9.335847 47.531017 9.335733 47.531058 9.335741 47.531083 9.33572 47.531101 9.335669 47.531096 9.33564 47.53112 9.335593 47.53113 9.335546 47.53115 9.335495 47.531146 9.335419 47.531163 9.335383 47.53116 9.335325 47.531144 9.335268 47.531153 9.335167 47.531197 9.335088 47.531202 9.335053 47.531235 9.335031 47.53124 9.33494 47.531211 9.334815 47.531198 9.334733 47.531205 9.334665 47.531218 9.334582 47.531219 9.334511 47.531248 9.334395 47.53126 9.334369 47.531232 9.334307 47.531245 9.334243 47.531252 9.33422 47.53125 9.334156 47.531271 9.333972 47.531309 9.333932 47.531331 9.333749 47.53139 9.333705 47.531382 9.333641 47.53139 9.333556 47.531415 9.333548 47.531427 9.333473 47.531436 9.333426 47.531431 9.333381 47.531442 9.333321 47.531476 9.333303 47.531463 9.333263 47.531463 9.333245 47.531486 9.333221 47.531497 9.33317 47.531482 9.333046 47.531504 9.333012 47.531523 9.332898 47.531523 9.332844 47.531546 9.332772 47.531547 9.33275 47.531543 9.332698 47.531554 9.332662 47.531551 9.332544 47.531563 9.332515 47.531573 9.332355 47.531566 9.332231 47.531443 9.330931 47.531613 9.330819 47.53109 9.330583 47.530808 9.330011 47.530362 9.329509 47.530415 9.32859 47.530578 9.327861 47.530743 9.327323 47.530832 9.327322 47.530937 9.327299 47.530917 9.327277 47.530909 9.327253 47.530905 9.327081 47.530912 9.326744 47.530897 9.326499 47.530849 9.326554 47.530984 9.326036 47.531065 9.325762 47.531127 9.325575 47.531181 9.325397 47.531254 9.325246 47.53135 9.32508 47.531522 9.324868 47.53172 9.32463 47.531922 9.324325 47.532192 9.324345 47.532219 9.324402 47.532249 9.324419 47.532304 9.324439 47.532328 9.32453 47.532366 9.324491 47.53256 9.324481 47.53259 9.324463 47.532618 9.324598 47.532684 9.324598 47.532702 9.324579 47.532735 9.3245 47.532748 9.32443 47.532849 9.324446 47.53291 9.324483 47.532913 9.324506 47.532932 9.324488 47.53297 9.324512 47.533004 9.324515 47.533033 9.324534 47.533045 9.324545 47.533086 9.324578 47.533112 9.324609 47.533166 9.324656 47.533189 9.324663 47.533215 9.32469 47.53323 9.324656 47.533303 9.324683 47.533328 9.32466 47.533339 9.324703 47.533385 9.324694 47.533462 9.324723 47.533477 9.324709 47.533497 9.324727 47.533532 9.324706 47.533539 9.324679 47.533647 9.324638 47.533684 9.3246 47.533679 9.324463 47.53378 9.324423 47.533755 9.324375 47.533744 9.324339 47.533749 9.32431 47.533727 9.324229 47.533779 9.324241 47.533799 9.324206 47.533807 9.324209 47.533831 9.324222 47.533843 9.324219 47.533869 9.324182 47.533893 9.324171 47.533877 9.324126 47.53387 9.324064 47.533881 9.324068 47.533913 9.323967 47.533906 9.32394 47.533917 9.323929 47.533913 9.32392 47.533875 9.323952 47.533869 9.323937 47.533837 9.3239 47.533815 9.32387 47.533817 9.323878 47.53378 9.323848 47.533737 9.323762 47.533763 9.32371 47.53374 9.323676 47.533745 9.323561 47.53372 9.323553 47.533687 9.323501 47.533689 9.323477 47.533674 9.323493 47.533659 9.323491 47.533607 9.323473 47.533558 9.323393 47.533519 9.323361 47.533453 9.323313 47.533437 9.323304 47.533415 9.323312 47.533375 9.32335 47.533355 9.32336 47.533331 9.323388 47.533317 9.323412 47.533278 9.323368 47.533219 9.323416 47.5332 9.323447 47.533173 9.323459 47.533123 9.323434 47.533103 9.323457 47.533048 9.323437 47.533039 9.323398 47.533038 9.323357 47.533 9.323329 47.533006 9.32328 47.532965 9.323233 47.532948 9.3232 47.532919 9.323167 47.532906 9.323126 47.532874 9.323091 47.532835 9.322746 47.533063 9.322565 47.533143 9.321831 47.533306 9.321333 47.5334 9.321312 47.53336 9.320806 47.533461 9.32052 47.533495 9.320261 47.533499 9.319908 47.533487 9.319743 47.533672 9.318523 47.533283 9.318762 47.532867 9.31855 47.532834 9.3179 47.532623 9.316593 47.53224 9.316913 47.531851 9.317252 47.531723 9.31786 47.530662 9.315346 47.530478 9.315094 47.530378 9.314972 47.530289 9.314488 47.529864 9.313593 47.529531 9.313728 47.529422 9.313764 47.529387 9.3138 47.529309 9.313864 47.529146 9.313888 47.529104 9.313979 47.529028 9.314007 47.528834 9.314008 47.52873 9.314041 47.528682 9.314056 47.528638 9.314103 47.528634 9.314206 47.528568 9.314252 47.528548 9.314354 47.528471 9.314459 47.52846 9.314525 47.528382 9.314581 47.528204 9.314677 47.527958 9.314686 47.527914 9.31474 47.527741 9.314672 47.527634 9.314713 47.527565 9.314728 47.527505 9.314828 47.527307 9.314844 47.527202 9.314871 47.527151 9.314863 47.52705 9.314903 47.526962 9.314919 47.526899 9.314899 47.526798 9.314939 47.526722 9.314907 47.526386 9.314908 47.526296 9.314891 47.526193 9.314891 47.526133 9.314849 47.526077 9.314844 47.525961 9.314824 47.525922 9.314828 47.52586 9.314845 47.525805 9.314789 47.525655 9.314778 47.52553 9.314743 47.525452 9.314724 47.52537 9.314658 47.525293 9.314623 47.525194 9.314567 47.52511 9.314474 47.524824 9.314406 47.524726 9.314346 47.524621 9.314323 47.524562 9.314214 47.524425 9.314182 47.524373 9.31411 47.524212 9.314025 47.524098 9.314015 47.524092 9.312527 47.524869 9.312128 47.524977 9.311289 47.525483 9.311002 47.525978 9.310958 47.526278 9.31086 47.52645 9.310293 47.526955 9.309625 47.527353 9.308811 47.527684 9.308294 47.527818 9.307802 47.527885 9.307683 47.527875 9.307436 47.527888 9.305237 47.528208 9.305219 47.528284 9.305141 47.528271 9.304005 47.528398 9.303691 47.527669 9.302619 47.526085 9.300808 47.52635 9.299 47.526256 9.297551 47.526478 9.297543 47.525711 9.297314 47.525374 9.296555 47.524716 9.294731 47.524877 9.293532 47.52462 9.292059 47.524336 9.290264 47.523982 9.28875 47.523675 9.283542 47.522649 9.286076 47.52048 9.285231 47.519903 9.284393 47.519015 9.284085 47.518556 9.283979 47.518362 9.283761 47.517556 9.283734 47.517344 9.283745 47.517176 9.283767 47.517049 9.283868 47.516723 9.283921 47.516615 9.282658 47.516306 9.282192 47.516256 9.280728 47.515942 9.281236 47.515433 9.281224 47.515163 9.281039 47.514785 9.280982 47.514618 9.28089 47.514281 9.280863 47.51377 9.281439 47.513504 9.281719 47.513289 9.281562 47.512564 9.281611 47.512045 9.281358 47.511956 9.281023 47.511885 9.280623 47.511881 9.280153 47.511911 9.279904 47.511955 9.279593 47.512043 9.27922 47.512294 9.279093 47.513824 9.278238 47.513913 9.277635 47.514599 9.277179 47.514641 9.277 47.514858 9.276864 47.514979 9.27664 47.51512 9.276603 47.515094 9.276166 47.514843 9.275582 47.514639 9.275083 47.514575 9.274709 47.514567 9.274793 47.514314 9.274726 47.514234 9.274592 47.514144 9.273688 47.513964 9.273621 47.513795 9.273381 47.513522 9.273335 47.513423 9.272783 47.513341 9.271732 47.514095 9.2717 47.51408 9.271406 47.514393 9.27081 47.514041 9.270413 47.513818 9.270015 47.513633 9.269914 47.513133 9.269618 47.512839 9.270189 47.512309 9.271838 47.512043 9.272117 47.511701 9.272283 47.51136 9.272292 47.51117 9.272819 47.509799 9.273259 47.509858 9.273674 47.509838 9.273848 47.509873 9.274236 47.510023 9.274478 47.510044 9.274862 47.508975 9.275184 47.509004 9.275494 47.509038 9.275527 47.508983 9.27566 47.508794 9.275765 47.508768 9.275839 47.508768 9.276535 47.508823 9.276754 47.508814 9.276963 47.508769 9.277155 47.508751 9.277789 47.508782 9.27914 47.508752 9.279852 47.50836 9.279875 47.508318 9.281047 47.508278 9.282178 47.508379 9.282258 47.507653 9.282324 47.507697 9.282543 47.507826 9.282828 47.507919 9.283357 47.508004 9.283733 47.508 9.284049 47.508006 9.284311 47.507967 9.28452 47.507847 9.284724 47.507883 9.284658 47.508048 9.287636 47.50875 9.287649 47.509598 9.288423 47.509584 9.288501 47.509574 9.288844 47.509352 9.289377 47.509288 9.289997 47.509358 9.290419 47.509327 9.290774 47.509067 9.291491 47.50897 9.292817 47.508628 9.293211 47.510111 9.294744 47.510659 9.295925 47.511193 9.2966 47.511583 9.297786 47.511248 9.298985 47.511134 9.300619 47.51406 9.301375 47.513938 9.302109 47.513753 9.302173 47.513976 9.302228 47.514254 9.302279 47.514417 9.302386 47.514538 9.302492 47.514613 9.302639 47.5147 9.303835 47.514307 9.304535 47.51556 9.303183 47.516085 9.304067 47.516839 9.304175 47.516951 9.304371 47.517185 9.304479 47.517346 9.30461 47.517626 9.306197 47.51669 9.306095 47.515996 9.307657 47.515563 9.308142 47.515365 9.308733 47.515107 9.30924 47.514752 9.310225 47.514019 9.310426 47.513815 9.31062 47.513655 9.310879 47.513478 9.311319 47.513214 9.31128 47.51314 9.31178 47.512939 9.312206 47.512689 9.312927 47.512319 9.313997 47.511958 9.314469 47.511884 9.314906 47.511827 9.315345 47.511801 9.316597 47.511531 9.317009 47.511548 9.317867 47.511559 9.318253 47.510609 9.317244 47.51071 9.316303 47.508852 9.316136 47.508932 9.315981 47.508974 9.315837 47.509131 9.315611 47.509462 9.315364 47.509702 9.31443 47.508987 9.31382 47.508952 9.313542 47.509111 9.31247 47.509416 9.311853 47.50954 9.311408 47.509604 9.311315 47.508809 9.31122 47.50816 9.310636 47.507759 9.309655 47.507258 9.309321 47.506749 9.309184 47.50592 9.309603 47.505634 9.31045 47.505245 9.310252 47.504555 9.309733 47.50361 9.309658 47.503462 9.309958 47.50325 9.310241 47.503082 9.310374 47.503031 9.310484 47.502881 9.310497 47.502806 9.310487 47.502654 9.310426 47.502362 9.310273 47.501918 9.310117 47.501647 9.309888 47.501419 9.309618 47.501004 9.30942 47.500613 9.309384 47.500192 9.309487 47.499894 9.30959 47.49978 9.309721 47.49969 9.309994 47.499603 9.310289 47.499582 9.31041 47.499588 9.310777 47.499702 9.311395 47.500005 9.312233 47.500589 9.312757 47.50093 9.313121 47.501177 9.313479 47.501436 9.313857 47.501698 9.314768 47.502189 9.315306 47.502407 9.315967 47.502638 9.316524 47.502776 9.316881 47.502812 9.317084 47.502815 9.317516 47.502772 9.31809 47.502623 9.318264 47.502568 9.318507 47.502475 9.318675 47.50239 9.318918 47.50223 9.319242 47.501973 9.319467 47.501757 9.319595 47.50162 9.31977 47.501407 9.320141 47.500722 9.320501 47.500183 9.320905 47.499665 9.321172 47.499357 9.321233 47.499259 9.321292 47.499103 9.321316 47.498801 9.321237 47.49843 9.321113 47.498128 9.320921 47.497779 9.3208 47.497447 9.320699 47.497134 9.320615 47.496823 9.32051 47.49607 9.320538 47.495761 9.3206 47.495436 9.320765 47.495173 9.320913 47.494923 9.321112 47.494614 9.321285 47.494381 9.321371 47.49425 9.321745 47.493769 9.322159 47.492966 9.322223 47.492794 9.321336 47.492684 9.320971 47.492703 9.320843 47.492724 9.320819 47.492614 9.320602 47.492584 9.320469 47.492561 9.320263 47.492505 9.320201 47.492474 9.320067 47.492351 9.32002 47.492294 9.319963 47.492259 9.319909 47.492234 9.319853 47.492192 9.319672 47.492083 9.319491 47.491939 9.318896 47.491352 9.318565 47.491067 9.317854 47.490954 9.317708 47.490862 9.317985 47.490637 9.318032 47.490123 9.316893 47.489786 9.317185 47.489383 9.317289 47.489147 9.317257 47.489108 9.317055 47.488902 9.316713 47.488562 9.316395 47.488279 9.316104 47.488127 9.315688 47.487959 9.315568 47.487915 9.315199 47.487809 9.314956 47.487767 9.314609 47.487685 9.312643 47.487007 9.311934 47.486816 9.310296 47.486197 9.310473 47.486019 9.309644 47.485132 9.309644 47.485075 9.30967 47.48504 9.309685 47.484967 9.309687 47.484797 9.309712 47.484706 9.309698 47.484618 9.309714 47.484586 9.309711 47.484558 9.30975 47.484502 9.30975 47.484447 9.309716 47.484377 9.309651 47.484342 9.309594 47.4843 9.309552 47.484296 9.309516 47.484261 9.309545 47.484162 9.309559 47.484088 9.30961 47.484029 9.309669 47.484007 9.309708 47.483976 9.309717 47.483955 9.30964 47.483917 9.309584 47.483872 9.309525 47.483848 9.309396 47.48378 9.309332 47.483789 9.309277 47.483804 9.309255 47.483805 9.309218 47.483797 9.309182 47.483781 9.309096 47.483712 9.309072 47.483687 9.309063 47.483649 9.309007 47.483604 9.308872 47.483517 9.308771 47.483468 9.308731 47.483438 9.30868 47.483418 9.30863 47.483363 9.308583 47.483326 9.308423 47.483236 9.307712 47.482968 9.307522 47.482892 9.30741 47.482854 9.307185 47.482765 9.307097 47.482735 9.306732 47.482569 9.306538 47.482485 9.306463 47.482444 9.306407 47.482401 9.306347 47.482335 9.306275 47.482264 9.306219 47.482239 9.306161 47.482189 9.306154 47.48213 9.306167 47.482078 9.306177 47.481948 9.306091 47.481845 9.305938 47.481768 9.305846 47.481696 9.305765 47.481582 9.30559 47.481402 9.305504 47.481375 9.30545 47.481327 9.305258 47.481218 9.305198 47.481199 9.305155 47.48116 9.305111 47.48114 9.305118 47.481132 9.30491 47.481069 9.304868 47.481063 9.304717 47.481007 9.304579 47.480953 9.304545 47.480909 9.304441 47.480902 9.304337 47.480913 9.30427 47.480875 9.304204 47.480853 9.304106 47.480806 9.304015 47.480769 9.303953 47.480768 9.303861 47.480716 9.30382 47.480676 9.303712 47.480624 9.303642 47.480597 9.303599 47.480567 9.303464 47.480502 9.303418 47.480441 9.303399 47.480372 9.303367 47.480343 9.303291 47.480334 9.303268 47.480311 9.303204 47.480279 9.303169 47.480236 9.302987 47.480188 9.302806 47.480124 9.302735 47.480084 9.30262 47.480037 9.302568 47.480023 9.302482 47.479981 9.302495 47.47997 9.302332 47.479919 9.302267 47.479908 9.302092 47.479841 9.301964 47.479815 9.301577 47.479722 9.301419 47.479675 9.301305 47.479668 9.301243 47.479652 9.301122 47.479634 9.301043 47.479628 9.300957 47.479629 9.300877 47.47962 9.300639 47.479538 9.300541 47.47951 9.300398 47.479449 9.300276 47.479375 9.300094 47.479308 9.300039 47.479291 9.300004 47.479262 9.299973 47.479227 9.299902 47.479193 9.299057 47.479831 9.298518 47.480182 9.298235 47.480381 9.297886 47.480573 9.297432 47.480702 9.29636 47.480296 9.29621 47.480554 9.296199 47.480588 9.296128 47.480704 9.295997 47.48078 9.295694 47.480852 9.295551 47.480906 9.295101 47.48091 9.294732 47.48094 9.294442 47.480975 9.2938 47.481071 9.293674 47.481058 9.29359 47.481094 9.293566 47.481135 9.290181 47.481467 9.290383 47.481966 9.289664 47.481849 9.289041 47.481907 9.288157 47.483434 9.288179 47.48349 9.288166 47.483561 9.288172 47.483597 9.288156 47.483661 9.288115 47.483732 9.288073 47.483775 9.288053 47.483843 9.288069 47.483905 9.28815 47.483986 9.288219 47.484042 9.288254 47.484077 9.288244 47.484128 9.288242 47.484195 9.288156 47.484187 9.288054 47.484198 9.288018 47.484209 9.287954 47.484215 9.287862 47.484192 9.28783 47.484197 9.287798 47.484236 9.287697 47.484264 9.287566 47.484293 9.287502 47.484297 9.28739 47.484354 9.287267 47.484362 9.287198 47.484392 9.287135 47.484437 9.287092 47.484421 9.286994 47.484422 9.286831 47.484409 9.286662 47.484369 9.286479 47.484318 9.286347 47.484318 9.286216 47.484287 9.286082 47.484301 9.285844 47.484222 9.285711 47.484227 9.285582 47.484268 9.285448 47.484259 9.285318 47.484296 9.285047 47.484347 9.284903 47.484338 9.284657 47.484408 9.284422 47.484498 9.284299 47.484533 9.284214 47.484546 9.283999 47.484606 9.283814 47.484632 9.282469 47.485029 9.282431 47.485033 9.282399 47.485027 9.282037 47.484872 9.281879 47.484794 9.281794 47.484732 9.281773 47.484704 9.281641 47.484635 9.281429 47.484496 9.280726 47.483934 9.280547 47.48374 9.280298 47.483422 9.280246 47.483233 9.280106 47.48253 9.280082 47.48201 9.279999 47.481693 9.279913 47.48157 9.27982 47.481482 9.279613 47.481358 9.279093 47.481408 9.278187 47.481212 9.277216 47.4812 9.277149 47.481121 9.276151 47.481088 9.275679 47.4809 9.273866 47.480512 9.273762 47.480438 9.273595 47.479561 9.272548 47.479624 9.271915 47.479652 9.27144 47.479626 9.271286 47.479526 9.26977 47.478973 9.269503 47.478851 9.268746 47.478678 9.268366 47.478678 9.266965 47.477817 9.266847 47.477733 9.266767 47.477693 9.266558 47.477571 9.26647 47.477503 9.266326 47.477352 9.266288 47.477302 9.266178 47.477252 9.266056 47.477214 9.265952 47.477158 9.265951 47.47708 9.265701 47.477009 9.265649 47.476981 9.265606 47.476928 9.265554 47.476915 9.265523 47.476882 9.265291 47.476792 9.265141 47.47676 9.265084 47.476731 9.264784 47.476629 9.264527 47.476587 9.264414 47.476539 9.264246 47.476513 9.264111 47.476508 9.263972 47.476476 9.263836 47.476461 9.26371 47.476507 9.263582 47.476534 9.263464 47.476539 9.263346 47.476515 9.263248 47.476442 9.263105 47.476439 9.262952 47.476452 9.262877 47.476467 9.262844 47.476531 9.26277 47.476633 9.262464 47.476689 9.262358 47.476682 9.262229 47.476715 9.262094 47.476698 9.261891 47.476681 9.26176 47.476693 9.261629 47.476712 9.261475 47.476745 9.261318 47.476732 9.261212 47.476716 9.26071 47.476605 9.260647 47.476595 9.260547 47.476598 9.255201 47.477016 9.25351 47.47757 9.252962 47.476836 9.252868 47.476801 9.252476 47.476504 9.252404 47.476456 9.249798 47.477412 9.248296 47.477791 9.247407 47.479283 9.247271 47.479414 9.246644 47.479946 9.246438 47.480309 9.246553 47.480564 9.246858 47.48067 9.246844 47.480739 9.246773 47.480924 9.246928 47.480956 9.246887 47.481018 9.246161 47.48176 9.245849 47.482245 9.244537 47.481919 9.243363 47.48208 9.243124 47.48203 9.242898 47.48202 9.242168 47.482123 9.241572 47.482302 9.241132 47.482623 9.241044 47.482553 9.240574 47.482884 9.240281 47.483007 9.239998 47.48315 9.239811 47.483299 9.239653 47.483464 9.23951 47.483601 9.239317 47.483673 9.239164 47.483718 9.238883 47.483604 9.23862 47.483394 9.238549 47.483292 9.238391 47.483042 9.238336 47.482882 9.233446 47.483019 9.233455 47.483265 9.233484 47.483667 9.233505 47.48407 9.233514 47.484789 9.233527 47.484997 9.233539 47.485098 9.233562 47.485196 9.232909 47.485343 9.232712 47.485372 9.232715 47.485417 9.232685 47.48545 9.232631 47.485474 9.230142 47.486213 9.230067 47.486201 9.229714 47.485958 9.229535 47.485808 9.229397 47.485662 9.229172 47.485396 9.228956 47.485443 9.228868 47.485495 9.228715 47.485607 9.228217 47.486 9.228133 47.486059 9.228028 47.4861 9.227911 47.486119 9.227776 47.486133 9.226318 47.486425 9.226063 47.486483 9.225948 47.48652 9.223079 47.4859 9.222678 47.485646 9.221909 47.485358 9.221322 47.485263 9.220957 47.485259 9.21953 47.485774 9.218892 47.485402 9.216059 47.483693 9.215878 47.483877 9.215246 47.483111 9.214505 47.482333 9.214965 47.481817 9.214434 47.48087 9.214304 47.480916 9.213957 47.480991 9.213666 47.481191 9.213447 47.481284 9.213382 47.481289 9.213276 47.481266 9.21314 47.481305 9.213072 47.481399 9.212909 47.481427 9.212753 47.481435 9.212641 47.481466 9.212548 47.481558 9.212387 47.481645 9.212106 47.481774 9.212056 47.481805 9.211767 47.481816 9.211465 47.481868 9.211329 47.481819 9.211146 47.48187 9.21098 47.481823 9.210985 47.481874 9.21093 47.481926 9.210804 47.481915 9.210762 47.481939 9.210737 47.482003 9.210749 47.482056 9.210597 47.482106 9.210202 47.482136 9.211088 47.483964 9.210057 47.484173 9.209775 47.484259 9.209626 47.484258 9.209464 47.484379 9.209437 47.484392 9.209358 47.484415 9.209323 47.484456 9.209305 47.484491 9.209203 47.484489 9.20916 47.484506 9.209094 47.484515 9.20905 47.484531 9.209012 47.484557 9.208927 47.484569 9.208847 47.484599 9.20876 47.484609 9.208648 47.484591 9.208541 47.484566 9.208462 47.484577 9.208442 47.484599 9.208345 47.484581 9.208272 47.484608 9.208191 47.484597 9.208161 47.484585 9.208111 47.48454 9.208046 47.48452 9.207995 47.484529 9.207915 47.484487 9.207821 47.484479 9.207702 47.484476 9.207614 47.484439 9.208091 47.48481 9.208133 47.484859 9.208761 47.485017 9.20903 47.485073 9.209126 47.485172 9.209125 47.485321 9.20895 47.485635 9.208886 47.486001 9.208913 47.486238 9.208956 47.486424 9.208866 47.486589 9.208712 47.48671 9.208467 47.487012 9.208054 47.487167 9.208053 47.487362 9.208014 47.487633 9.208006 47.487754 9.208013 47.487862 9.207843 47.487993 9.20767 47.488139 9.207685 47.488302 9.207643 47.488465 9.207644 47.488643 9.20776 47.488783 9.208179 47.48899 9.208526 47.489169 9.209018 47.489407 9.209298 47.489596 9.209386 47.489778 9.209409 47.489926 9.209503 47.490048 9.209819 47.490249 9.210043 47.490377 9.210215 47.49051 9.210531 47.490712 9.210631 47.49072 9.211003 47.491104 9.211149 47.49119 9.21113 47.49129 9.210844 47.491225 9.210698 47.491213 9.210642 47.491125 9.210325 47.49104 9.209985 47.490819 9.20969 47.490822 9.209057 47.490678 9.208853 47.49059 9.208717 47.490658 9.208505 47.49068 9.208298 47.490755 9.208266 47.490752 9.208222 47.49074 9.208111 47.490763 9.207915 47.490736 9.207283 47.490943 9.207278 47.490853 9.206959 47.490844 9.206741 47.490824 9.206651 47.490808 9.206283 47.490793 9.206203 47.490767 9.206125 47.490771 9.206049 47.490782 9.206021 47.490811 9.205979 47.490822 9.205944 47.490812 9.205903 47.490825 9.205813 47.490816 9.20578 47.490842 9.205663 47.490861 9.205502 47.490913 9.205516 47.490943 9.205225 47.490918 9.204899 47.491018 9.20488 47.491038 9.204651 47.491068 9.204365 47.49119 9.204152 47.491158 9.204048 47.491086 9.203966 47.491056 9.203793 47.491035 9.203567 47.490974 9.203449 47.490955 9.203359 47.490892 9.203084 47.490869 9.202804 47.490767 9.201743 47.491132 9.201298 47.49152 9.200013 47.490941 9.198958 47.491699 9.199041 47.491767 9.197987 47.492481 9.194305 47.490902 9.193647 47.491492 9.193519 47.491516 9.194458 47.492909 9.194371 47.492933 9.194561 47.493141 9.194613 47.493183 9.191837 47.494326 9.190703 47.49472 9.190761 47.494814 9.190303 47.494931 9.190019 47.495071 9.189509 47.494537 9.189268 47.494645 9.189048 47.494665 9.188652 47.49463 9.188667 47.494476 9.188056 47.494275 9.187773 47.494206 9.187587 47.494128 9.187392 47.494053 9.18723 47.494008 9.186125 47.493836 9.185549 47.493646 9.185273 47.493538 9.184097 47.493308 9.183327 47.495012 9.183251 47.494996 9.183155 47.495211 9.182958 47.495696 9.182909 47.495882 9.182878 47.4961 9.182857 47.496426 9.182858 47.496894 9.182784 47.497119 9.182722 47.497461 9.182538 47.498035 9.182423 47.49831 9.182323 47.498491 9.182344 47.498564 9.182301 47.498816 9.18229 47.499012 9.182234 47.499336 9.182181 47.499296 9.181973 47.499228 9.181858 47.499171 9.181743 47.499086 9.181616 47.498955 9.181444 47.499004 9.178781 47.498999 9.179836 47.498042 9.178657 47.496811 9.178505 47.49682 9.178107 47.496863 9.177769 47.49696 9.177232 47.497161 9.177214 47.497117 9.17656 47.497207 9.176102 47.497283 9.175405 47.496697 9.174949 47.496478 9.174855 47.496896 9.174705 47.497209 9.174608 47.497347 9.174175 47.49741 9.174337 47.497769 9.174349 47.498017 9.174308 47.498106 9.174023 47.498356 9.173611 47.498452 9.173447 47.498751 9.172976 47.498924 9.172955 47.499123 9.172756 47.499136 9.172419 47.499278 9.172281 47.499323 9.172217 47.499327 9.172046 47.49931 9.171888 47.499216 9.171157 47.499581 9.171266 47.499676 9.171218 47.499708 9.171327 47.499767 9.170408 47.50027 9.17049 47.500341 9.17049 47.50045 9.170827 47.50119 9.170827 47.501248 9.17091 47.501281 9.171972 47.503109 9.173198 47.505288 9.172691 47.505392 9.170877 47.505828 9.170449 47.505964 9.170376 47.505933 9.170289 47.505823 9.170266 47.505765 9.170356 47.505744 9.169948 47.504411 9.169876 47.50422 9.169699 47.504035 9.169626 47.503902 9.169614 47.503444 9.169206 47.50339 9.169249 47.503242 9.168969 47.503262 9.168808 47.503309 9.168399 47.503501 9.168267 47.503446 9.167967 47.503643 9.167973 47.503669 9.168101 47.503837 9.168337 47.503982 9.168382 47.504053 9.168398 47.504153 9.168341 47.504303 9.16834 47.504375 9.16827 47.504483 9.168266 47.504582 9.168347 47.504728 9.168435 47.504855 9.168476 47.504873 9.168525 47.504928 9.16871 47.50551 9.168174 47.50566 9.167609 47.505854 9.167212 47.506009 9.167106 47.506047 9.167135 47.506028 9.167143 47.505985 9.167102 47.505926 9.166945 47.50586 9.16688 47.505824 9.166825 47.505807 9.166837 47.505771 9.16679 47.505692 9.166739 47.50569 9.166715 47.505671 9.166714 47.505624 9.166791 47.505538 9.166787 47.505496 9.166709 47.505428 9.166662 47.505307 9.166594 47.505287 9.166507 47.505339 9.166424 47.505303 9.166428 47.505277 9.166499 47.505247 9.16651 47.505225 9.166449 47.505171 9.166411 47.50515 9.166317 47.505126 9.166239 47.505078 9.166189 47.505039 9.166224 47.504943 9.166192 47.504908 9.166017 47.504817 9.165975 47.504777 9.165917 47.504654 9.165883 47.504641 9.165818 47.504645 9.165811 47.50462 9.165845 47.504581 9.165842 47.504523 9.165692 47.504491 9.165627 47.504266 9.165452 47.504023 9.165314 47.50393 9.165225 47.503936 9.165116 47.503892 9.1651 47.503848 9.165099 47.503804 9.16507 47.503752 9.165001 47.50375 9.164898 47.503715 9.164833 47.50373 9.164699 47.503722 9.164615 47.503687 9.164621 47.503575 9.164633 47.503498 9.164431 47.503494 9.164337 47.503513 9.164193 47.503517 9.164153 47.503499 9.164239 47.503461 9.164266 47.503436 9.164256 47.503395 9.164206 47.503341 9.164132 47.503305 9.163982 47.503269 9.163804 47.503184 9.163697 47.50318 9.163634 47.503091 9.163632 47.503014 9.163605 47.502937 9.163625 47.502892 9.163516 47.502887 9.163517 47.502824 9.163495 47.502788 9.163528 47.502748 9.163484 47.502711 9.163458 47.502729 9.163427 47.502724 9.163576 47.502502 9.163486 47.502381 9.161955 47.501951 9.161688 47.501095 9.161844 47.501026 9.161774 47.500654 9.162238 47.500343 9.162727 47.500036 9.16306 47.499854 9.163125 47.499771 9.16354 47.499421 9.163809 47.4992 9.163967 47.498845 9.163827 47.498466 9.163555 47.498204 9.163455 47.498054 9.163076 47.497774 9.162875 47.497547 9.162739 47.497553 9.162557 47.497185 9.162502 47.497003 9.162319 47.496804 9.16215 47.496494 9.161931 47.496261 9.161757 47.496006 9.161684 47.495863 9.161746 47.495685 9.161937 47.49549 9.161957 47.495441 9.161458 47.495103 9.161019 47.494528 9.160708 47.494501 9.160445 47.493982 9.1602 47.49366 9.159937 47.493461 9.159884 47.493213 9.15992 47.493064 9.159883 47.492851 9.159623 47.492469 9.159489 47.49222 9.15934 47.492031 9.159857 47.49184 9.159176 47.491088 9.158468 47.490706 9.158089 47.490622 9.157628 47.490574 9.157635 47.490384 9.157508 47.49021 9.157147 47.489918 9.15695 47.489797 9.156626 47.48962 9.156483 47.489566 9.155607 47.489508 9.155265 47.489306 9.155142 47.48894 9.15492 47.488884 9.154641 47.488931 9.154674 47.489157 9.154635 47.489349 9.154575 47.489496 9.154063 47.489575 9.153949 47.489533 9.153823 47.48948 9.153615 47.489346 9.153444 47.489216 9.153251 47.489175 9.152851 47.489144 9.152599 47.489319 9.152448 47.489439 9.152167 47.489364 9.151723 47.489324 9.151482 47.489232 9.151401 47.489211 9.151313 47.489233 9.151045 47.489288 9.150925 47.489269 9.150621 47.489172 9.150437 47.489069 9.150182 47.489043 9.150021 47.489093 9.149723 47.489093 9.149561 47.488937 9.149355 47.488696 9.149259 47.48866 9.148671 47.488713 9.14836 47.488648 9.147954 47.488638 9.147569 47.488564 9.147541 47.488489 9.147433 47.48828 9.147242 47.488228 9.146941 47.488108 9.146323 47.487881 9.146087 47.487808 9.145931 47.487746 9.145642 47.487657 9.145442 47.48757 9.145394 47.487554 9.145015 47.487464 9.144797 47.487439 9.144625 47.487384 9.144268 47.487224 9.144289 47.487195 9.143842 47.486828 9.143626 47.486631 9.143259 47.486359 9.143191 47.486433 9.143106 47.486504 9.142612 47.486776 9.142165 47.486588 9.141487 47.486388 9.141497 47.486532 9.14108 47.486564 9.140761 47.486655 9.140594 47.486723 9.140674 47.486765 9.140773 47.486848 9.140809 47.486944 9.140827 47.487105 9.14088 47.487193 9.14022 47.487401 9.139232 47.487232 9.138883 47.487323 9.138706 47.487456 9.138563 47.487585 9.13849 47.487753 9.138313 47.48775 9.138319 47.487699 9.138235 47.487613 9.138162 47.487579 9.138143 47.487546 9.137745 47.487573 9.1373 47.48759 9.13731 47.487477 9.137263 47.487355 9.136906 47.486956 9.136422 47.486873 9.13618 47.487315 9.135583 47.487234 9.135085 47.487125 9.134989 47.487107 9.134763 47.487134 9.134543 47.487115 9.134176 47.486998 9.134064 47.487131 9.133572 47.486958 9.133547 47.486971 9.133538 47.487042 9.133508 47.487113 9.133506 47.487355 9.132894 47.487444 9.132802 47.487238 9.132773 47.487042 9.132532 47.486804 9.131916 47.486578 9.131526 47.486821 9.130939 47.486595 9.130643 47.486471 9.130231 47.486563 9.129623 47.48635 9.12891 47.486242 9.128203 47.486164 9.127926 47.486078 9.127583 47.485995 9.127371 47.485922 9.127356 47.485932 9.127284 47.485935 9.127255 47.486 9.127181 47.485996 9.127076 47.486002 9.126842 47.486053 9.126833 47.486094 9.126763 47.486083 9.126648 47.486098 9.126632 47.486111 9.126467 47.485736 9.126425 47.485673 9.12586 47.485633 9.125278 47.48561 9.125396 47.485478 9.125565 47.485155 9.125096 47.484879 9.125571 47.484516 9.125725 47.484163 9.125848 47.483687 9.125362 47.483321 9.124755 47.483002 9.123921 47.482639 9.123799 47.482617 9.123656 47.482604 9.12335 47.482633 9.123211 47.482615 9.122996 47.482546 9.122916 47.482508 9.122787 47.482438 9.122592 47.482286 9.122357 47.482182 9.122038 47.482126 9.121597 47.482018 9.121117 47.481894 9.120712 47.481819 9.120185 47.481738 9.119688 47.48169 9.119355 47.481672 9.118715 47.481704 9.118631 47.481701 9.118531 47.481706 9.117783 47.481685 9.117397 47.481704 9.117225 47.481696 9.117236 47.481747 9.117204 47.481893 9.117113 47.481989 9.117347 47.482072 9.117162 47.482338 9.116934 47.482638 9.116893 47.482741 9.117082 47.482945 9.116911 47.482931 9.116809 47.483055 9.116609 47.483242 9.116353 47.483195 9.116357 47.483346 9.116332 47.483528 9.116265 47.483669 9.116107 47.483784 9.115855 47.484166 9.115771 47.484132 9.115729 47.484165 9.115616 47.484156 9.115537 47.484178 9.115453 47.484224 9.115379 47.484215 9.115307 47.484192 9.115215 47.484221 9.115364 47.484413 9.115509 47.484622 9.115645 47.484908 9.115372 47.484968 9.115166 47.484995 9.114919 47.484968 9.114729 47.484954 9.114499 47.484987 9.114417 47.485018 9.114371 47.485008 9.113684 47.485142 9.113676 47.48548 9.11372 47.485674 9.113784 47.485794 9.113831 47.485828 9.113903 47.486009 9.114022 47.486107 9.11408 47.486112 9.114179 47.486176 9.114296 47.486172 9.114319 47.486182 9.114077 47.486381 9.113322 47.486123 9.112861 47.486001 9.112576 47.485953 9.112359 47.48602 9.111908 47.486248 9.111899 47.486272 9.111817 47.486417 9.111868 47.486441 9.111598 47.486505 9.111584 47.486144 9.11159 47.486014 9.110453 47.485932 9.110207 47.486307 9.109232 47.486236 9.108752 47.486247 9.108332 47.486322 9.108128 47.486393 9.107957 47.486477 9.107682 47.486735 9.107637 47.48673 9.107384 47.486443 9.106661 47.486493 9.106422 47.48653 9.106014 47.486529 9.106005 47.486435 9.105613 47.486353 9.105288 47.486305 9.105067 47.486283 9.104729 47.48641 9.10471 47.48648 9.104449 47.4866 9.104173 47.486683 9.104172 47.486699 9.102457 47.487007 9.102095 47.487043 9.101796 47.487093 9.101367 47.487105 9.100908 47.487151 9.100655 47.487184 9.100545 47.487281 9.100445 47.487412 9.100042 47.487514 9.099776 47.487571 9.099577 47.48717 9.099498 47.487039 9.099392 47.486915 9.099264 47.486804 9.099119 47.486707 9.099029 47.486661 9.098989 47.486528 9.098976 47.486287 9.098972 47.485858 9.098836 47.485921 9.098755 47.485935 9.098608 47.485889 9.098482 47.485807 9.098391 47.485821 9.098358 47.485784 9.098065 47.485746 9.097946 47.485756 9.097882 47.485733 9.097826 47.485681 9.097787 47.485735 9.09762 47.485838 9.097508 47.48581 9.097435 47.485831 9.097338 47.485808 9.097228 47.485808 9.097099 47.485794 9.096852 47.48581 9.096841 47.485692 9.096573 47.485693 9.096501 47.485663 9.096221 47.485819 9.095698 47.485651 9.09524 47.485543 9.095288 47.485421 9.095164 47.485423 9.094973 47.485363 9.094832 47.485368 9.094687 47.48532 9.094574 47.485381 9.094335 47.48542 9.094177 47.48539 9.09384 47.485336 9.09359 47.485311 9.093472 47.485254 9.093383 47.485265 9.093137 47.485413 9.093067 47.485421 9.0929 47.485383 9.092782 47.485371 9.092768 47.485332 9.092668 47.485301 9.092625 47.485297 9.092574 47.485264 9.092603 47.485206 9.092513 47.485162 9.09251 47.485137 9.092452 47.485102 9.092273 47.48512 9.092189 47.485089 9.092118 47.485034 9.092123 47.484971 9.092222 47.484868 9.092216 47.484786 9.092092 47.484771 9.091204 47.484716 9.091085 47.484735 9.090987 47.484789 9.09094 47.484852 9.090913 47.484917 9.090824 47.48513 9.090709 47.485349 9.090673 47.485416 9.090635 47.485488 9.090572 47.485484 9.090313 47.485465 9.090355 47.485475 9.090369 47.485504 9.090353 47.485539 9.090213 47.485666 9.090186 47.485716 9.090182 47.485784 9.090216 47.48586 9.090261 47.485937 9.090193 47.485985 9.090078 47.486049 9.089791 47.486316 9.089722 47.48641 9.089684 47.486517 9.089624 47.487163 9.089558 47.487855 9.089502 47.488039 9.089397 47.48822 9.089178 47.488167 9.089027 47.488149 9.088864 47.488427 9.088738 47.488638 9.088647 47.488838 9.087546 47.490004 9.087557 47.490051 9.087595 47.490216 9.087596 47.49022 9.087606 47.490267 9.087543 47.490267 9.087437 47.490284 9.087298 47.490332 9.086969 47.490496 9.08683 47.490557 9.086691 47.490604 9.085621 47.490904 9.085438 47.490942 9.08511 47.490991 9.084976 47.490992 9.084881 47.490977 9.084821 47.491002 9.085212 47.491255 9.085504 47.491383 9.085759 47.491413 9.085909 47.491405 9.085999 47.491456 9.085968 47.491585 9.085754 47.491826 9.08629 47.492154 9.086311 47.492204 9.086043 47.492315 9.085818 47.492394 9.085617 47.492483 9.085814 47.492625 9.085894 47.492777 9.085583 47.492859 9.085348 47.49293 9.085205 47.492973 9.085003 47.493033 9.085297 47.493243 9.085265 47.493323 9.085424 47.493484 9.085644 47.493619 9.08571 47.493743 9.085837 47.493876 9.08584 47.494036 9.085436 47.494271 9.084901 47.494482 9.084859 47.49488 9.0848 47.495444 9.084769 47.495729 9.084326 47.495781 9.083596 47.495854 9.083604 47.496476 9.083581 47.497204 9.083164 47.497107 9.083157 47.497106 9.082601 47.496951 9.082351 47.496905 9.082115 47.496945 9.08183 47.497064 9.081733 47.497071 9.081593 47.497055 9.081236 47.496974 9.08112 47.496941 9.080858 47.496845 9.080861 47.496838 9.080943 47.496559 9.080936 47.496469 9.080498 47.496409 9.080091 47.496294 9.079666 47.496101 9.079264 47.495952 9.078477 47.495652 9.078083 47.495069 9.077688 47.494854 9.077398 47.49471 9.076853 47.494565 9.075723 47.494277 9.075693 47.49427 9.075606 47.494499 9.075528 47.494588 9.075467 47.494658 9.075189 47.494644 9.075189 47.494657 9.075204 47.494948 9.075201 47.495074 9.074888 47.495017 9.074706 47.494936 9.07451 47.495093 9.074487 47.495116 9.074466 47.49514 9.074046 47.495582 9.073729 47.495324 9.073423 47.495055 9.073078 47.494864 9.072898 47.494764 9.072596 47.494535 9.072305 47.494817 9.071944 47.494729 9.071926 47.49472 9.071719 47.494587 9.071498 47.494347 9.071435 47.494305 9.071366 47.494258 9.070974 47.4941 9.070833 47.494017 9.070484 47.493707 9.070096 47.49359 9.069603 47.493539 9.06936 47.493546 9.069072 47.493541 9.068894 47.493478 9.068776 47.493395 9.068677 47.49335 9.068562 47.493338 9.06851 47.493362 9.068157 47.493519 9.06802 47.493566 9.067867 47.493591 9.067485 47.493602 9.067388 47.493584 9.06731 47.493543 9.066919 47.493219 9.066715 47.49309 9.066469 47.492983 9.066257 47.492907 9.066049 47.492856 9.065661 47.492785 9.065541 47.492773 9.065525 47.492814 9.065815 47.492934 9.065904 47.493002 9.065933 47.493093 9.065939 47.493166 9.065973 47.493631 9.065876 47.493662 9.065517 47.493525 9.065356 47.493501 9.065209 47.493554 9.064083 47.494421 9.063869 47.494432 9.063614 47.494315 9.063603 47.494291 9.063052 47.493034 9.06287 47.493041 9.062242 47.493079 9.062215 47.49308 9.062001 47.492665 9.061974 47.492674 9.061946 47.492683 9.061926 47.492695 9.061315 47.493061 9.061084 47.493199 9.060951 47.493033 9.060868 47.492901 9.060684 47.492678 9.060558 47.492528 9.060353 47.492437 9.059909 47.492194 9.05976 47.492149 9.059721 47.492127 9.059708 47.492127 9.0597 47.492029 9.059708 47.491929 9.059733 47.49183 9.059779 47.491738 9.059936 47.491479 9.060028 47.491351 9.060146 47.491231 9.060636 47.490789 9.060652 47.490779 9.060699 47.490743 9.060656 47.490672 9.060705 47.490625 9.060498 47.490365 9.060433 47.490304 9.060182 47.490134 9.060032 47.490082 9.059699 47.490012 9.059501 47.48995 9.059232 47.489831 9.059051 47.489759 9.058832 47.489714 9.0582 47.489657 9.057898 47.489612 9.057605 47.48955 9.057201 47.489432 9.057086 47.489394 9.057039 47.489378 9.056867 47.489527 9.056776 47.489538 9.056808 47.489602 9.056736 47.489634 9.056749 47.489688 9.056648 47.489821 9.056576 47.489837 9.056492 47.489976 9.056525 47.490066 9.056466 47.490128 9.056333 47.490343 9.056264 47.490335 9.056125 47.490787 9.055998 47.49092 9.055953 47.490967 9.05588 47.491029 9.055554 47.491306 9.05555 47.49131 9.055266 47.49161 9.055252 47.49167 9.054656 47.491607 9.053691 47.491568 9.053327 47.491539 9.05327 47.491745 9.053236 47.491781 9.053078 47.491953 9.052858 47.491875 9.052817 47.491865 9.05276 47.491851 9.052591 47.492719 9.052443 47.493481 9.052384 47.493513 9.05204 47.49345 9.05175 47.493409 9.051548 47.493369 9.051423 47.493315 9.051387 47.493352 9.051311 47.49346 9.051304 47.49347 9.05137 47.493517 9.051319 47.493558 9.051274 47.493571 9.051262 47.493595 9.051295 47.493643 9.051384 47.493662 9.051366 47.493685 9.051393 47.493712 9.051566 47.493799 9.051752 47.493754 9.051786 47.493763 9.051969 47.493759 9.052083 47.4938 9.052103 47.493857 9.05226 47.493943 9.05242 47.493966 9.052446 47.493987 9.052382 47.494058 9.052361 47.494081 9.052308 47.494145 9.052274 47.49413 9.051621 47.493942 9.051294 47.493855 9.05106 47.493816 9.050826 47.493796 9.050497 47.493815 9.049636 47.493896 9.04961 47.49391 9.049282 47.493959 9.049049 47.493925 9.048764 47.493788 9.048555 47.493965 9.048452 47.494134 9.048378 47.494395 9.048308 47.494573 9.048218 47.494761 9.048086 47.494888 9.047733 47.495016 9.047423 47.49511 9.047025 47.49526 9.046948 47.495293 9.045904 47.494922 9.045434 47.494764 9.045151 47.49513 9.043966 47.496664 9.043595 47.496647 9.04347 47.496847 9.043398 47.497039 9.0433 47.497379 9.043263 47.497654 9.043305 47.497758 9.042394 47.497731 9.042161 47.497736 9.041495 47.497731 9.041392 47.497529 9.041713 47.497413 9.041792 47.4973 9.042071 47.497057 9.042111 47.496989 9.04227 47.496693 9.039581 47.495487 9.038965 47.495232 9.038002 47.494498 9.037598 47.494329 9.037653 47.494144 9.037834 47.493813 9.037532 47.493621 9.037247 47.493403 9.036682 47.493827 9.036332 47.494158 9.036014 47.494 9.031388 47.492378 9.031365 47.491908 9.031398 47.491856 9.031342 47.491794 9.031234 47.491761 9.030252 47.490995 9.030134 47.490921 9.029525 47.490637 9.029497 47.490668 9.028844 47.491282 9.028607 47.491475 9.028217 47.491725 9.027479 47.492042 9.02728 47.491909 9.027183 47.491851 9.026541 47.491318 9.026296 47.49119 9.026025 47.491091 9.025327 47.490911 9.025049 47.490873 9.024768 47.490868 9.022475 47.49087 9.022301 47.490822 9.021511 47.49025 9.021411 47.490241 9.021334 47.490284 9.021276 47.490262 9.020919 47.490673 9.020782 47.490889 9.020352 47.490864 9.020346 47.49091 9.020158 47.490898 9.020105 47.490944 9.020217 47.490951 9.020135 47.490997 9.019915 47.491092 9.019404 47.491219 9.019336 47.491257 9.019298 47.491299 9.019221 47.491491 9.019223 47.491586 9.0192 47.491637 9.019046 47.491715 9.019015 47.491829 9.018901 47.491916 9.018657 47.492068 9.017778 47.492062 9.017264 47.492015 9.017282 47.491931 9.016478 47.491943 9.016026 47.492045 9.015941 47.492017 9.015851 47.491839 9.0158 47.491851 9.015686 47.491695 9.015659 47.491576 9.014817 47.491702 9.014506 47.491761 9.013692 47.491939 9.013664 47.49188 9.01355 47.49169 9.013401 47.491512 9.01329 47.491385 9.013145 47.491251 9.012974 47.491133 9.012342 47.490812 9.012115 47.490661 9.011921 47.49049 9.01176 47.490305 9.011636 47.490107 9.011423 47.489711 9.0128 47.488822 9.012766 47.4888 9.012561 47.488643 9.012353 47.488374 9.012042 47.48827 9.011988 47.488099 9.012027 47.48787 9.011997 47.487431 9.01173 47.487353 9.011444 47.487385 9.011187 47.486792 9.01022 47.48626 9.009454 47.485808 9.009337 47.485614 9.007975 47.486166 9.007977 47.486099 9.007883 47.486055 9.007706 47.48573 9.007663 47.485588 9.007685 47.485467 9.007775 47.485325 9.007937 47.485132 9.008057 47.484942 9.008024 47.484786 9.00786 47.484633 9.007766 47.484598 9.00698 47.484264 9.004794 47.483159 9.004871 47.482913 9.007484 47.482811 9.007402 47.482511 9.007275 47.482123 9.007743 47.481966 9.008463 47.481442 9.010003 47.481718 9.009996 47.481037 9.010177 47.480341 9.010194 47.479175 9.009824 47.477996 9.009943 47.477757 9.011319 47.477354 9.011684 47.477236 9.01318 47.477311 9.01304 47.477186 9.012902 47.477095 9.012482 47.476877 9.012263 47.47674 9.012148 47.476653 9.011678 47.476239 9.0115 47.476127 9.01083 47.475808 9.010618 47.475669 9.010348 47.475471 9.010177 47.47532 9.010006 47.475156 9.009874 47.475014 9.009763 47.474874 9.009678 47.474724 9.009592 47.474523 9.009535 47.474411 9.00948 47.474363 9.009426 47.474333 9.009552 47.474279 9.009685 47.474201 9.010307 47.473923 9.010483 47.473868 9.01082 47.473735 9.011168 47.47362 9.011402 47.473551 9.014347 47.472727 9.014586 47.472664 9.01481 47.472611 9.015106 47.472558 9.015545 47.472465 9.016457 47.472247 9.018069 47.471783 9.018706 47.471613 9.019486 47.47147 9.02096 47.471304 9.022302 47.4711 9.0227 47.47103 9.023092 47.470944 9.024738 47.470546 9.024849 47.470541 9.024959 47.470549 9.025013 47.470559 9.025063 47.470575 9.02511 47.470596 9.025172 47.47064 9.025321 47.470541 9.025326 47.470526 9.025322 47.470488 9.025334 47.470451 9.025379 47.470403 9.025423 47.47038 9.027061 47.469983 9.027371 47.469902 9.027758 47.469787 9.028077 47.469645 9.030493 47.468706 9.030592 47.468662 9.030702 47.468623 9.030618 47.468578 9.030513 47.468475 9.030316 47.468302 9.030137 47.468113 9.03005 47.468007 9.030066 47.467977 9.030017 47.467965 9.029868 47.467756 9.029673 47.467433 9.029599 47.467274 9.029606 47.467167 9.02957 47.466925 9.029558 47.466774 9.029562 47.46667 9.029549 47.466527 9.029593 47.46651 9.0296 47.466439 9.029563 47.466402 9.029629 47.466227 9.029613 47.466087 9.029653 47.465854 9.029696 47.465702 9.029764 47.465522 9.029819 47.465399 9.029974 47.465122 9.030166 47.464847 9.030387 47.464611 9.030531 47.464481 9.030701 47.464351 9.030885 47.464241 9.030927 47.464187 9.030973 47.464153 9.031186 47.464033 9.031412 47.463928 9.031616 47.463855 9.031658 47.463854 9.031845 47.463801 9.031943 47.463753 9.031706 47.463674 9.031563 47.463637 9.030855 47.463394 9.030249 47.4632 9.029878 47.4631 9.029347 47.463019 9.028748 47.462862 9.028812 47.462802 9.028981 47.462702 9.029187 47.462492 9.028142 47.462205 9.027869 47.462137 9.027628 47.462107 9.028472 47.460963 9.028685 47.460749 9.028443 47.459702 9.028564 47.459632 9.028712 47.459564 9.028866 47.459507 9.029032 47.459459 9.033556 47.458379 9.034633 47.45812 9.03484 47.458065 9.035037 47.457999 9.035259 47.457917 9.035398 47.45786 9.035656 47.457726 9.036652 47.457054 9.036979 47.457443 9.037157 47.457378 9.037955 47.457125 9.038306 47.457022 9.039045 47.456822 9.039364 47.456757 9.039552 47.456683 9.039759 47.456631 9.039837 47.456615 9.039882 47.456635 9.040508 47.456485 9.041267 47.456316 9.042041 47.456165 9.042911 47.456012 9.042906 47.455992 9.043038 47.455973 9.043056 47.45597 9.043062 47.455994 9.044861 47.455806 9.044882 47.455754 9.045253 47.455717 9.045302 47.455752 9.04609 47.455668 9.047287 47.45556 9.048834 47.4555 9.048902 47.454985 9.04918 47.454976 9.050325 47.454957 9.050566 47.454959 9.050776 47.45497 9.050775 47.454982 9.050844 47.45499 9.050869 47.454999 9.05089 47.455014 9.050905 47.454836 9.050953 47.454818 9.050987 47.454788 9.051306 47.454787 9.051346 47.454809 9.051389 47.454826 9.051436 47.454837 9.051489 47.454842 9.051522 47.454842 9.051575 47.454834 9.051627 47.454822 9.051671 47.454807 9.051726 47.454781 9.051859 47.454701 9.052706 47.454137 9.052767 47.454102 9.054248 47.453115 9.054294 47.453078 9.054403 47.453012 9.054647 47.452881 9.054904 47.452764 9.055121 47.45268 9.055545 47.452537 9.055595 47.452257 9.055668 47.451782 9.05572 47.451359 9.055756 47.450931 9.055773 47.450629 9.055733 47.450589 9.055801 47.450544 9.055804 47.450487 9.05634 47.450384 9.056732 47.450321 9.056965 47.450292 9.057877 47.450225 9.058218 47.450176 9.058604 47.450093 9.058952 47.450002 9.059186 47.449951 9.060006 47.449252 9.060897 47.449035 9.061173 47.448973 9.061501 47.448892 9.06236 47.448653 9.062848 47.448512 9.06328 47.448397 9.063412 47.448467 9.06366 47.44838 9.063744 47.448331 9.063693 47.448227 9.063773 47.448203 9.063716 47.448136 9.063627 47.448086 9.063414 47.448022 9.063363 47.447995 9.063097 47.447754 9.062913 47.447637 9.062619 47.44754 9.06233 47.447476 9.062173 47.447407 9.061861 47.447188 9.060851 47.447433 9.061077 47.447842 9.060295 47.448041 9.059698 47.447826 9.058255 47.447592 9.058558 47.44737 9.059471 47.446745 9.059644 47.44661 9.059788 47.44646 9.059909 47.4463 9.059995 47.446128 9.060046 47.445951 9.060069 47.445772 9.060083 47.445194 9.060111 47.445153 9.060174 47.445142 9.058635 47.444924 9.058509 47.44491 9.058398 47.444927 9.056409 47.445356 9.056084 47.44542 9.055954 47.445436 9.055824 47.445428 9.055706 47.445393 9.055609 47.44533 9.055551 47.44525 9.055537 47.445161 9.055083 47.445181 9.054413 47.445662 9.054268 47.445759 9.054109 47.445836 9.053806 47.445934 9.053607 47.445978 9.053031 47.446181 9.052914 47.446136 9.052992 47.446089 9.053071 47.446028 9.053759 47.445242 9.054149 47.444779 9.054066 47.444725 9.054232 47.444519 9.053683 47.44469 9.053035 47.444876 9.052672 47.444986 9.05194 47.445197 9.051652 47.445289 9.051619 47.445328 9.051528 47.445307 9.051403 47.445344 9.051362 47.445405 9.051219 47.445423 9.049709 47.445884 9.048676 47.446193 9.048615 47.446035 9.048583 47.445996 9.0487 47.445928 9.048757 47.445835 9.04876 47.445737 9.048594 47.444816 9.048573 47.444869 9.048496 47.444897 9.046603 47.445057 9.046318 47.444867 9.046502 47.444736 9.046587 47.444618 9.046746 47.444455 9.046909 47.444217 9.047326 47.44382 9.047363 47.443822 9.047482 47.443618 9.046338 47.442617 9.046715 47.443352 9.04674 47.443448 9.046711 47.443541 9.046612 47.443624 9.046466 47.443668 9.045642 47.443738 9.045375 47.443754 9.045368 47.443714 9.045421 47.443686 9.045441 47.443638 9.045263 47.443158 9.045181 47.443 9.045066 47.442847 9.04492 47.442706 9.04433 47.442229 9.044203 47.442154 9.044056 47.44211 9.043892 47.442103 9.043721 47.442125 9.043516 47.442176 9.043315 47.442247 9.043052 47.442358 9.042863 47.44243 9.042653 47.442482 9.042416 47.442523 9.041759 47.442602 9.04156 47.442644 9.041437 47.44269 9.041289 47.442759 9.04071 47.443073 9.04051 47.443162 9.040306 47.443222 9.039411 47.443383 9.03937 47.44342 9.039311 47.443411 9.039368 47.443188 9.039386 47.442953 9.039383 47.442677 9.039434 47.442338 9.03945 47.442133 9.039439 47.442023 9.03941 47.441935 9.039347 47.441852 9.039404 47.441801 9.039305 47.441743 9.039103 47.441521 9.038995 47.441454 9.038865 47.441424 9.038747 47.441432 9.038564 47.441481 9.038391 47.441555 9.038373 47.441569 9.037834 47.441465 9.037852 47.441428 9.037952 47.441348 9.038109 47.441318 9.038174 47.441287 9.038222 47.441187 9.038248 47.441107 9.038328 47.441028 9.038411 47.441012 9.038522 47.441029 9.038644 47.44097 9.038851 47.440769 9.03898 47.440687 9.039087 47.440589 9.039222 47.440592 9.039304 47.440558 9.039313 47.440538 9.03922 47.440364 9.039196 47.440274 9.039231 47.440228 9.039347 47.440181 9.039783 47.440119 9.039833 47.440099 9.039489 47.439192 9.039562 47.43917 9.03953 47.439084 9.038998 47.438705 9.038949 47.438648 9.038833 47.438734 9.038115 47.438279 9.037211 47.438021 9.036682 47.437819 9.036413 47.437741 9.036124 47.437707 9.035723 47.437692 9.035492 47.437594 9.035222 47.437439 9.034868 47.437847 9.035258 47.437964 9.035357 47.438063 9.035858 47.4384 9.036065 47.438504 9.036487 47.438663 9.036673 47.438712 9.037443 47.438872 9.037589 47.438911 9.037707 47.438976 9.037805 47.439092 9.038028 47.439517 9.038003 47.439568 9.037909 47.439641 9.037697 47.439791 9.036226 47.441211 9.035807 47.441054 9.035233 47.441335 9.034664 47.441551 9.034575 47.441894 9.034509 47.44189 9.03449 47.441816 9.034417 47.44176 9.034098 47.441652 9.034016 47.441367 9.033968 47.441118 9.033962 47.441 9.033977 47.440878 9.033957 47.440646 9.033557 47.44013 9.033085 47.439889 9.032821 47.439585 9.032458 47.439511 9.031851 47.439598 9.031661 47.439605 9.030132 47.439293 9.02897 47.439029 9.028689 47.43908 9.028522 47.439237 9.028406 47.439278 9.028116 47.439302 9.027682 47.439188 9.027555 47.439236 9.027469 47.439315 9.027417 47.439406 9.027292 47.439754 9.02722 47.439855 9.02694 47.440157 9.026524 47.440681 9.026458 47.440803 9.026445 47.44091 9.026475 47.440964 9.026558 47.44098 9.026547 47.441025 9.026173 47.441328 9.025478 47.441932 9.02535 47.442051 9.025147 47.442258 9.025039 47.44236 9.024914 47.442449 9.024774 47.442533 9.024585 47.442629 9.024452 47.442715 9.024351 47.44282 9.024265 47.442966 9.024138 47.443119 9.023977 47.443262 9.02383 47.443362 9.023364 47.443637 9.022765 47.443527 9.022541 47.443505 9.022324 47.443146 9.022409 47.442906 9.021558 47.442583 9.021252 47.442456 9.020861 47.442288 9.021427 47.441814 9.020632 47.440993 9.020415 47.440318 9.020162 47.43943 9.019939 47.439115 9.019957 47.438737 9.019957 47.438728 9.019896 47.438743 9.019703 47.438728 9.019088 47.438617 9.018666 47.438524 9.01837 47.438464 9.017797 47.438136 9.016667 47.437632 9.015478 47.437107 9.015035 47.43729 9.01497 47.437286 9.014954 47.437125 9.01488 47.436952 9.014718 47.436585 9.014584 47.436218 9.014547 47.43615 9.01447 47.436111 9.014374 47.436103 9.014281 47.436122 9.014229 47.436168 9.014151 47.436155 9.014163 47.436102 9.01412 47.436052 9.013708 47.435687 9.013482 47.435538 9.013187 47.43542 9.012876 47.435361 9.012444 47.435362 9.012251 47.435338 9.012235 47.435532 9.012256 47.435736 9.012199 47.436026 9.012083 47.43618 9.011937 47.436305 9.011738 47.436401 9.011685 47.4367 9.011319 47.437243 9.010578 47.436822 9.010267 47.436538 9.009806 47.436372 9.009357 47.436295 9.008978 47.436351 9.008386 47.43648 9.007965 47.436405 9.007271 47.436204 9.006825 47.436102 9.006644 47.436075 9.006443 47.436113 9.006297 47.436206 9.006219 47.436312 9.006152 47.436441 9.006009 47.436552 9.005729 47.436731 9.005435 47.436356 9.004847 47.436164 9.004499 47.435936 9.004107 47.436233 9.003627 47.436373 9.003361 47.436451 9.00288 47.436656 9.002742 47.436699 9.002571 47.43671 9.002102 47.43663 9.001865 47.436639 9.00158 47.436824 9.001268 47.436765 9.000897 47.436658 9.000717 47.436759 9.000384 47.437056 9.000057 47.437001 8.999814 47.436918 8.999867 47.4367 8.999849 47.436568 8.999945 47.436222 8.999923 47.436093 8.999817 47.43599 8.999664 47.435814 8.9999 47.435583 8.99998 47.435509 9.000235 47.435218 9.000333 47.435079 9.000403 47.43498 9.000628 47.434693 9.000776 47.434529 9.000966 47.434214 9.001066 47.434098 9.000672 47.433935 9.000346 47.433799 9.000027 47.433743 8.999749 47.433652 8.999147 47.433512 8.99877 47.433404 8.998432 47.433327 8.998177 47.433242 8.997913 47.43311 8.997666 47.433037 8.997462 47.43296 8.997278 47.432846 8.99706 47.432745 8.996931 47.432692 8.996591 47.432591 8.996476 47.432557 8.996303 47.432525 8.995875 47.43246 8.99542 47.432427 8.995427 47.432207 8.995439 47.432014 8.995487 47.431796 8.99484 47.431831 8.99408 47.431803 8.993879 47.431783 8.993541 47.431694 8.993244 47.431647 8.993162 47.431811 8.993073 47.43195 8.99301 47.432139 8.992793 47.432167 8.992387 47.432257 8.992012 47.432321 8.991618 47.432408 8.991519 47.432392 8.991553 47.43193 8.991461 47.431739 8.99046 47.431842 8.990206 47.431889 8.989912 47.431867 8.989537 47.431808 8.989074 47.431709 8.988677 47.431667 8.988589 47.431477 8.98852 47.431327 8.988863 47.431204 8.989013 47.431188 8.989412 47.431255 8.989767 47.431367 8.990086 47.431452 8.990336 47.431468 8.990674 47.431397 8.990737 47.431202 8.991229 47.431165 8.99105 47.430897 8.991046 47.430563 8.991083 47.430342 8.991336 47.430319 8.99167 47.430165 8.992024 47.43007 8.991786 47.429655 8.991623 47.429405 8.99129 47.429108 8.991415 47.429026 8.991681 47.428857 8.991979 47.428692 8.992367 47.428484 8.992331 47.428432 8.991415 47.427359 8.991169 47.427374 8.991138 47.427338 8.991028 47.427219 8.990657 47.426927 8.991228 47.426665 8.99166 47.426497 8.992587 47.42616 8.992852 47.426089 8.992691 47.42586 8.992555 47.425667 8.992547 47.425656 8.992514 47.425609 8.992376 47.425413 8.992636 47.425266 8.99312 47.42518 8.993385 47.42509 8.993462 47.425064 8.993657 47.424997 8.994425 47.424943 8.994683 47.424889 8.994934 47.424745 8.995249 47.42455 8.995453 47.424294 8.995257 47.424162 8.99494 47.424339 8.99471 47.424441 8.994266 47.424447 8.994053 47.424428 8.993969 47.424127 8.993911 47.423839 8.993909 47.42383 8.993906 47.42379 8.993582 47.423805 8.99343 47.423781 8.993168 47.423707 8.99314 47.423446 8.992948 47.423447 8.992777 47.423248 8.992416 47.422908 8.992364 47.422858 8.99276 47.422652 8.993044 47.42253 8.993155 47.422463 8.993184 47.422364 8.993116 47.42225 8.992948 47.422176 8.992942 47.422142 8.992949 47.42212 8.992912 47.422044 8.992803 47.421909 8.992902 47.421885 8.992918 47.421814 8.992978 47.421783 8.992975 47.421711 8.992921 47.421597 8.992837 47.421573 8.992791 47.421507 8.992775 47.421503 8.992691 47.421452 8.992554 47.421071 8.992469 47.421021 8.992482 47.420913 8.992462 47.420825 8.992409 47.420733 8.992379 47.420682 8.992364 47.420656 8.992352 47.420637 8.992345 47.420626 8.992334 47.42061 8.99232 47.420574 8.992277 47.420533 8.992267 47.420403 8.992217 47.420309 8.992226 47.420247 8.992192 47.420183 8.992203 47.419845 8.992185 47.419766 8.992217 47.419667 8.992187 47.419614 8.992224 47.419539 8.992125 47.41941 8.992157 47.419238 8.992146 47.419041 8.992043 47.418958 8.992026 47.418877 8.992027 47.418776 8.991991 47.418747 8.992014 47.418663 8.99196 47.418505 8.991963 47.418418 8.991893 47.418333 8.991905 47.418226 8.991859 47.418166 8.991812 47.417985 8.991822 47.417916 8.991788 47.417818 8.991723 47.417761 8.991688 47.41766 8.991671 47.417619 8.991585 47.417636 8.991567 47.417592 8.991455 47.417474 8.991326 47.417318 8.991255 47.41721 8.991206 47.417098 8.991167 47.416874 8.99116 47.416836 8.991147 47.416806 8.991112 47.416729 8.990962 47.416487 8.990872 47.416376 8.990762 47.416284 8.990616 47.416222 8.990489 47.416199 8.990773 47.416208 8.990778 47.416146 8.991639 47.415796 8.991027 47.414882 8.990816 47.414924 8.990485 47.415015 8.990462 47.414982 8.990158 47.414544 8.989981 47.414274 8.989781 47.413842 8.989768 47.413706 8.989932 47.413221 8.989663 47.413168 8.988964 47.41322 8.988286 47.413217 8.988002 47.413239 8.987551 47.413318 8.986683 47.413438 8.986578 47.413394 8.985922 47.413138 8.985556 47.413327 8.985376 47.413427 8.98524 47.413433 8.984986 47.413389 8.98458 47.413421 8.984539 47.413386 8.984122 47.41363 8.983696 47.413867 8.983556 47.413963 8.983354 47.414129 8.983034 47.414433 8.982997 47.414448 8.982963 47.414437 8.982865 47.414343 8.982777 47.414276 8.982697 47.414231 8.982429 47.414105 8.982327 47.414071 8.982211 47.414052 8.981844 47.414037 8.981578 47.414 8.981348 47.413983 8.98114 47.413986 8.980965 47.414017 8.980788 47.414042 8.980617 47.41405 8.980478 47.414057 8.98038 47.414057 8.9803 47.414041 8.980222 47.414011 8.980092 47.413924 8.980029 47.413868 8.980218 47.413519 8.980224 47.413507 8.98028 47.41333 8.980364 47.413073 8.980127 47.413023 8.980036 47.412987 8.979978 47.412788 8.979598 47.412809 8.979041 47.412865 8.978864 47.412856 8.978197 47.412696 8.977773 47.412633 8.977622 47.41235 8.977515 47.412145 8.977418 47.411961 8.977349 47.411831 8.977553 47.411744 8.978035 47.411512 8.977589 47.411402 8.977064 47.411264 8.976728 47.410936 8.976367 47.410477 8.976175 47.410223 8.976264 47.410218 8.976274 47.410195 8.976399 47.409911 8.976417 47.409742 8.9761 47.409497 8.975973 47.409267 8.975737 47.408679 8.975598 47.408287 8.975479 47.407968 8.975481 47.407887 8.975483 47.407855 8.975492 47.40773 8.975363 47.407662 8.974987 47.407629 8.974872 47.407632 8.974765 47.407598 8.974645 47.407534 8.974479 47.40748 8.974425 47.407409 8.974346 47.407374 8.974225 47.407372 8.974072 47.407355 8.973968 47.407252 8.973924 47.407235 8.973889 47.407214 8.973851 47.407192 8.973839 47.407195 8.973827 47.407194 8.973816 47.40719 8.973808 47.407184 8.973797 47.407147 8.973784 47.407111 8.973769 47.407075 8.973766 47.407067 8.973763 47.40706 8.973759 47.407052 8.973917 47.407008 8.974016 47.40701 8.974025 47.40696 8.974058 47.406897 8.974021 47.406846 8.97382 47.406779 8.973691 47.406718 8.973513 47.406558 8.973409 47.406405 8.973371 47.406281 8.973392 47.406149 8.973501 47.405966 8.973477 47.405674 8.97362 47.405565 8.973719 47.405495 8.973827 47.405403 8.973924 47.405265 8.973974 47.405222 8.974136 47.405163 8.974287 47.405094 8.974325 47.405007 8.974315 47.404895 8.974295 47.404806 8.974297 47.404758 8.974321 47.404688 8.974392 47.404645 8.974429 47.404634 8.974694 47.404619 8.975021 47.404517 8.975128 47.404438 8.975189 47.404275 8.97522 47.404212 8.975337 47.403985 8.975375 47.403939 8.975505 47.403721 8.975559 47.403663 8.97565 47.403402 8.975649 47.403285 8.975646 47.403249 8.975637 47.403151 8.975628 47.403125 8.975608 47.403068 8.975635 47.403 8.975709 47.402975 8.975816 47.402911 8.975828 47.402858 8.975847 47.402784 8.975881 47.40269 8.975968 47.402652 8.976138 47.402651 8.97623 47.402632 8.976307 47.402607 8.976406 47.40249 8.976444 47.402398 8.976544 47.401935 8.976591 47.401802 8.976652 47.401683 8.976899 47.401291 8.976868 47.401204 8.976865 47.401196 8.976721 47.401001 8.976314 47.400789 8.976132 47.400527 8.976122 47.40052 8.975876 47.400347 8.975865 47.400347 8.975722 47.400334 8.975659 47.400292 8.97556 47.400163 8.975456 47.400088 8.975387 47.399953 8.9754 47.399846 8.975412 47.399741 8.975419 47.399691 8.975418 47.399641 8.975411 47.399591 8.975398 47.399542 8.975391 47.399523 8.975383 47.399504 8.975374 47.399485 8.975135 47.399188 8.975059 47.399087 8.975008 47.39904 8.974882 47.398925 8.974883 47.398791 8.974883 47.39878 8.974875 47.39861 8.974865 47.398408 8.97486 47.39837 8.974862 47.398365 8.97487 47.398343 8.974859 47.398276 8.974791 47.398066 8.974703 47.397956 8.974585 47.397807 8.97447 47.397475 8.974439 47.397289 8.974389 47.397103 8.974205 47.396918 8.974061 47.39663 8.973624 47.396293 8.973525 47.395911 8.973362 47.395583 8.973118 47.395175 8.97304 47.3951 8.972923 47.395049 8.972824 47.39482 8.972825 47.394631 8.972905 47.394534 8.972885 47.394323 8.97295 47.394178 8.972918 47.393825 8.972921 47.393785 8.972927 47.393653 8.972758 47.393455 8.972692 47.393378 8.972685 47.393243 8.97244 47.393214 8.97153 47.393174 8.970963 47.393265 8.970589 47.393397 8.970165 47.393509 8.969976 47.393523 8.969612 47.393337 8.969251 47.393231 8.968919 47.392813 8.968651 47.392432 8.968527 47.392012 8.968512 47.391797 8.968336 47.391473 8.967763 47.390933 8.967629 47.390776 8.967455 47.390345 8.967522 47.390007 8.967569 47.389439 8.967536 47.38915 8.967652 47.388574 8.967541 47.3882 8.967551 47.387658 8.967127 47.387276 8.966455 47.386897 8.96619 47.386799 8.965607 47.387475 8.965233 47.387893 8.964977 47.387928 8.964753 47.387842 8.963839 47.38792 8.963513 47.38779 8.963107 47.387621 8.96265 47.387252 8.961583 47.387647 8.96114 47.387958 8.959018 47.388401 8.958643 47.388388 8.958274 47.387661 8.958127 47.386758 8.957675 47.386177 8.957422 47.385801 8.957368 47.385477 8.957012 47.385427 8.956701 47.385029 8.956239 47.384689 8.956037 47.384413 8.955708 47.383847 8.955863 47.38371 8.956126 47.383438 8.955978 47.383395 8.955797 47.383395 8.955581 47.383229 8.95549 47.383151 8.955387 47.3831 8.955353 47.383046 8.955313 47.383025 8.955173 47.382975 8.954983 47.382849 8.954869 47.382847 8.954714 47.38279 8.954531 47.382817 8.954479 47.382786 8.954324 47.382757 8.954166 47.382737 8.954042 47.382666 8.954034 47.382632 8.953981 47.382625 8.953954 47.382582 8.953582 47.382542 8.953523 47.382513 8.953399 47.382479 8.953341 47.382496 8.953293 47.382488 8.953247 47.38243 8.953047 47.382455 8.95294 47.382383 8.952775 47.382347 8.952669 47.382295 8.952639 47.382266 8.952561 47.382271 8.952361 47.382195 8.952252 47.382187 8.952165 47.382147 8.952096 47.382169 8.951972 47.382128 8.951929 47.382084 8.951839 47.382096 8.951769 47.382031 8.951628 47.381997 8.95156 47.381944 8.951445 47.381928 8.951409 47.38194 8.951241 47.381925 8.951193 47.381946 8.95116 47.38195 8.951134 47.381926 8.950872 47.381898 8.950717 47.381905 8.950535 47.381884 8.950392 47.381857 8.950191 47.381847 8.95012 47.38187 8.949815 47.381825 8.948391 47.381186 8.948632 47.380992 8.948582 47.380975 8.948377 47.38083 8.948242 47.380606 8.948097 47.380445 8.947964 47.380398 8.947434 47.380293 8.947323 47.380242 8.947166 47.380132 8.947096 47.380095 8.946985 47.380063 8.946776 47.380037 8.946584 47.380111 8.94636 47.380175 8.946235 47.380176 8.946065 47.380097 8.945954 47.379967 8.945925 47.379886 8.945885 47.37969 8.945629 47.379421 8.944973 47.378269 8.944726 47.377871 8.944638 47.378008 8.944187 47.378555 8.944114 47.378621 8.943812 47.378823 8.943522 47.379024 8.943156 47.379376 8.943123 47.379483 8.942935 47.379719 8.942645 47.379945 8.942436 47.380012 8.942325 47.380075 8.942257 47.38017 8.94227 47.380261 8.942238 47.380332 8.942141 47.38039 8.941987 47.380641 8.941984 47.380737 8.941931 47.380841 8.941803 47.380947 8.941584 47.381155 8.941393 47.381481 8.941407 47.381519 8.941395 47.381596 8.941383 47.381629 8.941321 47.38171 8.941334 47.38182 8.941431 47.381962 8.941418 47.382091 8.94155 47.382173 8.941577 47.382278 8.941866 47.382617 8.941874 47.382689 8.942108 47.382923 8.942147 47.383111 8.942198 47.383168 8.94221 47.383236 8.942279 47.383411 8.942657 47.383736 8.942691 47.383822 8.942831 47.383987 8.94294 47.384016 8.943051 47.384072 8.943208 47.384112 8.943232 47.384152 8.943216 47.384229 8.943282 47.384219 8.943442 47.384319 8.94349 47.384372 8.943815 47.38448 8.943773 47.384545 8.943877 47.384661 8.943956 47.384782 8.944086 47.385019 8.94415 47.385154 8.944255 47.385275 8.944406 47.385407 8.944479 47.385476 8.944487 47.385547 8.9446 47.385587 8.944579 47.385643 8.94476 47.385746 8.944752 47.385966 8.944798 47.386019 8.944865 47.386081 8.944839 47.386192 8.944897 47.386265 8.944792 47.386348 8.944846 47.386494 8.944815 47.386763 8.944755 47.38684 8.944907 47.386863 8.94475 47.387142 8.944804 47.387208 8.944807 47.387337 8.944753 47.387512 8.944583 47.387608 8.944485 47.387722 8.944407 47.387826 8.944389 47.38792 8.944213 47.388057 8.944009 47.388117 8.943894 47.388216 8.943681 47.388239 8.943566 47.388402 8.943498 47.388479 8.943463 47.388535 8.943261 47.388632 8.943272 47.388676 8.943126 47.38894 8.94305 47.389021 8.942913 47.389117 8.942747 47.389272 8.942482 47.389315 8.94228 47.389405 8.942019 47.389439 8.94188 47.389481 8.941836 47.389561 8.941688 47.389652 8.941591 47.389742 8.941426 47.389809 8.941262 47.389817 8.941223 47.389838 8.941214 47.389884 8.940558 47.390189 8.940461 47.390229 8.939718 47.390499 8.93961 47.390575 8.939439 47.390611 8.939258 47.390751 8.938921 47.39092 8.938769 47.391 8.938707 47.391079 8.938504 47.391276 8.938277 47.391348 8.938281 47.391463 8.938178 47.391509 8.937959 47.391552 8.937906 47.391613 8.937719 47.391744 8.937678 47.391869 8.937618 47.391932 8.937601 47.391998 8.937524 47.392096 8.937269 47.392214 8.937082 47.392222 8.936913 47.392289 8.936695 47.392425 8.936631 47.392437 8.936474 47.392391 8.935992 47.392416 8.935821 47.392483 8.93541 47.392529 8.93528 47.392568 8.935133 47.392592 8.935025 47.392624 8.934854 47.392719 8.93444 47.392861 8.934143 47.392975 8.933964 47.393038 8.933848 47.393104 8.933736 47.393181 8.933587 47.39326 8.933299 47.39338 8.933237 47.393403 8.933061 47.393435 8.933032 47.393462 8.933029 47.393529 8.932891 47.393655 8.932812 47.393684 8.932711 47.393698 8.932597 47.393769 8.932551 47.393845 8.932536 47.39395 8.93236 47.39411 8.932272 47.394136 8.932074 47.394161 8.931953 47.394269 8.931827 47.394327 8.931775 47.394369 8.93166 47.394393 8.931487 47.394506 8.93142 47.394567 8.931332 47.394606 8.931301 47.394634 8.931283 47.394662 8.931285 47.3947 8.931364 47.39489 8.931308 47.395064 8.931225 47.395108 8.931093 47.395197 8.931029 47.395217 8.930912 47.395218 8.930757 47.395282 8.930697 47.395322 8.930656 47.395377 8.930649 47.39544 8.930568 47.395574 8.930465 47.395644 8.930321 47.395679 8.930198 47.395757 8.930147 47.395814 8.930066 47.395867 8.929973 47.395886 8.929913 47.39587 8.929782 47.395783 8.929726 47.395769 8.929565 47.395819 8.929393 47.395937 8.929337 47.396024 8.929358 47.396125 8.929152 47.396234 8.929067 47.396248 8.929 47.396266 8.928952 47.396296 8.928927 47.396423 8.928945 47.396518 8.928903 47.396569 8.928821 47.396576 8.928685 47.396571 8.928572 47.396604 8.928522 47.396636 8.928485 47.396692 8.928554 47.396762 8.928575 47.3968 8.928568 47.39685 8.928478 47.396976 8.928343 47.397087 8.928326 47.397116 8.928322 47.397146 8.928329 47.397175 8.928347 47.3972 8.928674 47.397524 8.928686 47.397582 8.928649 47.397645 8.928584 47.397809 8.928526 47.397851 8.928447 47.397892 8.928309 47.397978 8.928185 47.398065 8.928099 47.398099 8.928021 47.398115 8.927811 47.398138 8.927757 47.398152 8.927712 47.398177 8.927293 47.398488 8.927258 47.398519 8.92724 47.398565 8.927248 47.398739 8.927241 47.398785 8.927215 47.398827 8.927171 47.398862 8.92712 47.398887 8.927031 47.398907 8.926848 47.398905 8.926762 47.398923 8.926655 47.398966 8.926578 47.399002 8.926486 47.39907 8.926373 47.399186 8.92617 47.399366 8.926081 47.399454 8.925996 47.399492 8.925957 47.399489 8.925697 47.399451 8.925663 47.399436 8.925565 47.399492 8.925374 47.399629 8.925277 47.399668 8.925107 47.399852 8.925043 47.399897 8.924939 47.399955 8.924889 47.399996 8.924822 47.400027 8.924759 47.400086 8.924692 47.400157 8.924584 47.40023 8.92435 47.400369 8.92417 47.40045 8.923863 47.400548 8.923793 47.400564 8.923716 47.400572 8.923631 47.400572 8.923432 47.400617 8.923384 47.400663 8.923399 47.400671 8.923308 47.400735 8.923179 47.400883 8.923097 47.400945 8.922944 47.401014 8.922771 47.401073 8.922643 47.401094 8.922508 47.401104 8.922357 47.401125 8.922242 47.401219 8.922183 47.401302 8.922115 47.401353 8.92201 47.401423 8.921924 47.401455 8.921493 47.401525 8.921189 47.401507 8.921015 47.401533 8.920326 47.401648 8.920192 47.401676 8.919739 47.401743 8.919465 47.40179 8.919367 47.401811 8.919276 47.401847 8.919163 47.401902 8.919104 47.401919 8.919048 47.401927 8.91899 47.401928 8.918732 47.401909 8.918596 47.401859 8.918466 47.401829 8.918321 47.401871 8.918166 47.40188 8.917977 47.401882 8.917765 47.401907 8.917541 47.401949 8.917412 47.401944 8.917387 47.401936 8.91735 47.401864 8.917286 47.401812 8.917236 47.401784 8.91715 47.401783 8.91703 47.401823 8.916884 47.401882 8.916823 47.401885 8.916753 47.401851 8.916658 47.401875 8.916649 47.401939 8.916683 47.402009 8.916702 47.402075 8.91665 47.402155 8.916589 47.402163 8.916502 47.402141 8.916393 47.402122 8.916287 47.402135 8.916109 47.402197 8.915925 47.402269 8.915844 47.402256 8.915793 47.402218 8.9157 47.402205 8.915533 47.402274 8.915437 47.402365 8.915327 47.402546 8.915287 47.402569 8.915196 47.402573 8.91508 47.402535 8.914994 47.402477 8.9149 47.402402 8.914874 47.402388 8.914844 47.402377 8.914803 47.40237 8.914757 47.402371 8.914713 47.402381 8.914679 47.402398 8.91465 47.402419 8.914623 47.402445 8.914571 47.40253 8.914523 47.402651 8.914506 47.402713 8.914528 47.402789 8.914668 47.402959 8.914711 47.403047 8.9147 47.403098 8.914662 47.403136 8.914614 47.403156 8.914391 47.403138 8.914238 47.4031 8.914069 47.403026 8.913951 47.402981 8.913814 47.402939 8.913527 47.402871 8.913411 47.40287 8.913224 47.402912 8.912915 47.402957 8.912837 47.402982 8.912788 47.403023 8.912771 47.403075 8.912746 47.403271 8.912688 47.403329 8.912636 47.403352 8.91257 47.403368 8.912425 47.403331 8.912225 47.403232 8.911976 47.403085 8.911913 47.403061 8.911843 47.403048 8.911756 47.403047 8.911713 47.403053 8.911667 47.403065 8.911539 47.403114 8.911333 47.403206 8.911246 47.403231 8.911198 47.403238 8.91071 47.403263 8.910629 47.403256 8.910555 47.40324 8.910286 47.403132 8.910203 47.403102 8.910076 47.403068 8.909943 47.403045 8.909816 47.403034 8.909687 47.403034 8.90957 47.403042 8.909332 47.403072 8.909254 47.403075 8.909176 47.403073 8.909056 47.40306 8.908395 47.402951 8.908342 47.402946 8.908288 47.402948 8.908236 47.402955 8.908186 47.402968 8.908141 47.402985 8.9081 47.403007 8.908051 47.403045 8.907923 47.403183 8.907887 47.403215 8.90782 47.403256 8.907736 47.403289 8.907676 47.403303 8.907619 47.403311 8.907333 47.403321 8.907313 47.403321 8.906876 47.403364 8.906727 47.40337 8.906651 47.403384 8.906552 47.403427 8.906446 47.403521 8.906132 47.403661 8.905943 47.403685 8.905618 47.403706 8.905377 47.403736 8.905297 47.403771 8.90516 47.40387 8.904902 47.40388 8.904771 47.403937 8.904661 47.404014 8.904653 47.404119 8.904678 47.404322 8.904667 47.40434 8.904735 47.404326 8.904752 47.404322 8.904813 47.404323 8.904849 47.404321 8.904904 47.404333 8.90495 47.404368 8.905009 47.404432 8.904966 47.40446 8.904993 47.404498 8.90538 47.40474 8.905491 47.404766 8.905529 47.404773 8.905607 47.404823 8.905617 47.404968 8.905524 47.405294 8.905586 47.405396 8.905589 47.405449 8.905582 47.405687 8.905622 47.405803 8.905588 47.405839 8.905578 47.40602 8.905657 47.406192 8.905655 47.406279 8.90569 47.406417 8.905671 47.406523 8.905756 47.40675 8.905743 47.406782 8.905875 47.40691 8.905973 47.406982 8.906092 47.407226 8.906272 47.407452 8.90634 47.407501 8.906379 47.407538 8.906433 47.407536 8.906529 47.407576 8.90667 47.407689 8.906779 47.407752 8.907017 47.407976 8.907078 47.408103 8.907153 47.408191 8.907236 47.408305 8.907304 47.408458 8.907471 47.408642 8.907629 47.40878 8.90775 47.408941 8.907842 47.408984 8.908063 47.409078 8.908291 47.40926 8.908531 47.40937 8.908681 47.409488 8.908821 47.409539 8.908842 47.409595 8.909038 47.409779 8.909208 47.409872 8.909247 47.409901 8.909396 47.410072 8.909477 47.410108 8.909634 47.410241 8.90978 47.410421 8.909823 47.410536 8.909948 47.410626 8.910181 47.410708 8.91043 47.410849 8.910665 47.411083 8.910667 47.411181 8.91071 47.41124 8.910682 47.411294 8.910772 47.411397 8.910773 47.411529 8.910815 47.411591 8.910837 47.411763 8.910728 47.411969 8.910719 47.41219 8.910809 47.41239 8.911174 47.412639 8.91129 47.41289 8.91141 47.413074 8.911502 47.413199 8.911605 47.413299 8.911675 47.413352 8.911714 47.41348 8.911945 47.41374 8.911991 47.413863 8.912265 47.414055 8.912421 47.414045 8.912557 47.41419 8.912627 47.414298 8.91291 47.414386 8.91307 47.414377 8.91314 47.414416 8.913218 47.414473 8.913285 47.414485 8.913328 47.414552 8.913431 47.414608 8.913638 47.414624 8.913712 47.414648 8.913814 47.414708 8.913837 47.414761 8.913884 47.414803 8.91385 47.414886 8.913877 47.41499 8.913969 47.415131 8.91403 47.415285 8.913998 47.41543 8.914019 47.415532 8.914093 47.415636 8.914084 47.415682 8.914071 47.416157 8.914023 47.416746 8.913897 47.417164 8.913729 47.417388 8.913712 47.417436 8.913549 47.417518 8.913621 47.417571 8.91368 47.417633 8.913723 47.417698 8.91375 47.417769 8.913764 47.417839 8.913796 47.41838 8.913808 47.418472 8.913835 47.418565 8.913868 47.418656 8.91391 47.418747 8.914004 47.418905 8.914109 47.419059 8.914229 47.419207 8.914366 47.419351 8.91503 47.420038 8.915092 47.420135 8.915126 47.420235 8.915133 47.420336 8.915116 47.420441 8.915076 47.420535 8.915013 47.420625 8.914926 47.420721 8.914826 47.42081 8.914639 47.420957 8.914558 47.421027 8.914466 47.421149 8.914375 47.421122 8.914318 47.421228 8.914279 47.421331 8.914259 47.421449 8.914246 47.421607 8.914227 47.421726 8.914193 47.421846 8.914128 47.421991 8.913971 47.422282 8.913893 47.422454 8.913849 47.422573 8.913824 47.422675 8.91379 47.422858 8.913782 47.422851 8.913775 47.422847 8.913766 47.422844 8.913753 47.422844 8.913741 47.422846 8.913733 47.42285 8.913722 47.42286 8.913702 47.423035 8.913697 47.423055 8.91368 47.423093 8.913655 47.423129 8.913621 47.423162 8.913553 47.423218 8.913515 47.423252 8.913482 47.423287 8.913432 47.423351 8.913408 47.423375 8.913381 47.423398 8.91335 47.423418 8.913317 47.423436 8.913259 47.423462 8.91322 47.423484 8.913187 47.423511 8.913173 47.423526 8.913155 47.42355 8.91314 47.423575 8.91313 47.423601 8.913123 47.423628 8.91312 47.423655 8.913121 47.423682 8.91314 47.423811 8.913141 47.423826 8.913136 47.423858 8.913131 47.423873 8.913114 47.423903 8.913103 47.423917 8.913075 47.423943 8.913059 47.423954 8.913022 47.423974 8.913002 47.423982 8.912959 47.423994 8.912936 47.423998 8.91289 47.424003 8.912668 47.42505 8.91254 47.425311 8.912348 47.425533 8.912543 47.425692 8.912728 47.425831 8.91281 47.425912 8.91285 47.425948 8.912931 47.425994 8.912997 47.426006 8.913053 47.425986 8.912992 47.426046 8.912956 47.426088 8.91292 47.426138 8.912883 47.426197 8.912975 47.426221 8.912927 47.426319 8.912837 47.426548 8.912845 47.426641 8.913095 47.426621 8.91315 47.426798 8.913278 47.426872 8.913287 47.42718 8.912928 47.427204 8.912954 47.427247 8.913084 47.427395 8.913233 47.42754 8.913452 47.427698 8.913614 47.427775 8.913576 47.427818 8.913812 47.427912 8.913947 47.427976 8.914077 47.428045 8.914139 47.428081 8.91426 47.428157 8.914318 47.428196 8.914428 47.428278 8.91453 47.428365 8.914767 47.42856 8.914829 47.428607 8.914894 47.428653 8.914963 47.428695 8.915035 47.428736 8.91511 47.428773 8.915188 47.428808 8.915243 47.428831 8.9153 47.428851 8.915359 47.42887 8.915418 47.428887 8.915479 47.428902 8.91554 47.428916 8.915669 47.428939 8.9158 47.428957 8.915931 47.428971 8.915934 47.429135 8.915859 47.429403 8.91581 47.429687 8.915594 47.429731 8.915195 47.429883 8.914828 47.429971 8.914495 47.430064 8.914278 47.430143 8.914249 47.430154 8.913791 47.430409 8.913522 47.430523 8.912603 47.430762 8.912191 47.430889 8.911203 47.431142 8.910923 47.431039 8.910717 47.431184 8.910415 47.43129 8.910215 47.431363 8.910019 47.431443 8.909906 47.431496 8.909807 47.431559 8.909229 47.432003 8.908862 47.432248 8.908855 47.43229 8.908903 47.432395 8.908934 47.432982 8.908912 47.433154 8.908941 47.433293 8.909053 47.433412 8.909186 47.433521 8.909371 47.433594 8.909589 47.433633 8.909717 47.433661 8.909957 47.433808 8.910014 47.433891 8.910225 47.434077 8.910358 47.434189 8.910598 47.434479 8.910631 47.43458 8.910672 47.434667 8.910966 47.434974 8.911582 47.435369 8.912016 47.435597 8.91214 47.435684 8.912259 47.435727 8.912509 47.435732 8.913204 47.4357 8.913465 47.435716 8.913637 47.435392 8.913961 47.434825 8.913784 47.434779 8.913807 47.434737 8.914806 47.433495 8.914823 47.433498 8.91492 47.433545 8.915078 47.433563 8.915122 47.433554 8.915153 47.433597 8.915279 47.433616 8.915302 47.433662 8.915346 47.433682 8.915421 47.433689 8.915474 47.433752 8.915841 47.434067 8.916065 47.434313 8.916587 47.434462 8.91792 47.434979 8.918195 47.435132 8.918715 47.434808 8.919268 47.434367 8.919306 47.434385 8.919414 47.434396 8.919487 47.434496 8.919588 47.434504 8.919621 47.434478 8.919666 47.434495 8.919678 47.434518 8.919773 47.434554 8.919839 47.434611 8.920001 47.43462 8.920016 47.434672 8.920085 47.43471 8.920168 47.434693 8.920306 47.434704 8.920356 47.434711 8.920468 47.434723 8.920473 47.434729 8.920485 47.434744 8.920476 47.434786 8.920489 47.43482 8.920524 47.434827 8.920666 47.434811 8.920787 47.434858 8.920861 47.434901 8.920968 47.434972 8.920971 47.434974 8.921067 47.434932 8.921221 47.434901 8.921334 47.43495 8.921419 47.434984 8.921475 47.434969 8.921536 47.434965 8.92163 47.434959 8.921848 47.434992 8.921966 47.434994 8.921998 47.434995 8.922259 47.434942 8.922429 47.43494 8.922464 47.434923 8.922505 47.434903 8.922586 47.434899 8.922671 47.434923 8.92284 47.434945 8.923035 47.434966 8.92329 47.434956 8.923405 47.434917 8.923629 47.434849 8.923717 47.434858 8.923945 47.434849 8.924065 47.434821 8.924253 47.434767 8.924271 47.434715 8.9244 47.434682 8.92447 47.434657 8.924507 47.434631 8.924511 47.434569 8.924645 47.434512 8.924799 47.434411 8.924808 47.434406 8.924836 47.434391 8.924895 47.434372 8.924953 47.434353 8.92503 47.434343 8.925221 47.434289 8.925465 47.434289 8.925696 47.434243 8.925824 47.434186 8.925835 47.43418 8.925906 47.434096 8.926025 47.434011 8.926139 47.433977 8.92625 47.433907 8.926376 47.433878 8.926491 47.433827 8.926538 47.433764 8.926541 47.43376 8.926556 47.433727 8.9266 47.433623 8.926682 47.433605 8.92683 47.433631 8.926937 47.433609 8.926987 47.433574 8.927061 47.433481 8.927256 47.433464 8.927342 47.433457 8.927381 47.433453 8.927542 47.433412 8.927704 47.433378 8.927816 47.433388 8.92783 47.433389 8.927966 47.433362 8.928079 47.43336 8.928111 47.43341 8.928183 47.433475 8.928295 47.43347 8.928462 47.433466 8.928549 47.433463 8.928724 47.433446 8.928756 47.433456 8.928766 47.433459 8.928827 47.43348 8.92892 47.433496 8.92901 47.433477 8.929137 47.433439 8.929194 47.43347 8.929272 47.433509 8.929338 47.433499 8.929429 47.433495 8.929502 47.433512 8.929617 47.433507 8.929728 47.433469 8.929817 47.433549 8.930134 47.433834 8.93037 47.434044 8.93061 47.433884 8.930754 47.433672 8.931233 47.43355 8.931754 47.433822 8.931937 47.433765 8.931982 47.433721 8.932013 47.433767 8.932143 47.433851 8.932191 47.433883 8.932166 47.433933 8.932287 47.434062 8.932272 47.434146 8.932364 47.434318 8.932335 47.434368 8.932538 47.434615 8.932508 47.434646 8.93264 47.434766 8.932947 47.435275 8.933533 47.435558 8.933642 47.435653 8.933981 47.435863 8.934278 47.436094 8.934256 47.436162 8.934288 47.43619 8.933468 47.436598 8.933384 47.436657 8.933335 47.436735 8.933334 47.436817 8.933378 47.43688 8.933707 47.437094 8.933797 47.437157 8.933858 47.437233 8.933881 47.437318 8.933878 47.437404 8.933915 47.437446 8.933917 47.437504 8.932921 47.437355 8.932521 47.437292 8.932321 47.437268 8.932117 47.437264 8.930275 47.437408 8.929695 47.437407 8.928952 47.437386 8.928529 47.437385 8.928183 47.437376 8.927913 47.437343 8.927658 47.437272 8.927276 47.437122 8.926687 47.436829 8.926568 47.436779 8.926456 47.436752 8.926348 47.436749 8.926252 47.436778 8.925978 47.43692 8.925795 47.436994 8.925648 47.437023 8.925495 47.437032 8.9253 47.437007 8.924868 47.436865 8.924902 47.436896 8.925085 47.436996 8.924806 47.436923 8.924586 47.436896 8.923642 47.436838 8.923125 47.436821 8.922843 47.436839 8.922554 47.436905 8.922136 47.43699 8.92184 47.437072 8.921573 47.437178 8.921167 47.437358 8.921139 47.43743 8.92089 47.437642 8.920693 47.437804 8.920282 47.438098 8.92001 47.438227 8.919738 47.438304 8.919329 47.438383 8.918682 47.438456 8.918683 47.43848 8.918599 47.43848 8.918588 47.43852 8.918159 47.438522 8.918167 47.438481 8.917883 47.438454 8.917585 47.438398 8.91742 47.438392 8.917207 47.438413 8.91688 47.438463 8.91657 47.438522 8.916346 47.438581 8.916135 47.438632 8.915768 47.438696 8.915599 47.438708 8.915432 47.438689 8.915062 47.438598 8.914849 47.438549 8.91464 47.438528 8.914431 47.438538 8.914095 47.438563 8.913925 47.438551 8.91368 47.438454 8.913601 47.438461 8.91349 47.438427 8.913477 47.438439 8.913448 47.43846 8.913414 47.438478 8.913377 47.438492 8.913336 47.438502 8.913315 47.438505 8.912887 47.438508 8.912354 47.438566 8.912162 47.438608 8.911987 47.438679 8.911821 47.438786 8.911543 47.438987 8.91074 47.439415 8.910612 47.43945 8.910411 47.439575 8.910334 47.439598 8.910196 47.439619 8.91012 47.439623 8.909941 47.439728 8.909711 47.439823 8.909353 47.43998 8.909087 47.440133 8.908982 47.440305 8.908545 47.440567 8.908242 47.440679 8.908012 47.440752 8.908043 47.441234 8.908228 47.441521 8.907915 47.441968 8.907556 47.44229 8.907234 47.442584 8.906931 47.442778 8.906783 47.442804 8.906807 47.443185 8.906784 47.443407 8.906755 47.443521 8.906693 47.443628 8.906563 47.443803 8.906108 47.444208 8.905742 47.444321 8.905612 47.444396 8.905414 47.444608 8.904894 47.445131 8.904666 47.445277 8.904307 47.445598 8.904102 47.445723 8.903957 47.446027 8.903848 47.446205 8.90392 47.446366 8.904012 47.446401 8.904286 47.446496 8.904453 47.446515 8.904627 47.446608 8.905004 47.446825 8.905196 47.446906 8.905595 47.447193 8.905713 47.44735 8.906096 47.447737 8.906185 47.447862 8.90623 47.447948 8.906314 47.448153 8.906391 47.448267 8.906716 47.448525 8.906764 47.448608 8.906776 47.448743 8.906859 47.448762 8.907086 47.448699 8.907142 47.44862 8.907221 47.448614 8.907275 47.448687 8.907457 47.448722 8.907613 47.448792 8.90784 47.448931 8.908087 47.449076 8.908271 47.449163 8.908471 47.449234 8.90868 47.449287 8.908901 47.449309 8.909124 47.449317 8.909247 47.449328 8.909363 47.449355 8.909518 47.449411 8.909646 47.449431 8.909764 47.449395 8.909833 47.449462 8.909895 47.449484 8.909977 47.449561 8.910068 47.449634 8.910178 47.449693 8.910002 47.450302 8.909759 47.450417 8.90952 47.450615 8.909501 47.450784 8.909148 47.451229 8.908742 47.451595 8.908742 47.45164 8.908661 47.451662 8.908643 47.451793 8.908578 47.452113 8.908343 47.452512 8.908193 47.452717 8.908107 47.452792 8.908 47.452857 8.907871 47.452899 8.907502 47.452956 8.907365 47.452986 8.907241 47.453036 8.907106 47.453156 8.90705 47.453199 8.906876 47.45323 8.906787 47.453411 8.906688 47.453589 8.906483 47.453889 8.906366 47.454094 8.906186 47.454198 8.906116 47.454241 8.90583 47.454427 8.905488 47.454712 8.905338 47.454833 8.905278 47.454918 8.905116 47.455037 8.904888 47.455276 8.90474 47.45542 8.904582 47.45548 8.904333 47.455479 8.9041 47.455597 8.903755 47.455762 8.903356 47.455877 8.902883 47.456057 8.902603 47.456106 8.902308 47.456067 8.902121 47.456152 8.901554 47.456261 8.901469 47.456276 8.901538 47.456332 8.90163 47.456376 8.901605 47.456408 8.901541 47.456562 8.901011 47.457138 8.900871 47.457319 8.900702 47.457583 8.900699 47.45761 8.900638 47.457593 8.900565 47.457668 8.900444 47.457876 8.899097 47.459865 8.899424 47.460249 8.898415 47.460754 8.896967 47.461334 8.89694 47.461377 8.896907 47.461419 8.896647 47.461675 8.896633 47.461692 8.896609 47.461728 8.896601 47.461747 8.896593 47.461787 8.896593 47.461806 8.896599 47.461846 8.896606 47.461865 8.896628 47.461902 8.896658 47.461935 8.896676 47.461951 8.896719 47.461978 8.896767 47.462 8.897097 47.46211 8.897137 47.462126 8.897176 47.462143 8.897214 47.462162 8.89725 47.462182 8.897284 47.462203 8.897316 47.462226 8.897346 47.46225 8.897374 47.462276 8.8974 47.462302 8.897423 47.462329 8.897444 47.462358 8.897463 47.462386 8.897492 47.462446 8.897509 47.462495 8.897515 47.46252 8.89752 47.462546 8.897526 47.462596 8.897526 47.462621 8.897523 47.462672 8.897514 47.462722 8.897507 47.462747 8.897462 47.46286 8.896805 47.464705 8.896797 47.464734 8.896807 47.464736 8.896784 47.464778 8.896775 47.464776 8.896748 47.464807 8.896732 47.464821 8.896693 47.464845 8.896648 47.464864 8.896624 47.464871 8.896573 47.464879 8.89652 47.464881 8.895801 47.46487 8.895768 47.464872 8.89572 47.464878 8.895689 47.464886 8.895645 47.464902 8.895612 47.464919 8.895574 47.464942 8.89554 47.464967 8.895508 47.464994 8.895468 47.465038 8.895445 47.465069 8.895353 47.465214 8.895238 47.465555 8.895148 47.465664 8.895073 47.465619 8.894965 47.46568 8.894877 47.465707 8.894864 47.465691 8.894795 47.465713 8.894805 47.465729 8.893168 47.466177 8.893043 47.46622 8.892972 47.466268 8.892931 47.466338 8.892904 47.466335 8.892914 47.466431 8.892939 47.466426 8.893041 47.46653 8.89319 47.466571 8.893983 47.466747 8.894734 47.466907 8.894724 47.466924 8.89481 47.46695 8.894822 47.466934 8.894892 47.466973 8.894931 47.467029 8.894927 47.467092 8.894891 47.467151 8.894821 47.467197 8.894601 47.467271 8.893547 47.467595 8.893247 47.467696 8.893121 47.467757 8.893021 47.467836 8.893003 47.467829 8.892971 47.46788 8.89299 47.467885 8.892952 47.467944 8.892474 47.468847 8.892114 47.469552 8.892022 47.469747 8.891956 47.469942 8.891889 47.470169 8.891862 47.470374 8.891866 47.470534 8.891839 47.470535 8.891842 47.470588 8.891868 47.470588 8.891888 47.471024 8.891919 47.47127 8.891792 47.471231 8.889442 47.471458 8.888285 47.471531 8.88756 47.471658 8.887642 47.47182 8.887701 47.471995 8.887751 47.472084 8.887629 47.47201 8.887492 47.471953 8.887262 47.471901 8.88693 47.471842 8.886697 47.471792 8.886484 47.471736 8.88627 47.471667 8.886092 47.471631 8.885958 47.471623 8.885499 47.471639 8.885502 47.471675 8.885172 47.471886 8.884772 47.47211 8.884787 47.472132 8.884812 47.472383 8.885022 47.472601 8.885195 47.47273 8.884885 47.472933 8.884505 47.473113 8.884595 47.473182 8.884955 47.47341 8.885075 47.473494 8.885169 47.473581 8.885258 47.473674 8.885714 47.474233 8.885775 47.474326 8.885808 47.474429 8.885826 47.474531 8.885836 47.474629 8.885833 47.474728 8.885817 47.474827 8.885738 47.475112 8.885744 47.475197 8.885766 47.475273 8.885797 47.47535 8.885854 47.475408 8.885908 47.475437 8.885738 47.475694 8.885475 47.475785 8.884284 47.47613 8.884053 47.476191 8.88384 47.476242 8.883134 47.476393 8.882959 47.476445 8.882623 47.4766 8.882492 47.476651 8.882177 47.476721 8.882192 47.476767 8.882283 47.476783 8.882453 47.476779 8.882665 47.476791 8.88284 47.476832 8.883 47.4769 8.884005 47.477541 8.884086 47.47755 8.88398 47.477624 8.884058 47.477652 8.884128 47.477665 8.885853 47.478764 8.885977 47.478864 8.886065 47.478983 8.886104 47.479109 8.886095 47.479238 8.885717 47.480402 8.885693 47.480514 8.885673 47.480929 8.885652 47.480999 8.885789 47.480918 8.885785 47.481001 8.885994 47.481463 8.886194 47.481631 8.886759 47.48266 8.886653 47.483087 8.886529 47.483349 8.886489 47.483677 8.886888 47.483849 8.887262 47.483953 8.887349 47.483935 8.887745 47.48399 8.888304 47.484128 8.888581 47.484326 8.8891 47.484434 8.889302 47.484458 8.889548 47.484353 8.889821 47.484283 8.889946 47.484351 8.890204 47.484472 8.890294 47.484507 8.8904 47.484526 8.890649 47.484524 8.890728 47.48453 8.890793 47.484554 8.891564 47.48494 8.891685 47.485036 8.891775 47.485138 8.891932 47.485221 8.89202 47.485163 8.892165 47.485123 8.894573 47.485835 8.895154 47.485941 8.895545 47.486082 8.896291 47.486227 8.898024 47.486557 8.898891 47.487079 8.898875 47.487103 8.898859 47.487198 8.898858 47.487319 8.898882 47.48754 8.898837 47.487797 8.898793 47.487932 8.898711 47.488059 8.898325 47.48857 8.898252 47.488693 8.898211 47.488822 8.898009 47.489803 8.89798 47.489868 8.897166 47.490218 8.897058 47.49025 8.896763 47.490298 8.896519 47.490366 8.896215 47.490493 8.896149 47.490503 8.896113 47.490538 8.89601 47.490556 8.894878 47.490413 8.89447 47.490395 8.894001 47.490384 8.894238 47.492427 8.894207 47.492545 8.894234 47.492688 8.894239 47.492814 8.89414 47.493087 8.894131 47.493165 8.894153 47.493246 8.894209 47.49332 8.894275 47.493381 8.894555 47.493543 8.894573 47.493565 8.89458 47.493622 8.8944 47.4938 8.894422 47.493799 8.894732 47.496234 8.894705 47.49625 8.894653 47.496271 8.894639 47.496289 8.894589 47.496317 8.894486 47.496365 8.894634 47.496765 8.894664 47.496863 8.894554 47.499376 8.893775 47.499486 8.893885 47.500448 8.893902 47.50065 8.893911 47.500848 8.893919 47.501921 8.893903 47.502187 8.893864 47.502538 8.894218 47.502534 8.894325 47.502484 8.894416 47.502467 8.894782 47.502623 8.896204 47.50467 8.896228 47.504712 8.896549 47.504631 8.896438 47.505578 8.896906 47.505674 8.897279 47.505849 8.897254 47.506043 8.897283 47.506085 8.897529 47.506093 8.897658 47.506125 8.897736 47.506202 8.897855 47.506452 8.897934 47.506594 8.898265 47.506917 8.898299 47.506979 8.898283 47.507042 8.898107 47.507151 8.898048 47.50729 8.898061 47.507431 8.897441 47.507418 8.89744 47.507656 8.897865 47.508459 8.898075 47.508755 8.898137 47.50892 8.898181 47.509231 8.898156 47.509531 8.898096 47.509634 8.898154 47.509705 8.898664 47.509757 8.898617 47.509935 8.898551 47.510078 8.898523 47.510229 8.898525 47.510379 8.898572 47.510737 8.898564 47.510913 8.89848 47.511298 8.898503 47.511325 8.898513 47.511379 8.8985 47.511412 8.898557 47.511631 8.898598 47.512078 8.898497 47.512557 8.898508 47.512693 8.898573 47.512809 8.898754 47.513008 8.898812 47.513109 8.89881 47.513214 8.898321 47.513599 8.898193 47.513712 8.898038 47.513941 8.897915 47.51418 8.897831 47.51444 8.897834 47.5147 8.897565 47.515097 8.897541 47.51564 8.897589 47.51597 8.897628 47.516295 8.897702 47.516711 8.897816 47.516955 8.897891 47.517229 8.897828 47.517555 8.8979 47.517727 8.898006 47.517871 8.898081 47.517951 8.898123 47.518027 8.898124 47.518129 8.898049 47.518306 8.897955 47.518789 8.897803 47.519279 8.89784 47.519304 8.89804 47.519401 8.89816 47.519494 8.898292 47.519656 8.896497 47.521221 8.896615 47.521329 8.897449 47.522058 8.897466 47.522049 8.897735 47.522298 8.897721 47.522306 8.89766 47.522391 8.897837 47.522572 8.897989 47.522748 8.898132 47.522934 8.89825 47.523111 8.898338 47.523263 8.898424 47.523433 8.898639 47.523935 8.899508 47.525996 8.899531 47.526145 8.899426 47.526105 8.899001 47.525979 8.898962 47.525983 8.897948 47.527583 8.897105 47.527903 8.897044 47.527882 8.89631 47.528009 8.895841 47.528101 8.895762 47.528109 8.895672 47.528113 8.895591 47.52811 8.895511 47.528101 8.895391 47.528076 8.895124 47.527997 8.894912 47.528281 8.893782 47.528613 8.893496 47.528721 8.893238 47.52876 8.892722 47.528746 8.892473 47.528754 8.892479 47.528804 8.891667 47.528949 8.891687 47.528867 8.891422 47.528849 8.891244 47.528821 8.891209 47.528835 8.891089 47.528759 8.890452 47.529046 8.889908 47.529251 8.889881 47.529271 8.889774 47.529208 8.889202 47.529435 8.889269 47.529706 8.888793 47.530229 8.888763 47.530317 8.888788 47.530362 8.887546 47.529901 8.887533 47.52988 8.887544 47.529857 8.887499 47.529818 8.886743 47.530159 8.886411 47.530322 8.88622 47.530424 8.886034 47.530532 8.884942 47.531223 8.884641 47.531389 8.884635 47.531364 8.884458 47.531319 8.884269 47.531262 8.884093 47.531191 8.883926 47.531112 8.883763 47.531029 8.88331 47.530743 8.883202 47.530688 8.883083 47.530646 8.882858 47.530585 8.882669 47.530515 8.882499 47.530425 8.88146 47.529729 8.881253 47.529599 8.88117 47.5296 8.881073 47.529571 8.881181 47.529428 8.881308 47.529296 8.881388 47.529226 8.881465 47.529166 8.881632 47.529056 8.881592 47.529001 8.880148 47.52956 8.879129 47.529963 8.87808 47.530363 8.877195 47.530694 8.876279 47.531017 8.875675 47.531241 8.8755 47.531309 8.875402 47.531334 8.875329 47.531305 8.875218 47.531345 8.874795 47.531464 8.87405 47.531655 8.873673 47.531744 8.873293 47.531827 8.87291 47.531906 8.872525 47.531979 8.8712 47.532219 8.870805 47.532275 8.870412 47.53232 8.870013 47.532354 8.868577 47.532417 8.868019 47.532439 8.8677 47.532445 8.866574 47.532475 8.866006 47.532473 8.865421 47.532465 8.865043 47.532445 8.864607 47.532414 8.862227 47.532331 8.861673 47.532356 8.861251 47.532387 8.861084 47.532318 8.860921 47.53231 8.860838 47.532373 8.860418 47.532389 8.85972 47.532313 8.859172 47.532321 8.858959 47.532423 8.858888 47.532483 8.858753 47.532666 8.858709 47.532685 8.858606 47.532658 8.857751 47.532402 8.857037 47.532385 8.856958 47.532387 8.856896 47.532411 8.856957 47.53274 8.856896 47.532791 8.85709 47.533069 8.857076 47.533426 8.856428 47.533303 8.853931 47.533228 8.853695 47.533198 8.853248 47.533109 8.853234 47.533143 8.852969 47.533098 8.852697 47.53308 8.851978 47.533068 8.851731 47.533072 8.851289 47.533092 8.8508 47.533144 8.850743 47.533171 8.850714 47.533214 8.850625 47.533245 8.850605 47.533214 8.850573 47.533188 8.850533 47.533167 8.850487 47.533154 8.850392 47.533164 8.850256 47.533196 8.850115 47.533221 8.849984 47.533237 8.849888 47.533242 8.849716 47.533248 8.849563 47.533247 8.849155 47.53323 8.848933 47.533226 8.848781 47.533228 8.848614 47.533238 8.848407 47.533261 8.848195 47.533291 8.846625 47.533554 8.846125 47.533648 8.845594 47.533759 8.845207 47.533846 8.844526 47.534013 8.842109 47.534617 8.842023 47.534646 8.841952 47.534683 8.841896 47.534724 8.841815 47.534804 8.841878 47.534785 8.842123 47.534801 8.842083 47.534832 8.842324 47.535469 8.842345 47.53568 8.842164 47.536632 8.842186 47.536772 8.842366 47.537146 8.842231 47.537426 8.842108 47.537449 8.842058 47.537494 8.842058 47.537519 8.842012 47.537587 8.841864 47.537683 8.841808 47.537754 8.84179 47.537832 8.841901 47.538395 8.841958 47.538425 8.842078 47.538416 8.84218 47.538419 8.842172 47.538469 8.842118 47.538494 8.842123 47.538537 8.842295 47.538708 8.84235 47.538842 8.842303 47.538847 8.842305 47.538898 8.842142 47.539165 8.841884 47.539353 8.841529 47.539332 8.84128 47.539166 8.841053 47.539122 8.840528 47.539192 8.840636 47.539846 8.840671 47.539951 8.840756 47.540044 8.840858 47.540132 8.840917 47.540206 8.840961 47.540324 8.840954 47.54037 8.841007 47.540408 8.841168 47.540403 8.841124 47.541308 8.840595 47.541276 8.839952 47.541285 8.839495 47.541322 8.839342 47.541356 8.839736 47.542164 8.838328 47.543234 8.838286 47.543285 8.837423 47.544851 8.837495 47.544882 8.83743 47.544951 8.837284 47.544921 8.835595 47.544884 8.835625 47.544889 8.835647 47.544901 8.835659 47.544919 8.83566 47.54494 8.835416 47.545486 8.835234 47.545825 8.835014 47.546173 8.834834 47.546424 8.835467 47.546584 8.83523 47.54701 8.833908 47.548004 8.833839 47.548027 8.833765 47.548013 8.833959 47.548124 8.833932 47.548163 8.834007 47.548212 8.83416 47.548343 8.83443 47.548608 8.833415 47.549361 8.833252 47.550067 8.833488 47.550222 8.833709 47.550389 8.833703 47.550399 8.83362 47.550444 8.833819 47.55061 8.833856 47.550648 8.833919 47.550734 8.833917 47.550754 8.833865 47.550871 8.833895 47.550894 8.833784 47.551033 8.833756 47.551053 8.833716 47.551057 8.833417 47.550972 8.833177 47.551016 8.833038 47.551058 8.833044 47.551369 8.833041 47.551463 8.833054 47.551483 8.833082 47.551492 8.832979 47.551485 8.832889 47.551485 8.832865 47.551634 8.832911 47.551638 8.832898 47.551713 8.832948 47.551715 8.832912 47.551892 8.832382 47.551812 8.832203 47.551817 8.831929 47.552511 8.831844 47.552548 8.831833 47.552588 8.831302 47.5534 8.830977 47.553691 8.831548 47.554067 8.831629 47.554069 8.831803 47.554018 8.831903 47.554063 8.831092 47.555058 8.830729 47.555505 8.83042 47.555903 8.830168 47.556248 8.829882 47.556664 8.829612 47.557085 8.829074 47.557958 8.829168 47.557927 8.830355 47.55814 8.830782 47.558191 8.830852 47.55822 8.830867 47.558274 8.830781 47.558595 8.830784 47.558712 8.830641 47.559576 8.832431 47.55977 8.832735 47.559795 8.833014 47.559803 8.833094 47.559802 8.833294 47.559796 8.833599 47.559774 8.83543 47.559591 8.835691 47.559561 8.83652 47.559445 8.837759 47.559375 8.838021 47.559355 8.839203 47.559241 8.839862 47.55933 8.841381 47.559853 8.841906 47.560426 8.841794 47.561344 8.84183 47.561416 8.842368 47.561793 8.842579 47.561911 8.842821 47.561997 8.843611 47.562205 8.843923 47.562279 8.844903 47.56237 8.84544 47.562457 8.846002 47.562527 8.846236 47.562571 8.846578 47.56266 8.846782 47.562704 8.846993 47.562731 8.847208 47.562739 8.847421 47.56273 8.848012 47.562679 8.848606 47.562637 8.848824 47.562629 8.849609 47.562632 8.849847 47.562647 8.85036 47.562706 8.850658 47.562735 8.850957 47.562745 8.851983 47.562752 8.852279 47.562782 8.852271 47.562817 8.852305 47.562847 8.852218 47.563436 8.852105 47.564296 8.852061 47.564787 8.852067 47.564817 8.852042 47.5654 8.852067 47.565501 8.852159 47.565586 8.852095 47.565633 8.845477 47.56523 8.846075 47.568074 8.846029 47.568115 8.843347 47.568373 8.843278 47.568334 8.843217 47.568336 8.8432 47.568132 8.843174 47.568052 8.843115 47.56798 8.843028 47.567923 8.842919 47.567886 8.840378 47.567329 8.840441 47.567388 8.840442 47.570443 8.840385 47.570493 8.840366 47.570555 8.840102 47.570531 8.839834 47.57052 8.839566 47.570521 8.83892 47.570538 8.838987 47.570571 8.839995 47.573174 8.832515 47.575341 8.832413 47.575375 8.831788 47.574724 8.831265 47.573103 8.831203 47.57308 8.824997 47.574465 8.824884 47.574499 8.824776 47.574541 8.824096 47.574859 8.823672 47.57504 8.823196 47.573589 8.822888 47.573732 8.82246 47.573942 8.822041 47.574159 8.821631 47.574384 8.821463 47.574247 8.821181 47.574409 8.821216 47.574336 8.820849 47.573362 8.818476 47.573907 8.81784 47.572211 8.817774 47.572176 8.817774 47.572148 8.815357 47.572137 8.815188 47.572143 8.815034 47.572158 8.814948 47.57217 8.811413 47.57294 8.808593 47.573554 8.809277 47.576308 8.80597 47.576984 8.805924 47.57704 8.806803 47.579087 8.806886 47.579117 8.806904 47.57916 8.806444 47.579253 8.807387 47.581485 8.802313 47.582488 8.802247 47.582519 8.802248 47.582574 8.803325 47.584623 8.803504 47.584783 8.80358 47.584831 8.803685 47.58484 8.805571 47.584389 8.806727 47.584126 8.807225 47.585128 8.799201 47.587003 8.768728 47.594102 8.768339 47.594189 8.767642 47.594332 8.76707 47.594438 8.76645 47.594538 8.765868 47.594617 8.765239 47.594689 8.76447 47.594762 8.763789 47.594809 8.763127 47.59484 8.76246 47.594855 8.75935 47.594883 8.758598 47.594881 8.757537 47.594868 8.756901 47.594848 8.755816 47.594786 8.753788 47.594647 8.750727 47.594419 8.749944 47.594346 8.749398 47.594291 8.748463 47.597105 8.748445 47.597685 8.748438 47.597724 8.748418 47.597766 8.748391 47.597801 8.748355 47.597832 8.748311 47.597859 8.748261 47.597881 8.748174 47.597901 8.747819 47.597942 8.747738 47.597957 8.74766 47.597978 8.74756 47.598013 8.746987 47.598253 8.746845 47.598304 8.746835 47.598471 8.746847 47.598526 8.746873 47.598578 8.746913 47.598626 8.74696 47.598665 8.74833 47.599488 8.748532 47.599657 8.748536 47.599725 8.748707 47.600496 8.748768 47.600534 8.748907 47.600544 8.749143 47.600573 8.749129 47.600618 8.749139 47.600645 8.749119 47.600992 8.749249 47.601019 8.749202 47.601604 8.749578 47.601715 8.749688 47.601755 8.74978 47.601813 8.749847 47.601882 8.749885 47.601951 8.749959 47.601988 8.749954 47.602025 8.7484 47.6022 8.747719 47.602299 8.747479 47.60233 8.747587 47.602504 8.747784 47.602779 8.747809 47.602839 8.747775 47.602899 8.747466 47.603218 8.74721 47.603425 8.746268 47.604011 8.746042 47.604176 8.745884 47.604258 8.745573 47.604368 8.745331 47.604433 8.745078 47.604491 8.744909 47.604564 8.744715 47.604725 8.744618 47.604879 8.744593 47.605009 8.744603 47.605228 8.744589 47.605317 8.744553 47.605389 8.744385 47.60563 8.744223 47.605789 8.743903 47.606017 8.743581 47.606254 8.743408 47.606416 8.743274 47.606604 8.743097 47.607049 8.743025 47.607394 8.74304 47.607553 8.74315 47.607691 8.743307 47.60784 8.743398 47.608013 8.743437 47.608231 8.743423 47.60848 8.743326 47.608909 8.74314 47.609326 8.74275 47.609371 8.742359 47.60944 8.741884 47.609549 8.74167 47.609605 8.741228 47.609747 8.740966 47.609843 8.740571 47.610025 8.740566 47.610078 8.740696 47.610222 8.740751 47.610298 8.7408 47.610391 8.740832 47.610495 8.741279 47.613783 8.741327 47.613814 8.74134 47.613882 8.74162 47.613851 8.741892 47.613809 8.742156 47.613754 8.742414 47.613686 8.742529 47.61365 8.742517 47.61368 8.74294 47.614094 8.743029 47.614117 8.743823 47.613844 8.744168 47.614425 8.744252 47.614969 8.745189 47.614912 8.745363 47.61491 8.745915 47.61493 8.746689 47.614927 8.746984 47.614932 8.746948 47.615614 8.74695 47.616038 8.746975 47.616446 8.746858 47.617096 8.746827 47.617455 8.746807 47.617981 8.746792 47.618149 8.746763 47.618208 8.746678 47.618351 8.746631 47.618372 8.746754 47.618451 8.746817 47.618589 8.747216 47.618865 8.747364 47.618996 8.747466 47.619156 8.747558 47.619375 8.747633 47.619674 8.747637 47.619979 8.747558 47.62045 8.747435 47.620902 8.747256 47.621348 8.747106 47.621784 8.747117 47.621888 8.74715 47.621909 8.74706 47.622076 8.74703 47.622159 8.74699 47.622522 8.746989 47.622652 8.747007 47.622806 8.747078 47.623149 8.747207 47.623434 8.747254 47.623421 8.7476 47.623894 8.747987 47.624087 8.748167 47.624233 8.748289 47.624467 8.748689 47.624715 8.749298 47.625028 8.750685 47.62348 8.750724 47.623287 8.75084 47.62286 8.750881 47.62279 8.750925 47.622689 8.751034 47.622548 8.751418 47.622237 8.751485 47.622165 8.751576 47.622088 8.751653 47.622006 8.752041 47.621714 8.75303 47.621268 8.753639 47.620998 8.754185 47.620769 8.75468 47.62061 8.754964 47.620492 8.755382 47.620199 8.755785 47.619968 8.755941 47.620143 8.756216 47.61975 8.756234 47.619715 8.756189 47.619662 8.756187 47.619607 8.756284 47.619414 8.756295 47.61933 8.75628 47.619167 8.756291 47.619111 8.756332 47.619058 8.756393 47.619017 8.757492 47.618609 8.757597 47.618779 8.758055 47.619088 8.758199 47.619231 8.758398 47.619397 8.758714 47.619633 8.759168 47.619936 8.759437 47.620209 8.75953 47.620339 8.759539 47.620368 8.759911 47.62027 8.760055 47.620225 8.760597 47.620175 8.76088 47.620218 8.760938 47.62021 8.761984 47.620232 8.762419 47.620217 8.762798 47.620116 8.763131 47.620098 8.76336 47.620072 8.763785 47.619875 8.763966 47.619827 8.764393 47.61967 8.764795 47.619537 8.764968 47.619466 8.765199 47.619356 8.765891 47.61919 8.76633 47.619006 8.766921 47.618838 8.766914 47.618825 8.76714 47.61876 8.767526 47.618658 8.767866 47.618536 8.768435 47.618198 8.768812 47.617982 8.769287 47.617748 8.770206 47.617343 8.770741 47.617085 8.770961 47.617191 8.77142 47.616919 8.773601 47.616413 8.773671 47.616439 8.773659 47.616482 8.773486 47.616675 8.773523 47.616694 8.773609 47.616986 8.773655 47.617008 8.774268 47.616942 8.77505 47.616893 8.775714 47.616844 8.775816 47.616783 8.775339 47.616417 8.775409 47.616376 8.776481 47.616254 8.776356 47.615589 8.776713 47.615476 8.777237 47.615366 8.777797 47.615266 8.777644 47.615107 8.777471 47.61483 8.777847 47.614814 8.778164 47.614759 8.778693 47.614705 8.778699 47.614643 8.779552 47.614658 8.780065 47.614635 8.780625 47.614682 8.780754 47.614295 8.782365 47.613994 8.78281 47.613774 8.783146 47.613575 8.783929 47.61326 8.784158 47.613175 8.784357 47.613005 8.784547 47.613059 8.784868 47.612976 8.785407 47.612751 8.785673 47.612599 8.786094 47.612334 8.78671 47.612019 8.787134 47.61189 8.787568 47.611696 8.787935 47.611526 8.788148 47.611494 8.788797 47.611602 8.789034 47.611527 8.788888 47.611131 8.788945 47.611008 8.789523 47.611211 8.789795 47.611272 8.79002 47.611296 8.790671 47.611346 8.790982 47.611391 8.791449 47.610412 8.791343 47.610299 8.790901 47.60991 8.790695 47.609535 8.790487 47.609348 8.790055 47.609032 8.789877 47.608808 8.789829 47.608306 8.789588 47.607787 8.789461 47.607422 8.789506 47.606866 8.789314 47.606134 8.790182 47.606116 8.790151 47.606052 8.790195 47.606042 8.789936 47.605511 8.78994 47.605478 8.789979 47.605458 8.789965 47.605421 8.792854 47.604926 8.793082 47.60488 8.794004 47.604722 8.794124 47.604698 8.794241 47.604664 8.794622 47.604541 8.794813 47.604493 8.794862 47.604484 8.795114 47.604466 8.796574 47.604472 8.796715 47.604461 8.796849 47.604428 8.797024 47.604393 8.797102 47.604428 8.797335 47.6045 8.797495 47.604541 8.797609 47.60456 8.797715 47.604571 8.797859 47.604578 8.798003 47.604565 8.798259 47.604527 8.798357 47.604499 8.798548 47.604414 8.798825 47.604364 8.798915 47.604352 8.799197 47.604344 8.799428 47.60433 8.799691 47.604285 8.799811 47.604255 8.799926 47.604215 8.800035 47.60417 8.800066 47.604205 8.800477 47.604037 8.801146 47.603729 8.801271 47.603681 8.801399 47.603637 8.801531 47.603599 8.801667 47.603565 8.801804 47.603537 8.802595 47.603388 8.802871 47.603327 8.803865 47.603095 8.803897 47.603113 8.804003 47.603122 8.803944 47.603332 8.803889 47.603467 8.803751 47.603723 8.803657 47.603882 8.803694 47.603892 8.803659 47.603951 8.803621 47.60394 8.803432 47.604248 8.803293 47.60445 8.803215 47.604548 8.803132 47.604643 8.802896 47.604902 8.802925 47.604965 8.802859 47.604941 8.802982 47.605306 8.80305 47.605455 8.803147 47.605593 8.803262 47.605728 8.803338 47.605809 8.803423 47.605885 8.803828 47.606213 8.803944 47.606315 8.804048 47.606422 8.804187 47.606578 8.804142 47.606597 8.804187 47.606685 8.804189 47.606728 8.804175 47.606776 8.804116 47.606903 8.80408 47.606996 8.804055 47.607093 8.804042 47.60719 8.804042 47.60729 8.804058 47.607584 8.804094 47.607798 8.804165 47.608091 8.804182 47.608522 8.804212 47.608799 8.804315 47.609074 8.804401 47.609241 8.804528 47.609395 8.805139 47.610003 8.805178 47.610055 8.805197 47.610112 8.80498 47.610311 8.804491 47.610477 8.805313 47.611421 8.80499 47.611563 8.805222 47.611869 8.805249 47.611923 8.805304 47.612156 8.805317 47.612374 8.805356 47.612636 8.805279 47.612676 8.805173 47.612687 8.805196 47.612716 8.80529 47.613268 8.805293 47.613351 8.805265 47.613538 8.805263 47.613616 8.805289 47.613693 8.805489 47.614107 8.805645 47.61435 8.805684 47.614421 8.805706 47.614495 8.805864 47.61523 8.805889 47.615306 8.805939 47.615376 8.806226 47.615716 8.807928 47.61618 8.809548 47.61603 8.809606 47.616067 8.809708 47.616071 8.809678 47.616224 8.809669 47.616377 8.809677 47.616529 8.809704 47.616681 8.809809 47.617136 8.809866 47.617093 8.811632 47.61713 8.811797 47.617173 8.811772 47.617722 8.811935 47.617716 8.812521 47.618365 8.812897 47.618453 8.81435 47.618515 8.814973 47.618806 8.815181 47.619199 8.814582 47.619128 8.813911 47.619241 8.813623 47.619349 8.813364 47.619605 8.813556 47.619838 8.813516 47.619852 8.814038 47.620181 8.812732 47.620958 8.813318 47.621441 8.814156 47.621526 8.814041 47.622619 8.814315 47.62258 8.814802 47.622645 8.81497 47.622727 8.815238 47.622929 8.815481 47.623067 8.815467 47.623097 8.815501 47.623647 8.81427 47.623574 8.814226 47.62356 8.814194 47.623538 8.814149 47.623537 8.814133 47.624039 8.814411 47.624148 8.814936 47.624338 8.812888 47.624631 8.81349 47.626387 8.813551 47.626411 8.814498 47.626101 8.81452 47.626129 8.814495 47.626179 8.814725 47.62651 8.814683 47.626523 8.814501 47.626681 8.81471 47.627555 8.814711 47.627591 8.814139 47.627583 8.814295 47.629356 8.814325 47.629425 8.815073 47.629221 8.815081 47.629234 8.815156 47.629215 8.815147 47.629202 8.815243 47.629176 8.815703 47.62992 8.81662 47.629804 8.816999 47.6307 8.817824 47.630544 8.818782 47.630235 8.819024 47.631717 8.819041 47.631752 8.819082 47.631779 8.819138 47.631798 8.818995 47.631826 8.819005 47.631852 8.81937 47.631787 8.821417 47.631283 8.821971 47.632426 8.821757 47.632447 8.82157 47.632478 8.82138 47.632519 8.821394 47.632552 8.822094 47.633569 8.822107 47.6336 8.822575 47.633507 8.823506 47.634616 8.823787 47.634859 8.823871 47.634926 8.824134 47.635098 8.824402 47.634999 8.824422 47.635022 8.824894 47.635241 8.824962 47.635201 8.825473 47.635578 8.825865 47.635877 8.824933 47.636404 8.825584 47.637027 8.825612 47.637017 8.825854 47.637306 8.825954 47.637527 8.826562 47.639299 8.826514 47.639399 8.826469 47.639492 8.827598 47.639708 8.827887 47.639869 8.828048 47.640601 8.828005 47.640629 8.828583 47.641045 8.828678 47.641976 8.828702 47.642092 8.828743 47.642205 8.82895 47.642662 8.82898 47.642769 8.828975 47.642875 8.828925 47.642974 8.828832 47.643062 8.828645 47.6432 8.828562 47.64328 8.828501 47.64337 8.828465 47.643466 8.828399 47.643763 8.828366 47.644152 8.82832 47.644237 8.828218 47.644296 8.828109 47.644348 8.82803 47.644422 8.827997 47.64451 8.828005 47.644599 8.828137 47.645367 8.828097 47.645385 8.828048 47.645377 8.828121 47.645436 8.828057 47.645467 8.827928 47.64546 8.827726 47.645524 8.827626 47.645591 8.827115 47.646185 8.827052 47.646283 8.827033 47.646391 8.827054 47.646498 8.827369 47.647306 8.827456 47.647664 8.827507 47.648093 8.827741 47.64814 8.827769 47.648497 8.827628 47.648735 8.827368 47.648939 8.827108 47.648991 8.826327 47.64925 8.826004 47.649411 8.825689 47.649601 8.825745 47.64981 8.824939 47.649989 8.824448 47.650257 8.824143 47.65036 8.823774 47.650477 8.8232 47.650616 8.822925 47.650673 8.822588 47.650752 8.82236 47.650849 8.822124 47.650916 8.821626 47.650965 8.821301 47.650993 8.82103 47.651011 8.820351 47.650893 8.820105 47.650911 8.819964 47.650934 8.819559 47.651022 8.819108 47.651188 8.818677 47.651369 8.818215 47.651526 8.817907 47.651543 8.817654 47.651455 8.817356 47.651327 8.816984 47.651077 8.816941 47.651162 8.816681 47.651785 8.816695 47.651846 8.816772 47.651878 8.816485 47.651825 8.816177 47.651728 8.815898 47.651569 8.815859 47.651611 8.815879 47.651658 8.81583 47.651695 8.815677 47.651751 8.815536 47.651818 8.815407 47.651896 8.815315 47.651994 8.81515 47.651909 8.814549 47.652158 8.813689 47.652584 8.813153 47.65287 8.812573 47.653121 8.812319 47.653159 8.812036 47.653237 8.811508 47.653502 8.811115 47.653615 8.810702 47.653669 8.81009 47.653771 8.809702 47.653773 8.809324 47.653794 8.808905 47.65377 8.808577 47.653819 8.808289 47.653883 8.807974 47.653888 8.807852 47.653889 8.807253 47.653968 8.806624 47.654107 8.806452 47.65416 8.80624 47.654173 8.806041 47.654222 8.806079 47.654498 8.806171 47.655163 8.806253 47.65575 8.806386 47.656714 8.806033 47.656826 8.805935 47.656788 8.805762 47.656842 8.805612 47.656918 8.80548 47.656929 8.805485 47.656973 8.805622 47.657474 8.805694 47.657897 8.805714 47.658175 8.805933 47.659405 8.805876 47.659459 8.805972 47.659445 8.805997 47.659526 8.806039 47.659735 8.806064 47.660051 8.806128 47.660323 8.806166 47.660552 8.806161 47.660804 8.806084 47.661226 8.806046 47.661785 8.80607 47.662003 8.806084 47.662301 8.806114 47.662393 8.804598 47.66263 8.804608 47.662666 8.804998 47.663649 8.805218 47.66439 8.805355 47.665886 8.806429 47.666188 8.80644 47.666715 8.805876 47.666892 8.805141 47.667135 8.804937 47.66719 8.804813 47.667166 8.804451 47.667205 8.804327 47.667259 8.803807 47.667279 8.803545 47.667281 8.803285 47.667265 8.803028 47.667237 8.802072 47.667084 8.801175 47.666949 8.800854 47.666907 8.800267 47.666863 8.800002 47.666864 8.79959 47.666909 8.7996 47.666949 8.799415 47.666964 8.799229 47.666967 8.797902 47.666951 8.797495 47.66693 8.796862 47.666874 8.796068 47.666819 8.795676 47.666772 8.794415 47.666673 8.794162 47.666666 8.792398 47.666822 8.789717 47.667353 8.788957 47.665115 8.788879 47.664934 8.788577 47.664336 8.787764 47.662728 8.787903 47.661271 8.787889 47.661143 8.787736 47.660095 8.787666 47.660022 8.787078 47.65974 8.787045 47.65968 8.787193 47.657195 8.787143 47.657149 8.786584 47.657103 8.786591 47.657063 8.785188 47.655752 8.785079 47.655727 8.785045 47.655633 8.783639 47.654485 8.783453 47.654351 8.783237 47.65422 8.783123 47.65416 8.782235 47.653714 8.782095 47.653654 8.78193 47.653601 8.780561 47.653206 8.779716 47.653014 8.779432 47.65291 8.779139 47.652741 8.779036 47.652654 8.778885 47.652504 8.77874 47.652326 8.778567 47.651939 8.778496 47.65173 8.778422 47.651606 8.778325 47.651495 8.778214 47.651394 8.777516 47.650903 8.777365 47.650834 8.777068 47.650832 8.776767 47.650821 8.775736 47.650747 8.775634 47.650749 8.775553 47.650768 8.775463 47.65081 8.775154 47.650999 8.77485 47.651193 8.774588 47.651406 8.774244 47.651746 8.774088 47.651845 8.773919 47.651896 8.773776 47.651924 8.773552 47.651938 8.77316 47.651919 8.772907 47.651871 8.772649 47.651829 8.77233 47.651809 8.772081 47.651825 8.771251 47.651955 8.770694 47.652032 8.770009 47.652174 8.76979 47.652155 8.76957 47.652085 8.7693 47.65197 8.768887 47.651761 8.768367 47.65136 8.768213 47.651264 8.76788 47.651095 8.7675 47.650939 8.767165 47.65084 8.76692 47.650799 8.766405 47.650747 8.766127 47.650749 8.766083 47.650789 8.766021 47.650807 8.765938 47.650686 8.765875 47.650512 8.763715 47.648295 8.763628 47.64822 8.763532 47.648159 8.763403 47.648099 8.763332 47.648074 8.763258 47.648053 8.762571 47.647906 8.761015 47.647534 8.760965 47.647913 8.760937 47.647918 8.76024 47.646619 8.760196 47.646521 8.760171 47.646417 8.760137 47.646225 8.760105 47.646132 8.760055 47.646042 8.759996 47.645956 8.759755 47.645696 8.759646 47.645594 8.759525 47.645499 8.759016 47.645163 8.758871 47.64509 8.758564 47.644993 8.758448 47.644975 8.758329 47.644976 8.757437 47.645106 8.757277 47.645128 8.757194 47.645134 8.75711 47.645134 8.757028 47.645124 8.756949 47.645107 8.756824 47.645073 8.756426 47.644036 8.756353 47.644005 8.753292 47.64438 8.753284 47.644349 8.75323 47.643227 8.75262 47.643286 8.752433 47.643297 8.751463 47.643315 8.751349 47.643312 8.751225 47.643299 8.751114 47.64328 8.751003 47.643251 8.750847 47.643441 8.750718 47.643381 8.750076 47.643105 8.74936 47.642777 8.749036 47.64203 8.748911 47.641697 8.748748 47.641396 8.748375 47.640633 8.747459 47.64102 8.747143 47.641206 8.746505 47.641426 8.746108 47.641501 8.744539 47.641757 8.744498 47.642002 8.744449 47.642488 8.744435 47.642788 8.744455 47.643002 8.744509 47.643366 8.744365 47.643749 8.74433 47.64414 8.74402 47.644187 8.743828 47.644234 8.744017 47.644318 8.744077 47.644354 8.744136 47.6444 8.744685 47.644997 8.744635 47.645018 8.744468 47.64493 8.744286 47.644854 8.744094 47.644792 8.743468 47.644607 8.743244 47.644529 8.742921 47.644395 8.742784 47.644359 8.742651 47.644354 8.742643 47.644329 8.74229 47.644251 8.741943 47.644167 8.741472 47.644101 8.740932 47.64404 8.740485 47.643998 8.739253 47.643852 8.73875 47.643966 8.738181 47.644148 8.737478 47.644306 8.737051 47.644154 8.736866 47.644095 8.736667 47.644063 8.736897 47.643953 8.736609 47.643586 8.736095 47.643162 8.735432 47.643316 8.73476 47.643487 8.734288 47.64362 8.733639 47.643775 8.732903 47.643957 8.732302 47.644098 8.731817 47.64424 8.7308 47.64481 8.730496 47.644848 8.727491 47.644852 8.725828 47.645045 8.725846 47.644952 8.725767 47.64484 8.725496 47.644593 8.725279 47.644483 8.724771 47.644564 8.724706 47.644189 8.724671 47.643843 8.723774 47.643793 8.723167 47.643746 8.722245 47.64377 8.721487 47.643885 8.721318 47.643427 8.721225 47.643089 8.72096 47.643077 8.720858 47.64309 8.720015 47.643339 8.719222 47.643561 8.718593 47.643746 8.718495 47.643831 8.718392 47.643798 8.717453 47.645159 8.715909 47.645078 8.715355 47.64637 8.713792 47.645983 8.713795 47.645974 8.713722 47.645956 8.713718 47.645965 8.713523 47.645916 8.713483 47.645983 8.713125 47.645895 8.712895 47.645832 8.712671 47.645763 8.712454 47.645683 8.712243 47.645596 8.71196 47.645459 8.711696 47.645307 8.71161 47.645252 8.711583 47.645271 8.711518 47.645226 8.711544 47.645207 8.711452 47.64514 8.71123 47.64496 8.710272 47.644114 8.710231 47.644114 8.710189 47.644074 8.710197 47.644048 8.710074 47.64394 8.71002 47.643912 8.709957 47.643896 8.70989 47.643893 8.709824 47.643904 8.709766 47.643927 8.709724 47.643958 8.709618 47.6441 8.709529 47.644186 8.709428 47.644255 8.70932 47.64431 8.704837 47.646067 8.704754 47.646104 8.704678 47.646146 8.704608 47.646193 8.704546 47.646245 8.704487 47.646307 8.704425 47.646399 8.70422 47.646797 8.704182 47.646858 8.704139 47.646911 8.704084 47.646967 8.704028 47.647014 8.703958 47.647061 8.703889 47.647099 8.703816 47.647133 8.703339 47.647327 8.703167 47.647393 8.702951 47.647466 8.702092 47.647736 8.702157 47.647752 8.702194 47.647792 8.701934 47.648534 8.701898 47.648602 8.701847 47.648672 8.70152 47.649019 8.699832 47.649004 8.699754 47.649245 8.699526 47.649701 8.698843 47.649772 8.698271 47.649849 8.697862 47.649913 8.697286 47.649969 8.695912 47.650045 8.695776 47.649912 8.695678 47.649886 8.694432 47.650016 8.694322 47.650009 8.694118 47.650358 8.693342 47.650599 8.692766 47.650864 8.691526 47.65142 8.690732 47.651596 8.689558 47.65182 8.689228 47.651966 8.689181 47.65202 8.689329 47.652742 8.689378 47.653245 8.687866 47.65555 8.687869 47.655586 8.687379 47.655619 8.687209 47.655624 8.687044 47.655617 8.686876 47.655595 8.686717 47.655561 8.686251 47.65544 8.686092 47.655413 8.685774 47.655386 8.685758 47.656278 8.685775 47.657142 8.684626 47.65764 8.684298 47.657665 8.684186 47.657939 8.683951 47.65851 8.683606 47.659172 8.683338 47.659427 8.682558 47.659706 8.682088 47.659895 8.681842 47.660023 8.681612 47.660129 8.681541 47.660139 8.681473 47.660278 8.681261 47.660536 8.681155 47.660597 8.681055 47.660687 8.680988 47.660791 8.680897 47.661004 8.680773 47.661212 8.680428 47.66164 8.680396 47.661938 8.680441 47.662138 8.680608 47.662458 8.68072 47.662654 8.680774 47.662771 8.680796 47.662891 8.680774 47.663012 8.680695 47.663205 8.680488 47.663615 8.679974 47.663468 8.679933 47.663536 8.679788 47.663721 8.679489 47.664026 8.678855 47.664571 8.678691 47.665525 8.678577 47.666236 8.678625 47.667834 8.679417 47.667759 8.679604 47.667697 8.67964 47.667745 8.679776 47.667743 8.679867 47.667812 8.680181 47.668509 8.680224 47.668732 8.680226 47.669503 8.680212 47.669794 8.680123 47.670079 8.679916 47.670532 8.678775 47.670389 8.678716 47.670722 8.678674 47.670884 8.678614 47.671045 8.678281 47.67178 8.678223 47.672031 8.678197 47.672283 8.678182 47.672879 8.678151 47.673484 8.678038 47.673767 8.677939 47.673864 8.677797 47.673913 8.677536 47.67395 8.677432 47.673996 8.677341 47.674111 8.676901 47.674327 8.674858 47.674838 8.674632 47.674915 8.674433 47.67502 8.673694 47.675474 8.67365 47.67544 8.672096 47.676123 8.67059 47.676664 8.67041 47.676785 8.669854 47.67774 8.669881 47.677753 8.669519 47.678385 8.669143 47.679131 8.669301 47.679626 8.669527 47.680075 8.669886 47.680667 8.670158 47.681761 8.670555 47.682325 8.670685 47.682668 8.670773 47.683023 8.670538 47.683062 8.670622 47.683112 8.670658 47.68315 8.670736 47.683268 8.670824 47.683424 8.670846 47.683495 8.670863 47.683605 8.670849 47.68373 8.670818 47.683839 8.670739 47.683943 8.670657 47.684206 8.670641 47.684349 8.67068 47.684691 8.670764 47.684776 8.670715 47.684827 8.670644 47.684821 8.670557 47.684927 8.670853 47.685269 8.670737 47.685316 8.670482 47.685398 8.670503 47.685427 8.670622 47.685673 8.670609 47.686118 8.670589 47.686845 8.670691 47.686841 8.670795 47.686839 8.670901 47.686838 8.671022 47.686839 8.671126 47.686841 8.671253 47.686846 8.67138 47.686853 8.671597 47.68687 8.671813 47.686893 8.672027 47.686923 8.672239 47.686959 8.672448 47.687002 8.672655 47.68705 8.672858 47.687105 8.673057 47.687165 8.673253 47.687232 8.673444 47.687304 8.67594 47.688296 8.67619 47.688392 8.676444 47.688484 8.676701 47.688571 8.676962 47.688653 8.677226 47.688731 8.677493 47.688803 8.677763 47.688871 8.678244 47.688983 8.67845 47.689038 8.678652 47.689099 8.67885 47.689166 8.679044 47.689238 8.679234 47.689315 8.679418 47.689398 8.679598 47.689486 8.679771 47.689578 8.679939 47.689676 8.680101 47.689778 8.680256 47.689884 8.680405 47.689995 8.680777 47.690301 8.681014 47.690488 8.681257 47.690672 8.681507 47.690851 8.681762 47.691027 8.682024 47.691199 8.682291 47.691366 8.682564 47.69153 8.682842 47.691689 8.683125 47.691844 8.683414 47.691995 8.683707 47.692141 8.684006 47.692282 8.684575 47.69254 8.684835 47.692666 8.685089 47.692797 8.685337 47.692934 8.68558 47.693075 8.685815 47.693222 8.686044 47.693373 8.686267 47.693528 8.686482 47.693688 8.68669 47.693853 8.686891 47.694021 8.687084 47.694194 8.687269 47.69437 8.687447 47.69455 8.687616 47.694733 8.687777 47.69492 8.688888 47.696255 8.688984 47.696362 8.689087 47.696465 8.6892 47.696565 8.68932 47.69666 8.689448 47.69675 8.689583 47.696836 8.689725 47.696916 8.689873 47.696991 8.690027 47.69706 8.690187 47.697123 8.690352 47.69718 8.690521 47.697231 8.690694 47.697276 8.69087 47.697313 8.69105 47.697345 8.691231 47.697369 8.691415 47.697387 8.691599 47.697397 8.691784 47.697401 8.691969 47.697398 8.692154 47.697388 8.692337 47.697371 8.692519 47.697347 8.692699 47.697316 8.692875 47.697279 8.693049 47.697235 8.693218 47.697184 8.693957 47.696921 8.694536 47.696721 8.69512 47.696527 8.695708 47.696339 8.696301 47.696158 8.696898 47.695983 8.697499 47.695815 8.698104 47.695654 8.698713 47.695499 8.699642 47.695274 8.699957 47.695191 8.700268 47.695102 8.700575 47.695008 8.700879 47.694909 8.701179 47.694805 8.701475 47.694696 8.701767 47.694582 8.702054 47.694463 8.702337 47.694338 8.702638 47.694199 8.702889 47.694076 8.703157 47.693938 8.703288 47.693866 8.70342 47.693795 8.703677 47.693648 8.703929 47.693496 8.704175 47.69334 8.70463 47.693039 8.704852 47.692902 8.705081 47.692771 8.705316 47.692645 8.705558 47.692524 8.705805 47.69241 8.706059 47.692301 8.706318 47.692198 8.706582 47.692102 8.706851 47.692011 8.707124 47.691927 8.707402 47.69185 8.707683 47.691779 8.707968 47.691714 8.708256 47.691656 8.708546 47.691606 8.708839 47.691561 8.709135 47.691524 8.709432 47.691494 8.70973 47.691471 8.710029 47.691454 8.710329 47.691445 8.710629 47.691443 8.71093 47.691448 8.71123 47.691459 8.711529 47.691478 8.711826 47.691504 8.712396 47.691567 8.71267 47.691593 8.712945 47.691612 8.713221 47.691626 8.713498 47.691635 8.713774 47.691638 8.714051 47.691636 8.714327 47.691628 8.714603 47.691614 8.715054 47.691584 8.715231 47.69158 8.715407 47.691582 8.715584 47.69159 8.715759 47.691604 8.715933 47.691625 8.716105 47.691652 8.716274 47.691685 8.716441 47.691724 8.716605 47.691769 8.716765 47.691819 8.71692 47.691876 8.719034 47.692685 8.719602 47.692928 8.720183 47.693157 8.720775 47.693371 8.721378 47.693571 8.721992 47.693757 8.722615 47.693927 8.723247 47.694082 8.723887 47.694221 8.724534 47.694345 8.725187 47.694453 8.725845 47.694544 8.726508 47.69462 8.727174 47.69468 8.727843 47.694723 8.728514 47.694751 8.729188 47.694756 8.733398 47.694891 8.733716 47.694898 8.734035 47.694899 8.734353 47.694895 8.734671 47.694884 8.734988 47.694868 8.735305 47.694847 8.735621 47.69482 8.735935 47.694787 8.736248 47.694748 8.73656 47.694704 8.73687 47.694654 8.737177 47.694599 8.737482 47.694539 8.737785 47.694472 8.738085 47.694401 8.738383 47.694324 8.740457 47.693766 8.740812 47.693673 8.741171 47.693586 8.741532 47.693504 8.741895 47.693427 8.742261 47.693356 8.742629 47.69329 8.743 47.69323 8.743372 47.693175 8.743746 47.693126 8.744121 47.693083 8.744498 47.693044 8.744876 47.693012 8.745254 47.692985 8.745634 47.692964 8.746014 47.692948 8.746395 47.692939 8.750998 47.692853 8.751306 47.692844 8.751614 47.692828 8.751921 47.692805 8.752226 47.692775 8.75253 47.692738 8.752832 47.692695 8.753132 47.692645 8.753429 47.692588 8.756914 47.691877 8.757327 47.691785 8.757737 47.691688 8.758144 47.691587 8.758549 47.691481 8.758951 47.69137 8.75935 47.691255 8.759746 47.691135 8.76014 47.691011 8.760529 47.690882 8.760916 47.690748 8.761299 47.690611 8.766088 47.68885 8.766485 47.688701 8.766877 47.688546 8.767264 47.688385 8.767646 47.688218 8.768023 47.688046 8.768394 47.687869 8.768759 47.687686 8.769119 47.687498 8.769472 47.687305 8.76982 47.687107 8.770161 47.686904 8.770495 47.686696 8.770823 47.686484 8.771144 47.686267 8.771276 47.686172 8.771403 47.686075 8.771524 47.685974 8.77164 47.685871 8.77175 47.685764 8.771854 47.685655 8.771953 47.685544 8.772046 47.685431 8.772132 47.685315 8.772305 47.685062 8.772406 47.68493 8.772514 47.684801 8.772631 47.684675 8.772755 47.684552 8.772886 47.684433 8.773025 47.684317 8.77317 47.684206 8.773322 47.684099 8.773481 47.683996 8.773775 47.683817 8.774074 47.683642 8.774379 47.683471 8.774689 47.683305 8.775004 47.683144 8.775324 47.682987 8.77565 47.682834 8.775979 47.682687 8.776314 47.682544 8.776652 47.682405 8.776996 47.682272 8.777343 47.682144 8.777694 47.682021 8.778452 47.681769 8.778851 47.68163 8.779247 47.681487 8.779638 47.681339 8.780026 47.681186 8.78041 47.681029 8.78079 47.680867 8.781165 47.680701 8.781536 47.68053 8.782272 47.680178 8.782646 47.680006 8.783026 47.679839 8.78341 47.679677 8.783798 47.67952 8.784191 47.679368 8.784587 47.67922 8.784988 47.679078 8.788786 47.677762 8.789024 47.677682 8.789266 47.677607 8.789511 47.677537 8.789759 47.677471 8.790009 47.67741 8.790262 47.677354 8.790517 47.677303 8.792237 47.677009 8.792474 47.676972 8.792712 47.676941 8.792952 47.676915 8.793193 47.676896 8.793435 47.676883 8.793677 47.676875 8.79392 47.676874 8.794163 47.676878 8.794405 47.676889 8.794647 47.676905 8.794887 47.676928 8.795126 47.676956 8.795364 47.67699 8.795599 47.67703 8.797233 47.677329</gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:posList>9.355121 47.513777 9.355196 47.513719 9.355199 47.51368 9.355134 47.513633 9.35505 47.513592 9.354953 47.513553 9.354891 47.513533 9.354856 47.51351 9.354812 47.513454 9.354795 47.513421 9.354801 47.513384 9.354766 47.513352 9.354754 47.513321 9.35483 47.513289 9.355027 47.513261 9.355068 47.513236 9.355143 47.51316 9.355196 47.51314 9.355172 47.513125 9.35508 47.513093 9.355062 47.513063 9.355115 47.513033 9.355257 47.513013 9.355354 47.51302 9.355371 47.513013 9.355391 47.512962 9.355364 47.512862 9.355381 47.512751 9.355417 47.512683 9.355455 47.512659 9.355506 47.512643 9.355527 47.512606 9.355514 47.512471 9.355577 47.512425 9.355651 47.512399 9.355698 47.512421 9.355721 47.512419 9.355782 47.512373 9.355822 47.512299 9.355833 47.512261 9.355913 47.512168 9.355912 47.512141 9.355888 47.512122 9.355728 47.512066 9.355702 47.512036 9.355718 47.511991 9.355767 47.511954 9.355819 47.511943 9.355984 47.511923 9.356022 47.511888 9.356035 47.511849 9.355967 47.511603 9.35597 47.511485 9.355958 47.511459 9.355851 47.511374 9.35585 47.51136 9.355871 47.511344 9.359382 47.510107 9.359478 47.510175 9.359564 47.510248 9.359639 47.510327 9.359795 47.510522 9.359781 47.510534 9.359752 47.510617 9.359699 47.510685 9.359662 47.51079 9.359768 47.510845 9.359794 47.510854 9.359804 47.510867 9.359799 47.51091 9.359819 47.510961 9.359808 47.511036 9.359849 47.511145 9.359831 47.511169 9.359834 47.511228 9.359804 47.511254 9.359835 47.511338 9.359878 47.511365 9.359923 47.511359 9.359934 47.511365 9.359968 47.511411 9.359979 47.511468 9.360014 47.511513 9.360007 47.511556 9.360023 47.511615 9.360017 47.511662 9.360029 47.511708 9.360047 47.511733 9.360045 47.51174 9.360027 47.511742 9.359983 47.511724 9.359932 47.511755 9.359952 47.511791 9.35999 47.511825 9.359963 47.511897 9.360019 47.51194 9.360116 47.511982 9.360123 47.512035 9.360182 47.512086 9.360229 47.512107 9.360266 47.512166 9.360294 47.512232 9.360291 47.512282 9.360317 47.512471 9.360359 47.512498 9.358032 47.513398 9.358161 47.513847 9.356897 47.51397 9.355596 47.513878 9.355121 47.513777</gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gmd:polygon> + </gmd:EX_BoundingPolygon> + </gmd:geographicElement> + </gmd:EX_Extent> + </srv:extent> + <srv:couplingType> + <srv:SV_CouplingType codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#SV_CouplingType" + codeListValue="tight"/> + </srv:couplingType> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetCapabilities</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" + codeListValue="WebServices"/> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetMap</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" + codeListValue="WebServices"/> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + <srv:containsOperations> + <srv:SV_OperationMetadata> + <srv:operationName> + <gco:CharacterString>GetFeatureInfo</gco:CharacterString> + </srv:operationName> + <srv:DCP> + <srv:DCPList codeList="http://www.isotc211.org/2005/iso19119/resources/Codelist/gmxCodelists.xml#DCPList" + codeListValue="WebServices"/> + </srv:DCP> + <srv:connectPoint> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">-- Adresse WMS --</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + <gmd:protocol> + <gco:CharacterString>OGC:WMS-1.1.1-http-get-map</gco:CharacterString> + </gmd:protocol> + </gmd:CI_OnlineResource> + </srv:connectPoint> + </srv:SV_OperationMetadata> + </srv:containsOperations> + </che:CHE_SV_ServiceIdentification> + </gmd:identificationInfo> + <gmd:distributionInfo> + <gmd:MD_Distribution> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>PNG</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>GIF - Graphics Interchange Format</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>JPG</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>vnd.wap.wbmp</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>TIFF</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:distributionFormat> + <gmd:MD_Format> + <gmd:name> + <gco:CharacterString>SVG-XML</gco:CharacterString> + </gmd:name> + <gmd:version> + <gco:CharacterString>-</gco:CharacterString> + </gmd:version> + </gmd:MD_Format> + </gmd:distributionFormat> + <gmd:transferOptions> + <gmd:MD_DigitalTransferOptions> + <gmd:onLine> + <gmd:CI_OnlineResource> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://geo.tg.ch/</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + </gmd:CI_OnlineResource> + </gmd:onLine> + </gmd:MD_DigitalTransferOptions> + </gmd:transferOptions> + </gmd:MD_Distribution> + </gmd:distributionInfo> +</che:CHE_MD_Metadata> \ No newline at end of file diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/PT_FreeText.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/PT_FreeText.xml new file mode 100644 index 00000000000..67573086cd1 --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/PT_FreeText.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<root> + <che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + gco:isoType="gmd:MD_Metadata" + xsi:schemaLocation="http://www.geocat.ch/2008/che https://www.geocat.ch/geonetwork/xml/schemas/iso19139.che/schema/che/che.xsd"> + + <gmd:fileIdentifier> + <gco:CharacterString>same_id_as_in_env</gco:CharacterString> + </gmd:fileIdentifier> + + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:language> + + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + + <gmd:identificationInfo> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="gmd:PT_FreeText_PropertyType"> + <gco:CharacterString>-- Vorlage Fürstentum Liechtenstein --</gco:CharacterString> + <gmd:PT_FreeText> + <gmd:textGroup> + <gmd:LocalisedCharacterString locale="#DE">-- Vorlage Fürstentum Liechtenstein -- + </gmd:LocalisedCharacterString> + </gmd:textGroup> + </gmd:PT_FreeText> + </gmd:title> + </gmd:CI_Citation> + </gmd:citation> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + + </che:CHE_MD_Metadata> + + <env><uuid>same_id_as_in_env</uuid></env> + +</root> + diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/PT_FreeUrl.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/PT_FreeUrl.xml new file mode 100644 index 00000000000..db00f293f70 --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/PT_FreeUrl.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<root> + <che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + gco:isoType="gmd:MD_Metadata" + xsi:schemaLocation="http://www.geocat.ch/2008/che https://www.geocat.ch/geonetwork/xml/schemas/iso19139.che/schema/che/che.xsd"> + + <gmd:fileIdentifier> + <gco:CharacterString>same_id_as_in_env</gco:CharacterString> + </gmd:fileIdentifier> + + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:language> + + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:distributionInfo> + <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType"> + <gmd:URL>http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</gmd:URL> + <che:PT_FreeURL> + <che:URLGroup> + <che:LocalisedURL locale="#DE">http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</che:LocalisedURL> + </che:URLGroup> + </che:PT_FreeURL> + </gmd:linkage> + </gmd:distributionInfo> + </che:CHE_MD_Metadata> + + <env><uuid>same_id_as_in_env</uuid></env> + +</root> + diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/charstring.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/charstring.xml new file mode 100644 index 00000000000..75d73301165 --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/charstring.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<root> + <che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + gco:isoType="gmd:MD_Metadata" + xsi:schemaLocation="http://www.geocat.ch/2008/che https://www.geocat.ch/geonetwork/xml/schemas/iso19139.che/schema/che/che.xsd"> + + <gmd:fileIdentifier> + <gco:CharacterString>same_id_as_in_env</gco:CharacterString> + </gmd:fileIdentifier> + + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:language> + + + <gmd:identificationInfo> + <che:CHE_MD_DataIdentification gco:isoType="gmd:MD_DataIdentification"> + <gmd:citation> + <gmd:CI_Citation> + <gmd:title> + <gco:CharacterString>-- Vorlage Fürstentum Liechtenstein --</gco:CharacterString> + </gmd:title> + </gmd:CI_Citation> + </gmd:citation> + </che:CHE_MD_DataIdentification> + </gmd:identificationInfo> + + </che:CHE_MD_Metadata> + + <env><uuid>same_id_as_in_env</uuid></env> + +</root> + diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/url.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/url.xml new file mode 100644 index 00000000000..797f0999415 --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/url.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<root> + <che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + gco:isoType="gmd:MD_Metadata" + xsi:schemaLocation="http://www.geocat.ch/2008/che https://www.geocat.ch/geonetwork/xml/schemas/iso19139.che/schema/che/che.xsd"> + + <gmd:fileIdentifier> + <gco:CharacterString>same_id_as_in_env</gco:CharacterString> + </gmd:fileIdentifier> + + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:language> + + <gmd:distributionInfo> + <gmd:linkage> + <gmd:URL>http://www.geoinformation.sg.ch/home/datenbezug/geodienste.html</gmd:URL> + </gmd:linkage> + </gmd:distributionInfo> + </che:CHE_MD_Metadata> + + <env><uuid>same_id_as_in_env</uuid></env> + +</root> + diff --git a/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/xlink.xml b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/xlink.xml new file mode 100644 index 00000000000..627ed5102e6 --- /dev/null +++ b/iso19139.che/src/test/resources/org/fao/geonet/schemas/ufi/xlink.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<root> + <che:CHE_MD_Metadata xmlns:che="http://www.geocat.ch/2008/che" + xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gmx="http://www.isotc211.org/2005/gmx" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + gco:isoType="gmd:MD_Metadata" + xsi:schemaLocation="http://www.geocat.ch/2008/che https://www.geocat.ch/geonetwork/xml/schemas/iso19139.che/schema/che/che.xsd"> + + <gmd:fileIdentifier> + <gco:CharacterString>same_id_as_in_env</gco:CharacterString> + </gmd:fileIdentifier> + + <gmd:language> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger" /> + </gmd:language> + + <gmd:locale> + <gmd:PT_Locale id="FR"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="IT"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ita"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:locale> + <gmd:PT_Locale id="DE"> + <gmd:languageCode> + <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="ger"/> + </gmd:languageCode> + <gmd:characterEncoding> + <gmd:MD_CharacterSetCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CharacterSetCode" codeListValue="utf8"/> + </gmd:characterEncoding> + </gmd:PT_Locale> + </gmd:locale> + <gmd:contact xlink:href="local://srv/api/registries/entries/4cb273e2-e26a-4e66-bb55-5dd09e39449b?lang=ger,fre,ita&amp;process=gmd:role/gmd:CI_RoleCode/@codeListValue~partner" xlink:show="embed" /> + </che:CHE_MD_Metadata> + + <env><uuid>same_id_as_in_env</uuid></env> + +</root> +