문제

약간의 문제가 있습니다. 나는 오래 전에 생산 시스템을 위해 API를 썼으며 Apache XML Beans를 사용했습니다. 스키마는 균질했습니다 (예 : 가져 오기, 모든 것이 동일한 스키마 내에서 왔습니다). API 처리 코드가 엄청나게 장점이더라도 모든 것이 잘 작동했습니다. 이후 JAXB를 사용하여 훨씬 단순하고 우아한 편안한 API를 작성했는데, 구식의 일부를 염두에두고 다른 스키마를 염두에 두었지만 일부 요소는 동일합니다. 이전 API에서 바인딩 코드를 정리하고 단순화하기 위해, 나는 일부 부품을 삭제하고 새 스키마를 가져 와서 해당 요소를 대신 사용하여 일부 부품을 교체했습니다. 그러나 새로운 스키마 혼합을 사용하는 문서를 구문 분석하려고 할 때마다 XML Beans에서 유효성 검사 오류가 발생합니다.

error: cvc-complex-type.2.4a: Expected element 'redundant-element@http://www.my.com/old/xmlns' instead of 'redundant-element@http://www.my.com/new/xmlns' here in element redundant-element-list@http://www.my.com/old/xmlns

전에 이것을 만난 사람이 있습니까? 해결책이나 아이디어가 있습니까? 정말 감사합니다. 감사합니다.

도움이 되었습니까?

해결책 2

답변 해 주셔서 감사합니다. 수많은 순열에서 문서의 루트와 '중복 요소'자체에 새 네임 스페이스를 명시 적으로 추가하려고 시도했습니다. 즉:

<oldxmlns:root xmlns:oldxmlns="abc" xmnls:newxmlns="xyz">
      .....
</oldxmlns:root>

.. 그리고 ...

<oldxmlns:root xmlns:oldxmlns="abc">
   <oldxmlns:nested-element>
         .....
      <newxmlns:redundant-element xmnls:newxmlns="xyz">
           .....
      </newxmlns:redundant-element>
         .....
   </oldxmlns:nested-element>
</oldxmlns:root>

... 그리고 기본 네임 스페이스 등과의 수많은 조합을 시도했지만 아무도 작동하지 않았습니다.

다른 팁

문서의 네임 스페이스가 여전히 오래된 것 같습니다. 스키마와 문서 없이는 말하기 어렵습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top