Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
이 페이지의 내용
 

sort

구문

설명

apply-templates 문이 현재 노드 목록에서 반복되는 순서를 for-each 제어합니다. 기본적으로 및 apply-templates 문은 문서 순서의 노드를 고려하지만 문은 for-each sort 노드 목록을 반복하기 전에 순서를 정의합니다. sort 또는 apply-templates 문 바로 뒤에 for-each 문을 삽입합니다. 문은 루프가 sort 처음 시작될 때만 처리됩니다.

명령문에는 sort 선택적 XPath 표현식과 세 개의 선택적 매개 변수( case-order, , data-type및 )가 order있습니다. XPath 표현식은 정렬에 사용되는 각 노드의 비교 문자열을 판별합니다. 스크립트는 노드를 컨텍스트로 사용하여 식을 평가한 다음, 결과를 해당 노드에 대한 비교 문자열로 변환합니다. XPath 식을 지정하지 않으면 기본값은 "."이며, 목록에 있는 각 노드의 문자열 내용을 비교합니다. == 및 _와 같은 SLAX 관련 연산자는 표현식 문자열 내에서 사용할 수 없습니다. 문에 sort 선택적 매개 변수가 포함되어 있지 않으면 각 노드의 문자열 값을 기준으로 목록이 정렬됩니다.

문은 sort 기본 XML 데이터 구조를 영구적으로 정렬하지 않고 또는 apply-templates 문에서 사용 중인 현재 노드 목록의 순서만 정렬합니다for-each. 하나의 for-each 또는 apply-templates 문에 여러 sort 개의 문을 할당할 수 있습니다. 차이가 발견 될 때까지 순서대로 적용됩니다.

특성

expression

정렬에 사용되는 각 노드의 비교 문자열을 결정하는 XPath 식입니다. 기본값은 "."입니다.

case-order

소문자를 먼저 정렬할지 아니면 대문자를 먼저 정렬할지를 지정합니다. 사용할 수 있는 값은 "lower-first" 또는 "upper-first"입니다. 기본값은 "upper-first"입니다.

data-type

숫자 정렬, 어휘 정렬 또는 다른 정렬 중 어떤 정렬을 수행할지를 결정하는 요소 유형을 지정합니다. 사용할 수 있는 값에는 "number"와 "text"가 있습니다. 기본값은 "text"입니다.

"text"로 설정하면 data-type 문자열의 문자 값(즉, ASCII 코드)을 기준으로 문자열이 비교되므로, "0"은 "9"보다 작고, "A"보다 작고, "A"보다 작고, "Z"보다 작고, "a"보다 작고, "z"보다 작습니다. "number"로 설정하면 data-type 문자열이 숫자로 변환되고 숫자로 비교됩니다. 오름차순 텍스트 정렬을 사용하면 "0"이 "1"보다 ASCII 코드가 낮기 때문에 "100"이 "11" 앞에 오지만, 오름차순 숫자 정렬에서는 11이 100보다 작은 수이기 때문에 11이 100보다 먼저 옵니다.

order

오름차순 또는 내림차순으로 정렬할지 여부를 지정합니다. 사용할 수 있는 값에는 "descending" 또는 "ascending"이 있습니다. 기본값은 "오름차순"입니다.

SLAX 예제

다음 예제 SLAX 스크립트는 Junos XML API get-interface-information 명령을 실행하고 결과 출력을 구문 분석합니다. 루프는 for-each 오름차순으로 정렬된 디바이스의 각 물리적 인터페이스 이름을 인쇄합니다.

릴리스 정보

Junos OS 릴리스 12.2 이상에서 지원되는 SLAX 언어 버전 1.1에서 소개된 명령문입니다.