1
각 상위 노드에 대한 하위 노드를 표시하기 위해 술어와 함께 표현식을 사용하려고합니다. (연습 문제는 테스트 데이터이기 때문에 어리석은 것처럼 보입니다. 최종 해결책은 다른 XML 파일의 데이터를 그려야합니다.). 다음술어를 사용하는 XQuery 표현
데이터의 예입니다
<Schools>
<School>
<name>St John's</name>
<AcademicYear year = "2017"></AcademicYear>
<Subject>English</Subject>
<Subject>Geography</Subject>
<Subject>Maths</Subject>
<AcademicYear year = "2016"></AcademicYear>
<Subject>Maths</Subject>
<Subject>Textiles</Subject>
<Subject>English</Subject>
<AcademicYear year = "2015"></AcademicYear>
<Subject>History</Subject>
<Subject>French</Subject>
<Subject>Spanish</Subject>
</School>
<School>
<name>Marsh Academy</name>
<AcademicYear year = "2017"></AcademicYear>
<Subject>Science</Subject>
<Subject>Geography</Subject>
<Subject>Computer science</Subject>
<AcademicYear year = "2016"></AcademicYear>
<Subject>English</Subject>
<Subject>History</Subject>
<Subject>Maths</Subject>
<AcademicYear year = "2015"></AcademicYear>
<Subject>French</Subject>
<Subject>Geography</Subject>
<Subject>Art</Subject>
</School>
</Schools>
쿼리는 아래와 같다 :
오류 표시<Schools>
{for $School in doc("test.xml")/Schools/School
return
<School>
<Name>
{$School/name}
</Name>
{for $i in doc("test.xml")/Schools/[School = $School]/AcademicYear
return
<AcademicYear>
{$i/@year}
<subject><teacher></teacher><scale></scale></subject>
</AcademicYear>}
</School>}
</Schools>
8. I 라인과 관련하여 "노드 예상 배열 발견"라는 for 루프를 시도하고 다음과 같이 학년 태그 안에 표현식을 넣으십시오.
{doc ("test.xml")/Schools/[School = $ School]/AcademicYear/@ year}
죄송합니다. 간단합니다. 나는 초보자이다!
많은 감사를 - 그게 정말 도움이됩니다. 내가 표현한 컨텍스트 아이템의 역할을 이해하지 못했습니다. 나는 지금 그것을 보았다! 고맙습니다. – FullTiltBoogie