2017-04-01 69 views
0

我想從XSD架構中使用來自JAXB的xjc生成POJOS。我無法將像「media:title」這樣的元素轉換爲模式。如何將「:」殖民地名稱從XML轉換爲XSD架構?

<media:title>Sink or Swim - Trailer</media:title> 
<media:credit role="Director" scheme="urn:ebu">Jon Bowermaster</media:credit> 
<media:credit role="Writer" scheme="urn:ebu">Jon Bowermaster</media:credit> 
<media:credit role="Editor" scheme="urn:ebu">Devin Pickering</media:credit> 
<media:thumbnail type="landscape" url="http://snagfilms-a.akamaihd.net/bf/f6/41421f834ff49b86e36beae9f47e/sinkorswim-video.jpg"/> 
<media:thumbnail type="thumbnail" url="http://snagfilms-a.akamaihd.net/11/50/68399aa743ffa9fa9f9a155ba1c1/sinkorswim-thumbnail.jpg"/> 
<media:thumbnail type="widget" url="http://snagfilms-a.akamaihd.net/ce/f7/5a967d1042288b53fecdf100393a/sinkorswim-widget.jpg"/> 
<media:thumbnail type="poster" url="http://snagfilms-a.akamaihd.net/30/40/0875f149490a853057bebf69dac0/sinkorswim-poster.jpg"/> 
<media:content duration="117" height="323" type="text/html" url="http://embed.snagfilms.com/embed/player?filmId=00000158-b20c-d8f9-affd-b32ce8700000" width="500"/> 
<media:keywords> 
snagfilms,Trailers,Climate Change,Documentary,Inspiring,Maldives,Swimming,Trailers 
</media:keywords> 
<media:restriction relationship="allow" type="sharing"/> 
<media:community> 
    <media:starRating average="0" count="0"/> 
    <media:statistics favorites="5" views="5"/> 
    <media:tags> 
    snagfilms,Trailers,Climate Change,Documentary,Inspiring,Maldives,Swimming,Trailers 
    </media:tags> 
</media:community> 
<media:rights status="official"/> 
<media:player height="323" url="http://embed.snagfilms.com/embed/player?filmId=00000158-b20c-d8f9-affd-b32ce8700000" width="500"/> 

會有什麼上面的樣子在XSD架構

回答

2

要問如何被殖民的名字從XML到XSD轉換表示XML命名空間的誤解。殖民化名稱是通過命名空間前綴將XML組件放入命名空間的一種方法。你不想轉換 XML到XSD;你想寫一個XSD,描述了的XML。

在你的榜樣標記,應該有

  • 一個根元素
  • media命名空間前綴的聲明(如:xmlns:media="http://www.example.com/media"

缺少這些項目,您的標記ISN即使是XML,也不符合格式良好的的要求。

做出這些更正後,您可以編寫一個XSD,該XSD的目標命名空間與您的XML的根元素的命名空間相匹配。您可以導入其他XSD以涵蓋XML中使用的其他名稱空間。只有這樣你才能準備通過JAXB和xjc生成Java類。

+0

對不起,我對這個概念很陌生。這是我得到的原始響應http://www.snagfilms.com/feeds/所以你的意思是我需要爲這些元素使用「targetNamespace = media」。你能用語法來幫助我嗎? –

+2

不,您需要XML命名空間的基礎知識,而不僅僅是語法幫助。首先閱讀有關該主題的基本介紹。你顯然沒有準備好提出正確的問題,更不用說理解答案,直到你這樣做。 – kjhughes