XQuery Eniro Partner Solutions Eniro Denmark 2006 Applikation XQuery Version: 1.0 Dato: 8. april 2008 Dokument type: Teknisk specifikation Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 1 of 9
Indholdsfortegnelse 1. ADGANG TIL XML DATA... 3 1.1. DATATYPE... 3 2. PERSONDATA... 4 3. FIRMADATA... 5 3.1. FIRMASØG... 5 3.2. FAGGRUPPESØG... 6 4. XML-FORMAT... 7 4.1. PARAMETERSTRUKTUR... 7 4.2. RESULTATSTRUKTUR... 7 4.3. FIRMASTRUKTUR... 8 4.4. FAGGRUPPESTRUKTUR... 9 4.5. PERSONSTRUKTUR... 9 Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 2 of 9
1. Adgang til XML Data For at få adgang til data gennem XQuery, skal man have tildelt en pinkode. Denne pinkode skal sendes med hver gang der fortages en forespørgsel. Man foretager en forespørgsel via en URL, og data bliver sendt tilbage som XML. Man kan teste sin adgang ved at indsætte pinkoden som parameter. Bemærk at der skelnes mellem store og små bogstaver i pinkoden. http://partner.eniro.dk/servlets/xquery?pincode=<pinkode> Systemet vil returnere dit registrerede firmanavn, samt en liste over de dataområder man har adgang til. 1.1. Datatype Man kan få tildelt adgang til forskellige dataområder. Et dataområde defineres som en querytype. XQuery indeholder 3 forskellige dataområder. 1. Persondata (person) 2. Firmadata (company) 3. Faggruppedata (heading-list) Hver gang man foretager en forespørgsel skal man definere hvilket område man ønsker at søge i. Dette gøres ved at tilføje parameteren type til url en, og sætte den lig med den ønskede type, se nedenstående URL. http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=<område> <Område> kan være følgende : person, company, heading-list Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 3 of 9
2. Persondata Ved søgning på persondata benyttes områdetypen person. Herefter angives de parametre man ønsker at søge på. Nedenstående viser mulige parametre for personsøg, bemærk at alle parametre skal stå med små bogstaver: Parameter name address Zipcode* city* phone Søge funktion Søger på fornavn og efternavn Søger på adressen Søger på postnummer Søger på by Søger på telefon både fast net og mobil *Kan ikke benyttes alene; skal kombineres med et almindeligt parameter. Andre mulige parametre ses nedenunder, som f.eks. sortering, max. antal ønskede resultater og offset, d.v.s. hvorfra i det samlet søgeresultat man ønsker at få resultaterne fra. Parameter Søge funktion maxhit Max antal resultater (1-100), default er 25 offset Index fra samlet list man ønsker sine resultater fra sortedby Ønsket sortering (name, phone, city, zipcode) Herunder vises nogle eksempler på personsøgning: Returner de 25 første personer som hedder ole. http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=person&name=ole Returner de 25 første personer, som bor på en adresse med vejnavnet jernbanegade http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=person&address=jernbanegade Returner 25 personer, som hedder ole, men henter nu personer startende fra index 50 fra den samlede resultatliste. http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=person&name=ole&offset=50 Returner 50 personer, som hedder ole, men henter nu personer startende fra index 25 fra den samlede resultatliste. http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=person&name=ole&offset=25&maxhit =50 Returner de 25 første personer som hedder ole, men nu sorteret efter bynavn http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=person&name=ole&sortedby=city Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 4 of 9
3. Firmadata 3.1. Firmasøg Ved søgning på firmadata benyttes område type company. Herefter angives de parametre man ønsker at søge på. Nedenstående viser hvilke mulige parametre der er: Parameter searchword headingid name address zipcode* City* Søge funktion Et ord der matcher firmanavn eller firmafaggruppe, eller tilhørende søgeord for en firmafaggruppe Søger på Faggruppeid Søger på firma navn Søger på adressen Søger på postnummer Søger på by *Kan ikke benyttes alene; skal kombineres med en almindeligt parameter. Andre mulige parametre ses nedenunder, som f.eks. sortering, max antal ønskede resultater og offset, d.v.s. hvorfra i det samlede søgeresultat man ønsker at få resultaterne fra. Parameter Søge funktion maxhit Max antal resultater (1-100), default er 25 offset Index fra samlet list man ønsker sine resultater fra sortedby Ønsket sortering (name, phone, city, zipcode) Herunder vises nogle eksempler på firmasøgning: Returner de 25 første firmaer som kan forbindes med ordet bmw http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=company&searchword=bmw Returner det firma som hedder bmw http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=company&name=bmw Returner de 25 første firmaer som kan forbindes med den angivne faggruppeid http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=company&headingid=30007 Returner de 25 første firmaer som kan forbindes med den angivne faggruppeid og som ligger i post nr. 4000 http://partner.eniro.dk/servlets/xquery?pincode=<dinpinkode>&type=company&headingid=30007&zipcode=4000 Returner de 25 første firmaer som kan forbindes med ordet bmw, og som ligger i postområdet 8000 http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=company&searchword=advokater &zipcode=8000 Returner 50 firmaer, som kan forbindes med ordet bmw, men hent nu firmaer startende fra index 25 fra den samlede resultatliste. http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=company&searchword=advokater &offset=25&maxhit=50 Returner de 25 første firmaer, som kan forbindes med ordet bmw, men nu sorteret efter bynavn http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=company&searchword=advokater &sortedby=city Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 5 of 9
3.2. Faggruppesøg Ved søgning på Faggruppedata benyttes områdetype heading-list. Herefter angives de parametre man ønsker at søge på. Nedenstående viser hvilke mulige parametre der er: Parameter letter* tradearea tradeareaname *skal benyttes ved alle forespørgsler. Søge funktion Angiver hvilket bogstav faggruppen skal starte med Angiver hvilket handelsområde-id / kommune-id søgningen skal fortages i. Hvis denne parameter ikke angives, fortages søgningen i hele landet. Angiver hvilket handelsområde / kommune søgningen skal fortages i. Hvis denne parameter ikke angives foretages søgningen i hele landet. Herunder vises nogle eksempler på faggruppesøgning: Returner alle faggrupper for hele landet der starter med g http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=heading-list&letter=a Returner alle faggrupper for Albertslund (165) der starter med g http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=headinglist&letter=a&tradearea=165 Returner alle faggrupper for Lejre der starter med g http://partner.eniro.dk/servlets/xquery?pincode=<pinkode>&type=heading-list&letter=a&tradearea name=lejre Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 6 of 9
4. XML-format Herunder ses XML-strukturen for hhv. Firma-, person-, result- og faggruppelister 4.1. Parameterstruktur Parameterlisten viser hvilke parametre der blev læst og initialiseret fra den URL man gav ved søgningen. <parameters> <param-type>person</param-type> <param-id/> <param-name>ole</param-name> <param-address/> <param-street-name/> <param-street-number/> <param-phone/> <param-city/> <param-zipcode/> <param-tradearea-id/> <param-tradearea-name/> <param-headingid/> <param-searchword/> <param-startletter/> <param-maxhit>20<param-maxhit/> <param-offset>50</param-offset> <param-municipality-id/> <param-municipality-name/> <param-datatype/> <param-sortedby/> <geoarea/> </parameters> 4.2. Resultatstruktur Hits viser antal hit der er i alt på den pågældende søgning, start- og end-index fortæller om hvor i det samlede resultatsæt de returnerede data ligger. <results> <hits>65268</hits> <start-index>50</start-index > <end-index >74</end-index > </results> Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 7 of 9
4.3. Firmastruktur Datastruktur for et enkelt firma. <company-list> <company> <company-id>1907848</company-id> <company-name>forum Advokater</company-name> <email>post@forumadvokater.dk</email> <homepage>www.forumadvokater.dk</homepage> <heading-list> <heading> <heading-id>30007</heading-id> <heading-name>advokater</heading-name> </heading> </heading-list> <address> <street-name>havnevej</street-name> <street-number>3</street-number> <zipcode>4000</zipcode> <district>roskilde</district> <postbox /> <place-name /> <co-name /> <house-name /> <coordinate> <system /> <level /> <x>-102905</x> <y>136261</y> </coordinate> </address> <map-link>http://maps.eniro.com/ </map-link> <route-link>http://kort.eniro.dk/query? </route-link> <travel-plan-link>http://kort.eniro.dk/ </travel-plan-link> <infoside-link>http://firma.eniro.dk/query </infoside-link> <phone-list> <phone> <phone-type>phone</phone-type> <phone-number>46 38 03 20</phone-number> </phone> <phone> <phone-type>fax</phone-type> <phone-number>46 38 03 40</phone-number> </phone> </phone-list> </company> </company-list> Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 8 of 9
4.4. Faggruppestruktur Datastruktur for en enkelt faggruppe. <heading-list> <heading> <heading-id>30004</heading-id> <heading-name>adgangskontroludstyr</heading-name> </heading> </heading-list> 4.5. Personstruktur Datastruktur for en enkelt person. <person-list> <person> <person-id>4827412</person-id> <person-type>3</person-type> <firstname>ole Olesen</firstname> <lastname>madsen</lastname> <title/> <email/> <homepage/> <address> <street-name>resultatvej</street-name> <street-number>21</street-number> <zipcode>4000</zipcode> <district>roskilde</district> <postbox/> <place-name/> <co-name/> <house-name/> <coordinate> <system>rt80</system> <level>1</level> <x>-231691</x> <y>202213</y> </coordinate> </address> <map-link/> <route-link/> <travel-plan-link/> <phone-list> <phone> <phone-type>mobile</phone-type> <phone-number>xxxxxxxx</phone-number> </phone> </phone-list> </person> </person-list> Eniro Danmark A/S, Sydmarken 44 A, DK-2860 Soeborg, Denmark, Phone +45 88 38 36 00 Page 9 of 9