병합해야하는 두 개의 문서가 있습니다. 다른 예제에서 찾을 수없는 것으로 보입니다. 즉, 한 레벨의 노드 속성뿐만 아니라 노드 레벨 값을 얻기 위해 그 아래의 노드 레벨 속성 값에도 일치해야합니다.비슷한 XML 파일을 XSL로 병합하는 데 문제가 있습니다.
내가이 샘플 걸릴하려고 해요 :
<?xml version="1.0" encoding="UTF-8" ?>
<marc:collection xmlns:marc="http://www.loc.gov/MARC21/slim"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<marc:record>
<marc:datafield tag="035" ind1=" " ind2=" ">
<marc:subfield code="a">12345</marc:subfield>
</marc:datafield>
<marc:datafield tag="041" ind1=" " ind2=" ">
<marc:subfield code="a">eng</marc:subfield>
</marc:datafield>
<marc:datafield tag="650" ind1=" " ind2="4">
<marc:subfield code="a">Art</marc:subfield>
</marc:datafield>
<marc:datafield tag="949" ind1=" " ind2=" ">
<marc:subfield code="i">Review of conference proceedings</marc:subfield>
</marc:datafield>
</marc:record>
<marc:record>
<marc:datafield tag="035" ind1=" " ind2=" ">
<marc:subfield code="a">54321</marc:subfield>
</marc:datafield>
<marc:datafield tag="041" ind1=" " ind2=" ">
<marc:subfield code="a">eng</marc:subfield>
</marc:datafield>
<marc:datafield tag="650" ind1=" " ind2="4">
<marc:subfield code="a">Byzantine</marc:subfield>
</marc:datafield>
</marc:record>
</marc:collection>
그리고 "데이터 필드" '035', '서브 필드 "의 값이'A는, 예를 들어 일치 할 때를 "12345"
<marc:collection xmlns:marc="http://www.loc.gov/MARC21/slim"
xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<marc:record>
<marc:datafield ind2=" " ind1=" " tag="035">
<marc:subfield code="a">12345</marc:subfield>
</marc:datafield>
<marc:datafield ind2="4" ind1=" " tag="650">
<marc:subfield code="a">General works</marc:subfield>
<marc:subfield code="x">Historians and critics</marc:subfield>
<marc:subfield code="x">Smith, John, 1834-1917</marc:subfield>
</marc:datafield>
<marc:datafield ind2="4" ind1=" " tag="650">
<marc:subfield code="a">Généralités</marc:subfield>
<marc:subfield code="x">Historiens et critiques d'art</marc:subfield>
<marc:subfield code="x">Dietrichson, Lorentz, 1834-1917</marc:subfield>
</marc:datafield>
<marc:datafield ind2=" " ind1=" " tag="654">
<marc:subfield code="a">General works</marc:subfield>
</marc:datafield>
<marc:datafield ind2=" " ind1=" " tag="654">
<marc:subfield code="a">Généralités</marc:subfield>
<marc:subfield code="b">Historiens et critiques d'art</marc:subfield>
<marc:subfield code="b">Smith, John, 1834-1917</marc:subfield>
</marc:datafield>
</marc:record>
<marc:record>
<marc:datafield ind2=" " ind1=" " tag="035">
<marc:subfield code="a">54321</marc:subfield>
</marc:datafield>
<marc:datafield ind2="4" ind1=" " tag="650">
<marc:subfield code="a">General works</marc:subfield>
<marc:subfield code="x">Historians and critics</marc:subfield>
<marc:subfield code="x">Lange, Julius Henrik, 1838-1896</marc:subfield>
</marc:datafield>
</marc:record>
</marc:collection>
결과는 같아야합니다
<?xml version="1.0" encoding="UTF-8" ?>
<marc:collection xmlns:marc="http://www.loc.gov/MARC21/slim"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<marc:record>
<marc:datafield tag="035" ind1=" " ind2=" ">
<marc:subfield code="a">12345</marc:subfield>
</marc:datafield>
<marc:datafield tag="041" ind1=" " ind2=" ">
<marc:subfield code="a">eng</marc:subfield>
</marc:datafield>
<marc:datafield tag="650" ind1=" " ind2="4">
<marc:subfield code="a">Art</marc:subfield>
</marc:datafield>
<marc:datafield ind2="4" ind1=" " tag="650">
<marc:subfield code="a">General works</marc:subfield>
<marc:subfield code="x">Historians and critics</marc:subfield>
<marc:subfield code="x">Smith, John, 1834-1917</marc:subfield>
</marc:datafield>
<marc:datafield ind2="4" ind1=" " tag="650">
<marc:subfield code="a">Généralités</marc:subfield>
<marc:subfield code="x">Historiens et critiques d'art</marc:subfield>
<marc:subfield code="x">Dietrichson, Lorentz, 1834-1917</marc:subfield>
</marc:datafield>
<marc:datafield ind2=" " ind1=" " tag="654">
<marc:subfield code="a">General works</marc:subfield>
</marc:datafield>
<marc:datafield ind2=" " ind1=" " tag="654">
<marc:subfield code="a">Généralités</marc:subfield>
<marc:subfield code="b">Historiens et critiques d'art</marc:subfield>
<marc:subfield code="b">Smith, John, 1834-1917</marc:subfield>
</marc:datafield>
<marc:datafield tag="949" ind1=" " ind2=" ">
<marc:subfield code="i">Review of conference proceedings</marc:subfield>
</marc:datafield>
</marc:record>
<marc:record>
<marc:datafield tag="035" ind1=" " ind2=" ">
<marc:subfield code="a">54321</marc:subfield>
</marc:datafield>
<marc:datafield tag="041" ind1=" " ind2=" ">
<marc:subfield code="a">eng</marc:subfield>
</marc:datafield>
<marc:datafield tag="650" ind1=" " ind2="4">
<marc:subfield code="a">Byzantine</marc:subfield>
</marc:datafield>
<marc:datafield ind2="4" ind1=" " tag="650">
<marc:subfield code="a">General works</marc:subfield>
<marc:subfield code="x">Historians and critics</marc:subfield>
<marc:subfield code="x">Lange, Julius Henrik, 1838-1896</marc:subfield>
</marc:datafield>
</marc:record>
</marc:collection>
내가 조회를했던 내가 찾은 예를 사용하여 시도했지만, 그들 중 누구도 일 것 같았다. 모든 결과가 재앙 이었기 때문에 XSL을 포함하지 않았습니다. 나는 그것을 계속보고, 그것이 간단해야하지만, 나는 단지 괜찮은 결과를 얻지 못하고있다. 어떤 도움이나 조언을 주시면 감사하겠습니다.
감사합니다.