@Retention(value=RUNTIME) @Target(value=METHOD) public @interface XmlElementDecl
使用
注释创建XML架构元素声明和元件厂的方法返回代表元素声明一jaxbelement实例之间的映射。通常情况下,生成元工厂方法(注释)从架构到化类在java包,代表元素声明的目标命名空间绑定。因此,在注释的语法允许@ XmlElementDecl可以使用任何方法,语义的使用仅限于元工厂方法注释。使用受以下约束条件:XmlRegistry
类。Object
。在一个工厂方法例1:annotation
/ /例如:代码片段@ XmlRegistry类化{@ XmlElementDecl(name=“foo”)jaxbelement <字符串> createfoo(String s){…}} 字符串>
<!“XML输入”>< >字符串Foo/ /示例:对应于XML输入的代码片段jaxbelementO =(jaxbelement 配置数据)。(abovedocument);//打印jaxbelement实例来说明价值体系。出来。println(O. getname());//打印“{ } foo”系统。出来。println(O. getvalue());//打印“字符串”系统。出来。println(O. getvalue()。getclass());/ /版画“java。lang.string”<!--例如:XML架构定义——> < xs:元名称=“foo”type=“XS:字符串”/>
非局部范围例2:元素声明
下面的示例说明了使用范围标注参数在架构派生代码中的元素声明的绑定中使用。
下面的例子可以在未来修订取代javadoc。
<!——例如:XML模式定义xs:架构> << xs:complexType名称=“豌豆”>< xs:选择maxOccurs =“无界”>< xs:元名称=“foo”type=“XS:字符串”/>< xs:元名称=“酒吧”type=“XS:字符串”/>< / xs:选择>< / xs:名称>< xs:元名称=“foo”type=“XS:int”/>< / xs:架构>
/ /例如:预期的默认绑定类豌豆{“xmlelementrefs({@ XmlElementRef(name=“foo”,类型为jaxbelement。类)@ XmlElementRef(name=“酒吧”,类型为jaxbelement。类)})列表< <字符串> > fooorbar jaxbelement;}@ XmlRegistry类化{@ XmlElementDecl(范围=豌豆类,名字为“foo”)jaxbelement没有范围createfoo和createpeafoo会变得暧昧都映射到XML架构元素具有相同的本地名称“foo”。createpeafoo(字符串);@ XmlElementDecl(范围=豌豆类,名称=“酒吧”)jaxbelement 字符串>createpeabar(字符串);@ XmlElementDecl(name=“foo”)jaxbelement createfoo(整数);}
XmlRegistry
Modifier and Type | Required Element and Description |
---|---|
String |
name
XML元素的本地名称。
|
Modifier and Type | Optional Element and Description |
---|---|
String |
defaultValue
此元素的默认值。
|
String |
namespace
XML元素的命名空间名称。
|
类 |
scope
映射范围。
|
String |
substitutionHeadName
替换组的头元素的XML本地名称。
|
String |
substitutionHeadNamespace
替换组的头XML元素的命名空间名称。
|
public abstract String name
给审稿人:没有默认的名字;由于注释是一个工厂方法,它是不明确的,方法名可以由工厂方法的名称。
namespace()
public abstract 类 scope
如果这是不XmlElementDecl.GLOBAL
,那么这个元素声明映射仅在指定的类。
public abstract String substitutionHeadNamespace
这个指定的本地名称的substitutionHeadName()指定的XML元素的命名空间名称。
如果susbtitutionHeadName()是“”,那么这个值只能是“# #默认”。但价值被忽略自从这个元素是不是susbtitution组部分susbstitutionHeadName()值是“当”。
如果susbtitutionHeadName()不是”和“# #默认值”,然后命名空间名称是命名空间的名称,包含类的包装,标有XmlRegistry
,映射。
如果susbtitutionHeadName()不”和价值不是“# #违约”,那么价值是命名空间的名称。
substitutionHeadName()
public abstract String substitutionHeadName
如果值是“”,那么这个元素不是任何替换组的一部分。
public abstract String defaultValue
这个
' '值指定为默认这个注释元素作为一个穷人的替代零允许实现承认没有默认值的状态。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.