xslt

xslt 정책을 사용하여 API 정의의 페이로드에 XSLT 변환을 적용하십시오.

게이트웨이 지원

표 1. 이 정책을 지원하는 게이트웨이와 해당 정책 버전을 보여주는 표
게이트웨이 정책 버전
DataPower® Gateway (v5 compatible) 1.0.0
DataPower API Gateway 2.0.0

2.1.0 (DataPower API Gateway 버전 10.0.4.0 이상)

이 항목에서는 OpenAPI 소스에서 정책을 구성하는 방법을 설명합니다. 어셈블리 사용자 인터페이스에서 정책을 구성하는 방법에 대한 자세한 내용은 XSLT를 참조하십시오.

정보

XSLT 정책의 구조는 다음과 같습니다.
- xslt:
   version: version
   title: Title
   description: Description
   input: Input_True_False
   source: Transform
참고: DataPower API Gateway를 사용하는 경우 xslt 정책에 대한 입력은 구문 분석된 데이터여야 합니다. 구문 분석된 데이터를 생성하는 한 가지 방법은 어셈블리 플로우에서 xslt 정책 전에 구문 분석 조치의 명시적 제어를 제공하는 parse 정책을 사용하는 것입니다.

특성

다음 표에서는 정책 특성에 대해 설명합니다.
표 2. xslt 정책 속성
특성 필수 설명 데이터 유형
version 정책 버전 번호입니다. 문자열
title 해당 정책의 제목입니다. 문자열
description 아니오 정책의 설명입니다. 문자열
input 아니오 이 XSLT 입력 문서가 컨텍스트의 현재 페이로드를 사용하는지 여부 또는 입력이 없는지 여부를 표시합니다.

기본값은 false입니다.

부울
DataPower API Gateway
onlyserialize-output 아니오 true로 설정된 경우 XSLT 정책에서 생성된 출력 트리가 직렬화됩니다. message.body의 컨텐츠가 XML 트리 대신 직렬화된 2진 데이터로 업데이트됩니다.

기본값은 false입니다.

부울
source 실행할 XSLT 변환 소스입니다. 문자열
DataPower API Gateway
onlyxslt-version 아니오 XSLT 프로세서 버전입니다. 기본값은 XSLT10입니다. 문자열
DataPower API Gateway
onlystrict 아니오 엄격한 XSLT 오류 검사를 사용할지 여부입니다. 엄격하지 않은 조작에서는 비선언 변수 사용, 비선언 템플리트 호출 등 특정 오류로부터 복구하려고 시도합니다. 기본적으로 엄격한 XSLT 오류 검사가 사용됩니다. 부울
DataPower API Gateway
onlyprofile 아니오 스타일시트 프로파일링을 사용할지 여부입니다. 이 옵션은 프로덕션 환경에서 사용하지 않아야 합니다. 기본적으로 스타일시트 프로파일링은 사용되지 않습니다. 부울
DataPower API Gateway
onlydebug 아니오 디버그 모드에서 스타일시트, XQuery 스크립트 및 JSONiq 스크립트를 실행할지 여부입니다. 스타일시트, XQuery 스크립트 또는 JSONiq 스크립트가 디버그 모드에서 실행되면 일반 출력을 표시하는 대신 사용자 정의 웹 페이지를 생성합니다. 웹 페이지는 변수 값과 출력의 특정 부분이 발생한 위치를 포함하여 실행 중에 발생한 결과를 정확히 설명합니다. 이 옵션은 프로덕션 환경에서 사용하지 않아야 합니다. 기본적으로 디버그 모드는 비활성화되어 있습니다. 부울
DataPower API Gateway
onlystream 아니오 스타일시트를 스트리밍 모드에서 실행해야 하는지 여부입니다. 입력이 완전히 구문 분석되기 전에 문서 변환이 시작됩니다. 일부 스타일시트는 스트리밍할 수 없습니다. 스타일시트를 스트리밍할 수 없지만 오류가 생성되고 입력이 처리되지 않습니다. 기본적으로 스트리밍 모드는 사용되지 않습니다. 부울
DataPower API Gateway
onlytry-stream 아니오 스트리밍 모드에서 스타일시트를 실행할지 여부입니다. 입력이 완전히 구문 분석되기 전에 문서 변환이 시작됩니다. 일부 스타일시트는 스트리밍할 수 없습니다. 스타일시트를 스트리밍할 수 없는 경우 컴파일링 중에 경고가 생성되고 실행 시 전체 입력에서 정상적으로 스타일시트를 읽습니다. 기본적으로 스트리밍 모드에서 스타일시트를 실행하려는 시도는 사용 불가능합니다. 부울
DataPower API Gateway
onlyminimum-escaping 아니오 처리 중에 스타일시트에서 생성된 출력을 이스케이프할지 여부입니다. 최소 이스케이프는 특히 영어 외의 문자 세트를 처리할 때 유용합니다. 기본적으로 최소 이스케이프는 사용되지 않습니다. 부울
DataPower API Gateway
onlystack-size 아니오 스타일시트 또는 기타 컴파일된 컨텐츠를 실행하는 동안 스택에서 사용할 수 있는 최대 바이트 수입니다. 이 설정은 무한 순환 차단에 사용됩니다. 최소값은 10KB 또는 10,240바이트입니다. 최대값은 100MB 또는 104,857,600바이트입니다. 기본값은 1MB 또는 1,048,576바이트입니다. 정수
DataPower API Gateway
onlywsi-validation 아니오 WS-I 기본 프로파일 (버전 1.0, 2004년 4월) 의 섹션 5를 준수하는지 확인되는 WSDL 파일에 적용할 유효성 검증 동작입니다. 기본 설정은 경고입니다.
무시
규격 준수 검사를 비활성화합니다.
경고
위반 사항에 대한 경고를 기록합니다.
실패
규격 준수를 강제합니다. 파일에 위반 사항이 포함되어 있으면 실패합니다.
문자열
DataPower API Gateway
onlywsdl-validate-body 아니오 soap:Body의 유효성 검증 동작입니다. 기본 설정은 엄격입니다.
엄격
메시지의 이 부분을 WSDL 정의와 대조하여 유효성을 확인합니다. 이 부분을 포함하고 WSDL 정의와 일치하는 메시지만 허용합니다.
느슨함
메시지의 이 부분을 WSDL 정의와 대조하여 유효성을 확인합니다. 메시지에 이 부분이 포함되어 있고 WSDL 정의에 이 부분이 정의되어 있지 않은 경우, 해당 메시지를 허용합니다. 메시지에 이 부분이 포함되어 있고 WSDL 정의에도 이 부분이 정의되어 있다면, 두 내용이 일치할 때만 메시지를 허용합니다.
건너뛰기
메시지의 이 부분에 대한 유효성 검사를 비활성화합니다.
문자열
DataPower API Gateway
onlywsdl-validate-headers 아니오

soap:Header의 유효성 검증 동작입니다. 기본 설정은 Lax입니다.

엄격
메시지의 이 부분을 WSDL 정의와 대조하여 유효성을 확인합니다. 이 부분을 포함하고 WSDL 정의와 일치하는 메시지만 허용합니다.
느슨함
메시지의 이 부분을 WSDL 정의와 대조하여 유효성을 확인합니다. 메시지에 이 부분이 포함되어 있고 WSDL 정의에 이 부분이 정의되어 있지 않은 경우, 해당 메시지를 허용합니다. 메시지에 이 부분이 포함되어 있고 WSDL 정의에도 이 부분이 정의되어 있다면, 두 내용이 일치할 때만 메시지를 허용합니다.
건너뛰기
메시지의 이 부분에 대한 유효성 검사를 비활성화합니다.
문자열
DataPower API Gateway
onlywsdl-validate-faults 아니오 결함 세부사항에 대한 유효성 검증 동작을 지정합니다. 기본 설정은 엄격입니다.
엄격
메시지의 이 부분을 WSDL 정의와 대조하여 유효성을 확인합니다. 이 부분을 포함하고 WSDL 정의와 일치하는 메시지만 허용합니다.
느슨함
메시지의 이 부분을 WSDL 정의와 대조하여 유효성을 확인합니다. 메시지에 이 부분이 포함되어 있고 WSDL 정의에 이 부분이 정의되어 있지 않은 경우, 해당 메시지를 허용합니다. 메시지에 이 부분이 포함되어 있고 WSDL 정의에도 이 부분이 정의되어 있다면, 두 내용이 일치할 때만 메시지를 허용합니다.
건너뛰기
메시지의 이 부분에 대한 유효성 검사를 비활성화합니다.
문자열
DataPower API Gateway
onlywsdl-wrapped-faults 아니오 RPC 스타일 래퍼와의 호환성을 요구할지 여부. 기본적으로 RPC-스타일 랩퍼는 필요하지 않습니다. 부울
DataPower API Gateway
onlyallow-soap-enc-array 아니오 이러한 속성이 XML 스키마 스펙을 위반하는 경우에도 스키마가 xsi:type='SOAP-ENC:Array' SOAP 1.1 섹션 5와 일치하는 대부분의 요소 사용을 승인하도록 허용할지 여부입니다. 일반적으로 xsi:type 속성은 요소의 실제 유형과 같거나 이 유형에서 파생된 유형의 이름을 지정해야 합니다. 이 옵션을 사용하여 컴파일된 스키마의 경우, 요소 유형이 SOAP-ENC:Array에서 파생된 경우 SOAP 1.1 Encoding 'Array' 복합 유형에 대해 xsi:type 가 특별히 승인됩니다. 그 반대는 일반적 허용 케이스입니다. 기본적으로 xsi:type='SOAP-ENC:Array' 가 있는 요소는 허용되지 않습니다. 부울
DataPower API Gateway
onlyvalidate-soap-enc-array 아니오 SOAP 1.1 섹션 5의 인코딩 규칙에 따라 추가 스키마 유효성 검증을 수행할지 여부입니다. 활성화되면 SOAP 배열의 멤버가 검증되고 @id 및 @href와 같은 속성은 스키마에서 허용하지 않더라도 허용되며 @href 값은 해당 @id 요소가 있는지 확인하기 위해 검사됩니다. 기본적으로 추가 유효성 검증은 수행되지 않습니다. 부울
DataPower API Gateway
onlywildcards-ignore-xsi-type 아니오 스키마의 xs:any 요소가 이름별 하위 요소만 유효성 검증하는지 여부입니다. XML 스키마 스펙에서는 와일드카드가 요소와 일치하지만 해당 요소에 요소 선언이 없는 경우 대신 xsi:type 속성에 따라 요소의 유효성을 검증해야 합니다. 이 옵션은 해당 xsi:type 속성을 무시합니다. 추가 유효성 검증 단계에서 SOAP 1.1 인코딩 규칙을 사용하여 와일드카드와 일치하는 컨텐츠를 유효성 검증하는 SOAP 엔벨로프 유효성 검증과 같은 경우에 이 옵션을 사용해야 합니다. 기본적으로 xsi:type 속성은 무시되지 않습니다. 부울
DataPower API Gateway
onlywsdl-strict-soap-version 아니오 WSDL에서 SOAP 바인딩을 엄격하게 따를지 여부입니다. 사용되면, SOAP 1.2에 바인드된 메시지만 SOAP 1.2 엔벨로프에 나타나고 SOAP 1.1에 바인드된 메시지만 SOAP 1.1 엔벨로프에 나타납니다. 기본적으로 엄격한 SOAP 바인딩은 사용되지 않습니다. 부울
DataPower API Gateway
onlyxacml-debug 아니오 디버그 정보를 사용하여 XACML 정책을 컴파일할지 여부입니다. XACML 디버깅 메시지는 XACML 카테고리의 로그 이벤트로도 제어할 수 있습니다. 전체 XACML 디버깅 메시지를 보려면 디버그 로그 레벨을 사용하십시오. 기본적으로 XACML 정책은 디버그 정보로 컴파일되지 않습니다. 부울
DataPower API Gateway
onlyallow-xop-include 아니오 스키마 또는 WSDL 문서가 MTOM/XOP 스펙에 따라 base64로 인코딩된 2진 컨텐츠가 최적화된 메시지를 승인하는지 여부를 지정합니다. XOP 2진최적화는 base64-encoded 2진 데이터를 첨부 파일에 있는 인코딩되지 않은 2진 데이터를 참조하는 xop:Include 참조 요소로 대체합니다. 기본적으로 MTOM/XOP 최적화 메시지는 사용되지 않습니다.
  • 이 기능이 비활성화되어 있으면, 최적화된 양식 검증 과정에서 이러한 최적화된 메시지는 거부됩니다. 스키마가 base64-encoded 데이터를 승인하는 단순 유형 (예: xs:base64Binary 또는 xs:string) 을 지정하지만 메시지가 대신 xop:Include 요소를 포함하기 때문에 거부가 발생합니다.
  • 사용 가능한 경우, xop:Include 요소는 선택적으로 base64-encoded 2진 데이터의 유효성을 검증하는 XML 스키마 단순 유형의 컨텐츠 대신 표시될 수 있습니다. xop:Include 요소 자체는 store:///schemas/xop.xsd의 내장 스키마에 따라 유효성 검증됩니다.
부울

또한 API Designer 어셈블리 편집기를 사용하여 API에 기본 제공 정책을 추가함으로써 xslt 정책을 적용할 수도 있습니다. 자세한 내용은 ‘내장 정책’ 섹션의 XSLT 항목을 참조하십시오.

OpenAPIxslt 정책 정의 예시는 ‘내장 정책’ 섹션에 있는 XSLT 정책 예시를 참조하십시오.