요청 및 응답 XML은 여러 네임 스페이스를 사용하는 xsds에 의해 정의되며 100 개의 요소가 정의되어 있습니다. in xsds. 그러나 웹 서비스는 XML에서 네임 스페이스를 사용하지 않는 레거시 레이어를 호출합니다. 따라서 웹 서비스와 xslt를 사용하여 요청 및 응답 XML을 변환하는 레거시 계층간에 변환 계층이 있습니다. 변환 과정에서 xslt를 사용하여 요청 XML에서 네임 스페이스 접두사를 제거합니다.이 접두사는 일치하는 소수의 네임 스페이스 접두사 만 있기 때문에 정상적으로 작동합니다.xslt를 사용하여 xml에 네임 스페이스를 추가하는 방법
그러나 나가는 길에 응답에 네임 스페이스 접두어를 다시 추가 할 xslt가 필요하며이를 수행하는 방법을 모르겠습니다. 응답은 수십 개의 다른 요소 유형으로 구성 될 수 있습니다. xsds의 여러 다른 네임 스페이스 중 하나에 속할 수 있습니다. 나는이 점을 변환 할 필요가
<order>
<item name="table"/>
<customer name="jim"/>
</order>
: 예를 들어, 나는이 같은 응답을 가질 수있다
<order
xmlns:types1="http://types1.company.com" xmlns:types2="http://types2.company.com">
<types1:item name="table"/>
<types2:customer name="jim"/>
</order>
것은이 작업을 수행 할 수있는 유일한 방법입니다 것은 일치하는 XSLT에 큰 테이블을 가지고있다 사용되어야하는 접두어에 대한 응답의 요소 이름 (예 : "item", "customer")?
xml로 xsd로로드 한 코드를 수정 한 다음 xsd의 요소에 응답 요소를 일치시키고 올바른 네임 스페이스를 파생시키는 것이 더 낫지는 않습니까?
같은 이름이 여러 네임 스페이스에 나타날 경우 사용할 네임 스페이스를 어떻게 결정합니까? –
예, 잠재적 인 문제이며, xsds에 대한 실제 문제인지 여부는 아직 알 수 없습니다. 그것이 발생한다면 아마 유일한 일치를 얻을 때까지 나는 조상 요소를 체크하는 것에 너무 의지 할 것이다. – Polyfun