검색

30.2. XML DSL

download PDF

30.2.1. XML DSL의 간단한 표현식

XML DSL에서는 표현식을 간단한 요소 내에 배치하여 간단한 표현식을 사용할 수 있습니다. 예를 들어 foo 헤더의 내용을 기반으로 필터링을 수행하는 경로를 정의하려면 다음을 수행합니다.

<route id="simpleExample">
  <from uri="seda:orders"/>
  <filter>
    <simple>${in.header.foo}</simple>
    <to uri="mock:fooOrders"/>
  </filter>
</route>

30.2.2. 대체 자리 표시자 구문

예를 들어 Spring 속성 자리 표시자 또는 OSGi 블루프린트 속성 자리 표시자가 있는 경우, ${Expression} 구문이 다른 속성 자리 표시자 구문과 충돌하는 경우가 있습니다. 이 경우 단순 표현식에 대해 대체 구문 $simple{Expression} 을 사용하여 자리 표시자를 모호할 수 있습니다. 예를 들면 다음과 같습니다.

<simple>Hello $simple{in.header.name}, how are you?</simple>

30.2.3. 시작 및 종료 토큰 사용자 정의

XML 구성에서 SimpleLanguage 인스턴스를 재정의하여 시작 및 종료 토큰(기본적으로{} )을 사용자 지정할 수 있습니다. 예를 들어 시작 및 끝 토큰을 [] 로 변경하려면 다음과 같이 XML 구성 파일에 새 SimpleLanguage 8080을 정의합니다.

<bean id="simple" class="org.apache.camel.language.simple.SimpleLanguage">
  <constructor-arg name="functionStartToken" value="["/>
  <constructor-arg name="functionEndToken" value="]"/>
</bean>
참고

시작 및 종료 토큰을 사용자 정의하면 클래스 경로에서 동일한 camel-core 라이브러리를 공유하는 모든 Apache Camel 애플리케이션에 영향을 미칩니다. 예를 들어 OSGi 서버에서는 많은 애플리케이션에 영향을 미칠 수 있지만 웹 애플리케이션(WAR 파일)에서는 웹 애플리케이션 자체에만 영향을 미칩니다.

30.2.4. XML DSL의 공백 및 자동 할당

기본적으로 간단한 표현식을 따르는 공백은 XML DSL에서 자동으로 트리밍됩니다. 공백을 중심으로 하는 이 표현식은 다음과 같습니다.

<transform>
  <simple>
    data=${body}
  </simple>
</transform>

이 표현식은 자동으로 트리밍되므로 이 표현식(백백 공간 주변 없음)과 동일합니다.

<transform>
  <simple>data=${body}</simple>
</transform>

식 전이나 후에 줄 바꿈 문자를 포함하려는 경우 다음과 같이 줄 바꿈 문자를 명시적으로 추가할 수 있습니다.

<transform>
  <simple>data=${body}\n</simple>
</transform>

또는 트리밍 속성을 false 로 설정하여 다음과 같이 자동 분석을 전환할 수 있습니다.

<transform trim="false">
  <simple>data=${body}
</simple>
</transform>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.