대체 변수

대체 변수는 요청 URL에서 이미지 카탈로그에 저장된 작성 템플릿으로 값을 전송하는 데 사용됩니다. 변수를 사용하여 복잡한 요청의 다른 위치에 동일한 값을 전달할 수도 있습니다.

$ * *= *varvalue*

var

변수 이름.

value

변수를 설정할 값(문자열)입니다.

변수 정의 및 참조는 요청의 쿼리 부분, catalog::Modifiercatalog::PostModifier에서 발생할 수 있습니다.

변수는 다른 IS 명령과 유사하며 위와 같이 정의됩니다. 선행 '$'은(는) 명령을 변수 정의로 식별합니다. 변수를 참조하기 전에 정의해야 합니다.

변수 이름 var​은(는) 대/소문자를 구분하지 않으며 ASCII 문자, 숫자, '-', '_' 및 '.'의 조합으로 구성될 수 있습니다.

노트

value 안전한 HTTP 전송을 위해 단일 전달 URL로 인코딩되어야 합니다. HTTP를 통해 value​을 다시 전송하는 경우 이중 인코딩이 필요합니다. 이는 value​이 중첩된 외부 요청이나 SVG <image> 요소의 href 특성으로 대체되는 경우입니다.

변수 참조는 선행 및 후행 '$'($var$)로 구분된 변수 이름으로 구성됩니다. IS 명령의 값 부분(즉, 명령 이름과 후속 '&' 또는 요청 끝 뒤에 오는 '=' 사이)의 어느 곳에서든 참조가 발생할 수 있습니다. 사용자 지정 변수는 layer=effect= 명령에 적용할 수 없습니다. 동일한 명령 값에는 여러 변수가 허용됩니다. 서버는 $ *var*$의 각 항목을 value​로 대체합니다.

변수 참조는 중첩되지 않을 수 있습니다. value 내에서 $ *var*$의 모든 항목은 대체되지 않습니다.

예를 들어 요청 조각은

$var2=apple&$var1=my$var2$tree&text=$var1$

해결 방법:

text=my$var2$tree

노트

'$'은(는) 예약된 문자가 아닙니다. 이 문제는 요청에서 달리 발생할 수 있습니다. 예를 들어 src=my$image$file.tif은(는) 유효한 명령이며, wid에는 숫자 인수가 필요하므로 my$image$file.tif이라는 카탈로그 항목이나 이미지 파일이 있다고 가정할 경우) 는 그렇지 않습니다.wid=$number$

중첩 요청의 변수 처리

$ * *$ 변수 참조는 '?' 왼쪽의 를 포함하여 중첩된 이미지 제공 또는 이미지 렌더링 요청의 중괄호 내의 어디에서든 발생할 수 있습니다 쿼리에서 경로 구분 서버는 중첩된 요청의 추가 구문 분석 및 처리를 전에 이러한 참조를 값(url 또는 기본 이미지 카탈로그의 catalog::Modifier)으로 대체합니다.

또한 URL 또는 catalog::Modifier의 모든 $ *var*= 정의는 중첩된 모든 이미지 제공 및 이미지 렌더링 요청으로 전달됩니다. 이렇게 하면 중첩 수준에 관계없이 모든 템플릿에서 모든 변수 정의를 사용할 수 있습니다.

중첩 수준에 관계없이, 중첩 이미지 렌더링 또는 이미지 제공 요청 또는 관련 catalog::Modifier 문자열의 어느 곳에서든 대체될 변수 값에는 단일 전달 HTTP 인코딩만 적용되어야 합니다.

포함된 외부 요청의 변수 처리

$ * *$ 포함된 외부 요청의 중괄호 내에서 발생하는 변수 참조는 일치하는 변수 정의 값으로 대체됩니다. 이를 통해 포함된 외부 요청을 이미지 카탈로그의 템플릿에 배치할 수 있습니다.

서버가 최종 외부 URL을 전송하려고 하기 전에 재인코딩이 적용되지 않으므로 일반적으로 외부 요청으로 대체될 변수 값은 이중 인코딩해야 합니다.

SVG 파일에서 변수 처리

$ * *$ 변수 참조는 속성 값 및 문자열의 SVG 파일에서 발생할 수 <text> 있습니다. 이미지 제공에서는 SVG 파일이 지정된 요청 중첩 수준에서 알려진 일치하는 $ *var*= 정의로 대체합니다.

노트

href 속성 값으로 대체되는 모든 변수 값은 이중 URL로 인코딩되어야 합니다. 다른 모든 항목은 단독으로 인코딩되어야 합니다.

사전 정의된 경로 변수

요청 경로에 지정된 object​은 사전 정의된 변수 *$object*에 할당됩니다. ' $ *개체*$'는 요청, 요청에 의해 참조되는 템플릿 또는 src=mask= 값과 중첩된/포함된 요청의 경로를 포함하여 개체가 허용되는 중첩/포함된 요청에서 배치할 수 있습니다.

예를 들어 다음 요청은 경로에 지정된 이미지를 중첩 요청에 있는 레이어의 소스로 재사용합니다.

/is/image/a/b?…&layer=3&src=is{…&src=$object$}&…

이것은 다음과 같습니다

/is/image/a/b?…&layer=3&src=is{…&src=a/b}&…

원하는 값으로 $ *object*=를 명시적으로 지정하여 *$object*의 정의를 재정의할 수 있습니다.

사전 정의된 경로 변수는 일반적으로 template=과 함께 사용됩니다.

기본값

없음. 정의된 변수만 서버에서 대체됩니다(사전 정의된 경로 변수 $object 제외, 항상 대체됨). *var*이 기존 변수 정의와 일치할 수 없는 경우 $ *var*$의 모든 항목은 리터럴으로 유지됩니다.

예제

템플릿에서 "예제 A"를 참조하십시오.

참조

템플릿, template=

이 페이지에서는