노드

2011-05-10 6 views
1

의 순서를 구축하는 것은 XQuery를이노드

<Elements> 
{ 
    for $i in ("a", "b", "c") 
    return <Element name="{$i}"/> 
} 
</Elements> 

을 할 수있는 쉬운 방법이 있나요?

+0

이 질문을 이해하지 못한다 (Oliver의 대답 참조). 우리가 제공 한 쿼리는 쉽고 모든 시퀀스에서 완벽하게 작동합니다. 아마도 실제 사용 사례에 대한 세부 정보를 제공해야합니다. – Shcheklein

+0

@ Shcheklein FLOWR을 사용하지 않고 이러한 쿼리를 작성할 수 있다고 생각했습니다. 어쩌면 사용자 457056과 같은 일종의 단 하나의 라이너가있는 것 같습니다. – Max

답변

2

당신은 FN 사용할 수 있습니다 :에 대해 어떻게

"=지도 (기능 ($ 전자) {< 요소 이름 :

FN :지도는() 귀하는 XQuery 프로세서는 XQuery 3.0 지원을하고있다 {$ e} "/ >}, $ sequence)

+0

그건 재미 있어요. 그러나 내가 볼 수있는 한 XQuery 3.0은 미리보기 단계에 있습니다. – Max

2

나는 당신의 질문을 정말로 이해하지 못합니다. 더 쉬운 것의 의미는 무엇입니까?

<Elements> 
    <Element name="a" /> 
    <Element name="b" /> 
    <Element name="c" /> 
</Elements> 
+0

쉽게 더 적은 코드를 의미합니다. 나는 abc-sequence를 예제로 사용했다. 시퀀스는 훨씬 더 많은 요소를 포함 할 수 있습니다. – Max

0

나는"더 쉽다 "라는 것이 무슨 뜻인지 궁금합니다. 여기

for $i in 1 to count($seq) 
return <Element name="{$seq[$i]}"/> 

는 전체 XQuery를 프로그램입니다 :

let $seq := 1 to 15 
    return 
     for $i in 1 to count($seq) 
      return <Element name="a{$seq[$i]}"/> 

하고, 결과을 올바른 원이 생성

변수 $seq 사용의 모든 항목을 가지고

<Element name="a1"/> 
<Element name="a2"/> 
<Element name="a3"/> 
<Element name="a4"/> 
<Element name="a5"/> 
<Element name="a6"/> 
<Element name="a7"/> 
<Element name="a8"/> 
<Element name="a9"/> 
<Element name="a10"/> 
<Element name="a11"/> 
<Element name="a12"/> 
<Element name="a13"/> 
<Element name="a14"/> 
<Element name="a15"/>