De macro's van het bevel verstrekken genoemde kortere weg voor reeksen bevelen.
Macro's worden gedefinieerd in afzonderlijke macrodefinitiebestanden, die kunnen worden gekoppeld aan afbeeldingscatalogi of de standaardcatalogus.
Macro's kunnen overal in een verzoek na "?"worden aangehaald, evenals overal binnen a catalog::Modifier
veld. Macro's kunnen slechts één of meerdere volledige bevelen vertegenwoordigen van de Dienstverlening van het Beeld, daarom moet door (&) separators worden ingesloten (behalve wanneer aan het begin of het eind van het bepalingskoord).
Macro-aanroepen worden tijdens het parseren vervangen door hun vervangende tekenreeksen. Opdrachten binnen macro's overschrijven dezelfde opdrachten in de aanvraag als deze vóór de macroactivering in de aanvraag worden uitgevoerd. Dit verschilt van catalog::Modifier
, waarbij opdrachten in de tekenreeks request altijd opdrachten in de catalog::Modifier
tekenreeks, ongeacht de positie in de aanvraag.
Macro's kunnen worden genest, met de volgende beperking: een macro kan alleen worden aangeroepen als deze al is gedefinieerd op het moment dat de macrodefinitie wordt geparseerd, door deze eerder in hetzelfde macrodefinitiebestand te plaatsen of door de definitie voor een dergelijke ingesloten macro in het standaard macrodefinitiebestand te plaatsen.
Macro's kunnen handig zijn als dezelfde kenmerken op verschillende afbeeldingen moeten worden toegepast.
http://server/cat/1345?wid=240&fmt=pdf&imageRes=300
http://server/cat/1435?wid=240&fmt=pdf&imageRes=300
http://server/cat/8243?wid=480&fmt=pdf&imageRes=300
Wij kunnen een macro voor de gemeenschappelijke attributen bepalen:
view wid=240&fmt=pdf&imageRes=300
De macro wordt als volgt gebruikt:
http://server/cat/1345?$view$
http://server/cat/1435?$view$
http://server/cat/8243?$view$&wid=480
Sinds wid=
is anders voor het derde verzoek, overschrijven we gewoon de waarde na de macro wordt aangeroepen (specificeren wid=
voor $view$
zou geen effect hebben).