- Dit onderwerp bevat 4 reacties, 1 deelnemer, en is laatst geüpdatet op 4 jaren, 5 maanden geleden door Bram Boerboom.
-
AuteurBerichten
-
-
22 november 2019 om 15:05 #2822ShannonGast
Kan iemand mij helpen met/aan een adapl voor het combineren van velden DS en DE in een nieuw veld? Is het mogelijk de adapl zo te maken dat hij alleen een combinatie maakt van DS en DE bij 2 unieke waarden, en dat er bij identieke waarden alleen DS getoond wordt?
Ik bedoel: DS 1675 en DE 1700 wordt [nieuw veld] 1675 – 1700
DS 1675 en DE 1675 wordt [nieuw veld] 1675.Alvast bedankt!
PS; het is niet mogelijk om dit in de Adlib API te regelen, of wel? 🙂
-
6 december 2019 om 22:22 #2823Rolf BlijlevenGast
Hi Shannon,
Stel ff dat [nieuw veld] tag FF heeft:
if DS <> DE { FF = DS + ' - ' + DE } else { FF = DS }
Je zou het in je storage-adapl kunnen copy-pasten.
OK?
Groeten
Rolf -
2 maart 2020 om 16:26 #2879Bram BoerboomModerator
Wat betreft de P.S.: als het alleen voor weergave/data-uitwisseling via de API is en je niet per se een extra veld in je database wil voor deze ‘presentatiedatering’, dan zou eenzelfde handeling ook in de API kunnen worden geregeld met (het aanpassen van) een XSLT-stylesheet. Bij OAI-API’s moet je sowieso stylesheets instellen die je voor dit doeleinde kunt aanpassen. Bij standaard API’s kun je ook een stylesheet toevoegen aan een databaseConfiguration, bijvoorbeeld in plaats van van je brieffields en detailfields. Mocht dit nog interessant zijn, dan zouden we nog even dieper moeten ingaan op XSL(T).
-
14 mei 2020 om 11:16 #2911ShannonGast
Hi Rolf en Bram!
Bedankt voor de reacties, zowel de adapl als de API. Ik ben nu inderdaad bezig met een xslt stylesheet, daar zou ik graag dit soort dingen in verwerken, naast het omzetten van Adlib xml naar RDF (hiervoor heb ik een stylesheet die ik aan kan passen). Ik ga graag dieper in op xslt want dit is nog redelijk nieuw terrein voor mij. Heel basic: je hebt het over de stylesheet in plaats van de brieffields in de API (standaard adlib API) en ik heb ooit via de API een xslt sheet aan kunnen roepen maar krijg het nu niet meer voor elkaar…! Kun je me een voorbeeld sturen/hier posten. Op welk punt in de Adlib API roep ik nu precies dat stylesheet aan?
Reuze bedankt wederom!Gr, Shannon
Zuiderzeemuseum -
14 mei 2020 om 13:26 #2912Bram BoerboomModerator
Als je de niet-OAI-versie van de API gebruikt, dan configureer je de stylesheet in een styleSheet-element bij databaseConfiguration in Adlibweb.xml, iets als dit:
<databaseConfiguration database="collect"> <database>collect>intern</database> <styleSheet>stylsheet.xslt</styleSheet> <brieffields>*</brieffields> <detailfields>*</detailfields> </databaseConfiguration>
Bij brieffields/detailfields moeten in ieder geval de velden staan die de XSLT-sheet gebruikt of dus eventueel een sterretje (en xmlType binnen globalConfiguration moet ‘grouped’ zijn). Het xslt-bestand moet in dezelfde map staan als Adlibweb.xml. Als je dit doet, dan houdt het in dat de output-XML van de database ‘collect’ via de API altijd wordt getransformeerd. Als je via dezelfde API een getransformeerde en ongetranformeerde versie wil, kun je een tweede databaseConfiguration voor dezelfde Adlib-database toevoegen met alleen een andere naam.
Als er bij brieffields of detailfields een lijst met velden staat in plaats van een sterretje, dan kun je styleSheet ook binnen brieffields of detailfields zetten, dan wordt door de transformatie alleen toegepast als een van die twee wordt gebruikt.
- Deze reactie is gewijzigd 4 jaren, 5 maanden geleden door Bram Boerboom.
-
-
AuteurBerichten
- Je moet ingelogd zijn om een antwoord op dit onderwerp te kunnen geven.