이 페이지의
SLAX 개요
Stylesheet Language Alternative SyntaX(SLAX)는 Junos OS 커밋 스크립트, 운영 스크립트, 이벤트 스크립트 및 SNMP 스크립트를 작성하기 위한 언어입니다. XSLT(Extensible Stylesheet Language Transformations)의 대안입니다. SLAX는 C 및 Perl과 유사한 별개의 구문을 가지고 있지만 XSLT와 동일한 의미론을 가지고 있습니다.
SLAX의 이점
XSLT는 기계 간 통신에 적합한 XML( Extensible Markup Language )을 처리하기 위한 강력하고 효과적인 도구이지만, XML 기반 구문은 복잡한 프로그램 개발에 불편합니다.
SLAX는 C와 PERL의 스타일을 따르는 단순한 구문을 가지고 있습니다. 코드에 대한 실용적이고 간결한 방법을 제공하기 때문에 읽기 쉽고 유지 관리 가능한 커밋, op, 이벤트 및 SNMP 스크립트를 생성할 수 있습니다. SLAX는 XML 요소에서 XPath 표현식 및 프로그래밍 명령을 제거합니다. XML 각도 브래킷 및 따옴표는 괄호와 C 및 PERL의 구분 기호인 괄호({ })로 대체됩니다.
SLAX는 새로운 구문을 배우는 데 집중하지 않고 XSLT에서 도입한 새로운 프로그래밍 주제에 집중할 수 있기 때문에 SLAX의 이점은 XSLT에 익숙하지 않은 프로그래머에게 특히 효과적입니다. 예를 들어 SLAX를 사용하면 다음과 같은 기능을 수행할 수 있습니다.
if요소 대신<xsl:choose>,else if명령else문 사용<xsl:if>테스트 표현식을 괄호 안에 넣습니다.
( )이중 균등 기호(
==)를 사용하여 단일 동일 기호 대신 평등을 테스트합니다(=)태그를 닫는 대신 곱슬곱슬을 사용하여 억제를 표시합니다.
PERL, 버전 6에서와 같이 밑판(
_) 연산자를 사용하여 concatenation 수행요소 대신 간단한 따옴표(
" ")를 사용하여 텍스트 문자열을<xsl:text>작성합니다.함수 정의를 닮은 구문을 사용하여 명명된 템플릿 정의
함수 호출을 닮은 구문을 가진 명명된 템플릿 호출
네임스페이스 선언 간소화
스크립트의 혼란을 줄이십시오.
읽기 가능한 스크립트 작성
SLAX의 작동 방식
SLAX는 XSLT의 프리프로세서 역할을 합니다. Junos OS는 내부적으로 SLAX 프로그래밍 지침(예: if 명령문else)을 동급 XSLT 명령(예: 요소<xsl:choose>)으로 <xsl:if> 변환합니다. 이 변환 후에 XSLT 트랜스포메이션 엔진(Junos OS의 경우, Junos OS 관리(mgd) 프로세스가 호출됩니다.
SLAX는 XSLT의 표현력에 영향을 미치지 않습니다. XSLT를 더 쉽게 사용할 수 있습니다. 기본 SLAX 구조는 XSLT에 완전히 기본으로 구성됩니다. SLAX는 XSLT 엔진에 아무것도 추가하지 않습니다. SLAX 파서(parser)는 입력 문서를 파싱하고 XML 파서가 XSLT 문서를 읽을 때 생성된 것과 동일한 XML 트리를 작성합니다.
그림 1 은 SLAX 스크립트 입력 및 출력의 플로우를 보여줍니다.
SLAX 리소스
표 1 에서는 SLAX를 학습하고 SLAX 스크립트를 작성하는 데 사용할 수 있는 추가 리소스를 개략적으로 설명합니다.
리소스 |
Url |
|---|---|
SLAX 매뉴얼 |
|
SLAX 1.0을 위한 Junos 자동화 레퍼런스 |
https://www.juniper.net/documentation/en_US/day-one-books/archive/TW_Junos_Automation_Reference.pdf |
Libslax—SLAX 언어의 오픈 소스 구현 |