2017-02-13 5 views
1

私は、このパッケージ情報複数の名前空間のパッケージ情報のJava

/** 
* Created by mflamant on 13/02/2017. 
*/ 
@javax.xml.bind.annotation.XmlSchema(namespace = "namespace1", xmlns = {@XmlNs(prefix = "ns4", namespaceURI = "namespace1")}, elementFormDefault = XmlNsForm.QUALIFIED) 

package com.cisco.adt.portal.data.model.API.Equipment; 

import javax.xml.bind.annotation.XmlNs; 
import javax.xml.bind.annotation.XmlNsForm; 

を持っているしかし、私は2つの名前空間を持つようにしたいが、私はこれを行うことを試みた:

/** 
* Created by mflamant on 13/02/2017. 
*/ 
@javax.xml.bind.annotation.XmlSchema(namespace = "namespace1", xmlns = {@XmlNs(prefix = "ns4", namespaceURI = "namespace1")}, elementFormDefault = XmlNsForm.QUALIFIED) 
@javax.xml.bind.annotation.XmlSchema(namespace = "namespace2", xmlns = {@XmlNs(prefix = "ns4", namespaceURI = "namespace2")}, elementFormDefault = XmlNsForm.QUALIFIED) 

package com.cisco.adt.portal.data.model.API.Equipment; 

import javax.xml.bind.annotation.XmlNs; 
import javax.xml.bind.annotation.XmlNsForm; 

をしかし、私はエラーを持っている:「重複をアノテーションは2つの名前空間を持つことが可能かどうか?

ありがとうございます。

答えて

1

名前空間は2つありますが、同じ接頭辞は使用できません。

クラスにアノテーションを使用する代わりに、モデルがあるパッケージにpackage-info.javaファイルを追加することをお勧めします。

たとえば、サイトマップを作成した後、Google検索コンソールの厳しいチェックルールのために、名前空間を追加する必要がありました。

ファイルpackage-info.javaファイル内で、次の構文でさらに名前空間を追加しました。

@XmlSchema(
    xmlns = { 
     @XmlNs(prefix = "video", namespaceURI = "http://www.google.com/schemas/sitemap-video/1.1"), 
     @XmlNs(prefix = "", namespaceURI = "http://www.sitemaps.org/schemas/sitemap/0.9") 
    } 
) 

/* 
* xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
* xmlns:video="http://www.google.com/schemas/sitemap-video/1.1" 
*/ 

package com.example.myapplication.model.sitemap.pojo; 

import javax.xml.bind.annotation.XmlNs; 
import javax.xml.bind.annotation.XmlSchema; 
+0

ありがとうございました!これだよ ! –

0

あなたが代わりにドキュメントごとにアノテーションの配列を使用する必要があります。

https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlSchema.html

例:

@javax.xml.bind.annotation.XmlSchema (
     xmlns = { 
     @javax.xml.bind.annotation.XmlNs(prefix = "po", 
        namespaceURI="http://www.example.com/myPO1"), 

     @javax.xml.bind.annotation.XmlNs(prefix="xs", 
        namespaceURI="http://www.w3.org/2001/XMLSchema") 
     } 
    ) 

Javaドキュメントはの終わりにerroroneous括弧を持っています上記の例で修正したxmlnsブロック

関連する問題