나는 출판 인용을 검색하는 작은 응용 프로그램이 있습니다. 인용문은 XML로되어 있으며 PHP를 통해 매개 변수를 XSLT에 전달하여 도구 또는 작성자와 같은 필드로 검색합니다. 구조는 다음과 같습니다XPath : 여러 어린이 중 하나와 일치
<publications>
<paper>
<authors>
<author>James Smith</author>
<author>Jane Doe</author>
</authors>
<year>2010</year>
<title>Paper 1</title>
(more children)
</paper>
(more papers)
</publications>
나는 XSLT 내 템플릿 전화, 나는 논문이 검색 기준에 따라 표시되는 아래로 껍질을 벗기다하는 술어를 사용합니다. 매개 변수 $ 작성자가 설정되어있는 경우에 따라서, 예를 들어, 내가 할 :
<xsl:apply-templates select="paper[contains(authors/author, $author)]" />
문제는 :이 "저자"의 처음 저자을 위해 작동하지만, 그 후 사람을 무시합니다. 위의 예제에서 "Smith"를 검색하면이 문서가 반환되지만 "Doe"는 아무 것도 반환하지 않습니다.
모두 "저자"요소를 고려하여 표현식을 어떻게 포맷 할 수 있습니까?
감사합니다 ! 꿈처럼 일했다. – tkm256