Vervangende variabelen substitution-variables
Vervangende variabelen worden gebruikt om waarden van verzoekURL naar samenstellende malplaatjes over te brengen die in beeldcatalogi worden opgeslagen. U kunt ook variabelen gebruiken om dezelfde waarde over te brengen naar verschillende plaatsen in een complexe aanvraag.
$ * var *= * waarde *
Variabelendefinities en -verwijzingen kunnen voorkomen in het querygedeelte van de aanvraag, in catalog::Modifier en in catalog::PostModifier .
Variabelen worden als hierboven gedefinieerd, net als andere IS-opdrachten. De regelafstand '$' geeft de opdracht aan als een variabele definitie. Variabelen moeten worden gedefinieerd voordat er naar wordt verwezen.
De variabelenaam var is niet hoofdlettergevoelig en kan bestaan uit een willekeurige combinatie van ASCII-letters, -getallen, '-', '_' en '.'.
value moet URL-gecodeerd zijn met één controle voor veilige HTTP-verzending. Dubbele codering is vereist als value opnieuw wordt verzonden via HTTP. Dit is het geval wanneer value wordt vervangen door een geneste externe aanvraag of door het href-kenmerk van een SVG <image> -element.De veranderlijke verwijzingen bestaan uit de veranderlijke naam die door het leiden en het slepen "$"wordt afgebakend ($ var $). Verwijzingen kunnen overal in het waardegedeelte van om het even welke bevelen van IS voorkomen (namelijk tussen '=' na de bevelnaam en verdere '&' of het eind van het verzoek). Aangepaste variabelen kunnen niet worden toegepast op de opdrachten layer= en effect= . Meerdere variabelen zijn toegestaan in dezelfde opdrachtwaarde. De server substitueert elk voorkomen van $ * var *$ met value.
Variabeleverwijzingen mogen niet genest zijn. Om het even welke voorkomen van $ * var *$ binnen value wordt niet vervangen.
Het aanvraagfragment:
$var2=apple&$var1=my$var2$tree&text=$var1$
lost op aan:
text=my$var2$tree
src=my$image$file.tif is bijvoorbeeld een geldige opdracht (er wordt van uitgegaan dat een item of afbeeldingsbestand met de naam my$image$file.tif bestaat), terwijl wid=$number$ dat niet doet, omdat wid een numeriek argument vereist.Variabele verwerking in geneste aanvragen section-26d63adc446c4fa0808e11e8082abdfa
$ * var *$ verwijzingen kunnen overal binnen de krullende steunen van een genestelde Beeld die of Beeld teruggeven verzoek, met inbegrip van links van " voorkomen?" het pad scheiden van de query. De server vervangt deze verwijzingen door waarden (van de URL of van catalog::Modifier van de hoofdafbeeldingscatalogus) voordat de geneste aanvraag verder wordt geparseerd en verwerkt.
Bovendien worden alle $ * var *= definities van url of catalog::Modifier door:sturen aan alle genestelde Beeld die en Beeld teruggeven verzoeken. Dit zorgt ervoor dat alle veranderlijke definities aan alle malplaatjes, ongeacht het nestelen niveau beschikbaar zijn.
Ongeacht het nestniveau, moet slechts single-pass HTTP-codering worden toegepast op veranderlijke waarden die overal in genestelde het Teruggeven van het Beeld of Beeld dienen verzoeken of hun bijbehorende catalog::Modifier koorden moeten worden vervangen.
Variabele verwerking in ingesloten externe verzoeken section-314e39a9aefb46faa737fd137897d1b0
$ * var *$ verwijzingen die binnen de krullende steunen van een ingebed buitenlands verzoek voorkomen worden vervangen met passende veranderlijke definitiewaarden. Hierdoor kunnen ingesloten externe verzoeken in een sjabloon in een afbeeldingscatalogus worden geplaatst.
De veranderlijke waarden die in buitenlandse verzoeken moeten worden vervangen moeten typisch dubbel-gecodeerd zijn, aangezien geen hercodering wordt toegepast alvorens de server probeert om definitieve buitenlandse url over te brengen.
Variabele verwerking in SVG-bestanden section-a8359f9909764142b6a18ae778dca913
$ * var *$ verwijzingen kunnen in SVG dossiers in attributenwaarden en in <text> koorden voorkomen. Beeld dat vervangt deze met de passende $ * var *= definities die bij het verzoek het nestelen niveau worden gekend waarop het dossier van SVG wordt gespecificeerd.
href -kenmerkwaarde moet worden vervangen, moet door een dubbele URL worden gecodeerd; alle andere waarden moeten afzonderlijk worden gecodeerd.Vooraf gedefinieerde padvariabele section-930d0dd12e8f49499becc9fe8df24092
object die in de verzoekweg wordt gespecificeerd wordt toegewezen aan de vooraf bepaalde variabele *$object *. Het " $ * voorwerp *$"kan overal in het verzoek, in het malplaatje worden geplaatst door het verzoek van verwijzingen wordt voorzien, of in een genesteld/ingebed verzoek waar zulk voorwerp, met inbegrip van de waarde van src= en mask=, en de weg van een genesteld/ingebed verzoek wordt toegelaten.
In het volgende verzoek wordt bijvoorbeeld de afbeelding die in het pad is opgegeven, opnieuw gebruikt als bron van een laag in een geneste aanvraag:
/is/image/a/b?…&layer=3&src=is{…&src=$object$}&…
Dit is gelijk aan
/is/image/a/b?…&layer=3&src=is{…&src=a/b}&…
De definitie van *$object * kan worden met voeten getreden door $ * voorwerp *= met de gewenste waarde uitdrukkelijk te specificeren.
De vooraf gedefinieerde padvariabele wordt vaak gebruikt in combinatie met template= .
Standaard section-b02483d15529444586a2e9504805b155
Geen. Alleen variabelen die zijn gedefinieerd, worden vervangen door de server (behalve de vooraf gedefinieerde padvariabele $object, die altijd wordt vervangen). Om het even welke voorkomen van $ * var *$ blijft letterlijk als * var * niet met een bestaande veranderlijke definitie kan worden aangepast.
Voorbeelden section-fba9393df6984247b7e30b3f93992e86
Zie "Voorbeeld A"in Malplaatjes .
Zie ook section-11b44cc824744f70b1705ebdd9ec4fe6
Malplaatjes , template=