2014-06-19 2 views
1

WSDL 및 가져온 파일을 가져 와서 단일 디렉토리에 저장하는 프로그램을 작성하고 있습니다. 이 작업의 일환으로 파일 구조를 평탄화하여 WSDL에서 참조하는 파일이나 참조 된 파일에서 참조하는 모든 파일을 포함하는 디렉토리가 있습니다. 따라서 각 파일을 가져와야하며 가져 오기가있는 곳이면 어디든 이름에서 경로를 제거해야합니다. 다음 예는 다음과 같습니다 다른 파일에 대한 WSDL 참조

<xsd:import schemaLocation="xsds/Currency.xsd" namespace="urn:example.com:enterprise:schemas:reference:currency"> 
</xsd:import> 

그래서 참조 위의 가져 오기 파일 xsds/Currency.xsd 난 그냥이에서 Currency.xsd을 추출 할. 그래서 같은 태그를 일치하도록 XPath 식으로이 속성의 내용을 얻을 수 있습니다 :

//*[local-name()='import']/@schemaLocation 

을하지만, WSDL은 또는이 XPath 식 원 파일을 가져올 수 XSD를을 참조의 태그의 다른 유형은 아마이 있습니다 일치하지 않습니다. 일치해야 할 수도있는 다른 태그 또는 필드 이름은 무엇입니까? 그렇다면 파일을 놓치지 마십시오.

답변

1

당신은 모든 schemaLocation들이 발생하는 곳의 독립적 인 특성을 잡을 것

//@schemaLocation 

을 사용할 수 있습니다. XSD 네임 스페이스의 schemaLocation 속성을 포함

요소 :

  1. import
  2. include
  3. redefine

당신은 알고 있어야 그 XMLSchema-instance 네임 스페이스, 자격을 갖춘 schemaLocation 속성 초를 포함합니다. 페이스 별 구분 쌍 각 짝수 번호가 지정된 구성 요소는 위치입니다 (홀수 항목은 네임 스페이스 임).

관련 문제