簡體   English   中英

XSD:xs:導入在加載具有不同大小寫的XSD時失敗

[英]XSD: xs:import fails while loading XSD with different case

我正在從復雜的XSD生成Jaxb對象。 在其他xsds中導入XSD會導致問題。 這是它的不同之處

我的實際XSD文件名是: xsdname.v6.xsd

<xs:import namespace="urn::xsdname:v6" schemaLocation="XsdName.v6.xsd"/> 
<xs:import  namespace="urn::xsdname:v6" schemaLocation="xsdname.v6.xsd"/>

我得到的錯誤是

line 10039 of /src/main/schema/external/xsdname.v6.xsd
  'RefundDateTime' is already defined  
line 10048 of src/main/schema/external/XsdName.v6.xsd
  (related to above error) the first definition appears here

我假設目錄文件將有助於解決問題,但它沒有使用不同的URL。 它看起來是本地的,但它加載了兩次。

有什么建議可以解決這個問題嗎?

schemaLocation是一個URI(不是Linux文件名...)。 處理器可能會識別出當您對同一URI有兩個導入時,其中一個是冗余的。 但是沒有完美的方法來比較兩個URI是否“相同”,除非它們由完全相同的字符序列組成。 某些處理器可能會嘗試某些規范化(例如,如果它們是文件系統URI,則處理器可以檢查文件系統是否是盲目的),其他處理器甚至不會嘗試。 通常,如果您使用不同的名稱多次導入同一模式文檔,則可能會發生沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM