Welkom! Forums Algemeen Adapl voor gecombineerd datumveld

Weergave van 4 reactie threads
  • Auteur
    Berichten
    • #2822
      Shannon
      Gast

      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? 🙂

    • #2823
      Rolf Blijleven
      Gast

      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

    • #2879
      Bram Boerboom
      Moderator

      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).

    • #2911
      Shannon
      Gast

      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

    • #2912
      Bram Boerboom
      Moderator

      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.
Weergave van 4 reactie threads
  • Je moet ingelogd zijn om een antwoord op dit onderwerp te kunnen geven.
Scroll naar boven