2017-04-01 73 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