2014-07-25 2 views
1

내가 XQuery에 코드를 실행하려고를 해결하지,하지만 반환 식의 변수는 는 XQuery 변수는 그 값

내가

for $x in (<Person/>,<Person/>) 
return $x 

내가 얻을 다음 XQuery를 코드를 실행

해결되지 않는 괜찮지 만, 출력

<Person/> 
<Person/> 

나는 다음과 같은 코드를 실행하면

for $x in (<Person/>,<Person/>) 
return <Name>$x</Name> 

나는 반환 표현의 요소 내부에 동봉 왜 변수 $ x가 해결되지

<?xml version="1.0" encoding="UTF-8"?> 
<Name>$x</Name> 
<Name>$x</Name> 

를 얻을?

답변

3

$ x를 중괄호로 묶어야하므로 XQuery는 리터럴 텍스트를 원하지 않는다는 것을 알아야합니다.

for $x in (<Person/>,<Person/>) 
return <Name>{$x}</Name> 
+0

감사합니다. 첫 번째 경우 X-Query가 리터럴 텍스트로 해결되지 않은 이유를 설명 할 수 있습니까? – ammar26

+1

xquery 디자인 결정 일뿐입니다. 이스케이프 처리되지 않은 컨텐트를 xquery 표현식으로 해석하는 것도 가능할 것이라고 생각합니다. 그러나 리터럴 텍스트를 출력하려면 특별한 것을해야합니다. –