<variable> 요소는 변수를 정의하고 표현식이 참조할 수 있는 양식으로 된 정보를 포함합니다. 변수는 규칙 세트, 규칙 블록 또는 규칙 레벨에서 정의할 수 있습니다.
변수는 규칙 계층 구조의 다른 레벨에는 동일한 이름이 있을 수 있습니다. 변수에 액세스할 때에는 변수의 대부분의 로컬 정의가 사용됩니다. 예를 들어, 변수가 규칙 세트 레벨, 규칙 블록 레벨 및 규칙 레벨에서 동일한 이름으로 정의된 경우에는 규칙 레벨의 변수 정의가 해당 규칙 내의 표현식에 의해 사용됩니다.
변수가 규칙 세트 또는 규칙 블록 레벨에서 정의되어 있으면 여러 규칙이 서로 다른 시간에 이러한 변수를 가져오고 설정합니다. 그러므로 변수값을 정확하게 유지하려면 규칙 세트에서 변수 간 상호작용을 코딩하는 방법을 알아야 합니다.
변수가 규칙 세트 또는 규칙 블록 레벨에서 정의되어 있으면 규칙 패턴이 일치한 후에 다시 초기화되지 않습니다.
규칙이 그룹화 키로 정의되고, <variable> 요소에 의해 정의된 규칙 변수가 수명 주기 조치 내에서 <activationInterval> 요소 내에 포함된 <activateOnEvent> 또는 <deactivateOnEvent> 요소 내에 포함된 <filteringPredicate> 요소 내에서 올바르지 않는 경우 이 경우 원인은 규칙 변수가 규칙 인스턴스에만 적용되고, 규칙 인스턴스가 이러한 표현식 실행 당시 존재하지 않기 때문입니다.
<variable>에는 다음과 같은 속성이 있습니다.
이름 | 설명 | 데이터 유형 | 필수 여부 |
---|---|---|---|
name | 특정 변수를 식별합니다. 변수는 이름으로 참조됩니다. | xsd:NMTOKEN | 예 |
dataType | 변수가 포함하는 정보의 유형을 식별합니다. 이는 java.lang.String과 같은 완전한 데이터 유형이어야 합니다. | xsd:NMTOKEN | 예 |
<variable>는 다음 요소를 포함합니다.
요소는 표시된 순서대로 코딩되어야 합니다. 요소가 선택적이면 코딩할 필요가 없지만 코딩된 모든 요소는 올바른 순서를 따라야 합니다.
요소 | 필수 또는 선택적 여부 |
---|---|
<comment> | 선택적. 0 또는 1 발생이 허용됩니다. |
<varInitializer> | 필수. 1 발생만이 허용됩니다. |