我想使用JAXB 2.1 XJC从xsd生成Java代码。我提供了xsd模式,无法更改。我想在从xml架构生成Java类时使用 xjc:simple
模式。
在xsd中有一些元素:
<xs:any namespace="##other" processContents="lax"/>
如此处所述:http :
//jaxb.java.net/guide/Mapping_of__xs_any___.html我希望这些元素将被绑定到:
@XmlAnyElement(lax=true)
public Object any;
但是当我使用简单绑定模式 xjc:simple时, 我有:
@XmlAnyElement
protected Element any;
我试图找到一种解决方法,但是到处都说xs:any无需配置即可处理。将xs:any元素用作java.lang.Object的唯一方法是删除
xjc:simple 或将xsd中的 processContents 更改 为“ strict”
。这些选项现在都不适合我使用,因为我无法更改xml模式,并且我有一些旧代码依赖于xjc:simple模式生成的java类,但是现在我需要使用xs:any元素,我想避免使用org.w3c.dom.Element对象。
任何帮助将不胜感激。谢谢。
您可以使用通配符插件从JAXB2基础。这使您可以自定义宽松/跳过/严格通配符绑定模式:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:wildcard="http://jaxb2-commons.dev.java.net/basic/wildcard"
jaxb:version="2.1"
jaxb:extensionBindingPrefixes="wildcard">
...
<xs:complexType name="issueJIIB10Type" mixed="true">
<xs:annotation>
<xs:appinfo>
<wildcard:lax/>
</xs:appinfo>
</xs:annotation>
<xs:complexContent mixed="true">
<xs:extension base="xs:anyType"/>
</xs:complexContent>
</xs:complexType>
...
</xs:schema>
您不必为此更改架构,可以通过绑定文件使用此自定义。
自定义绑定(Custom Binding)允许我们通过代码实现自定义绑定规则,从而完成更高级的业务需求。 示例代码 //.js片段 justep.Bind.bindingHandlers.yourBindingName = { init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
我使用FreshMvvm在Windows上开发和运行MAUI项目。 但我的ListView和自定义模板存在一些绑定问题。 以下是我的代码: 型号: 视图模型: 我创建了一个列表,并使用api服务来获取名称模型列表数据。如果api服务获得数据,将被更新。 是将在Listview上绑定的属性。物品来源 主页。xmal: 自定义ViewCell(.xml): 自定义ViewCell(.cs) 我定义了一
问题内容: 如果我有一个没有模板的AngularJS指令,并且希望它在当前作用域上设置一个属性,那么最好的方法是什么? 例如,计算按钮点击次数的指令: 使用伪指令将点击计数分配给双向属性中的表达式: 有一个更好的方法吗?从我所读的内容来看,孤立的作用域会过大,但是我需要一个子作用域吗?除了使用以外,还有没有更干净的方法可以写回指令属性中定义的范围变量。我只是觉得我很难过。 这里有完整的柱塞。 问题
问题内容: 我是否可以使用标准方法将自己的自定义对象添加到Map,然后将其正确编组到MapMessage中?当前,我收到无效对象类型消息。我注意到WebSphere有解决方案,但是我正在寻找不受特定AS约束的东西,如果没有这种方法,也许JBoss支持的东西会起作用。 如何在WebSphere中进行操作:http : //publib.boulder.ibm.com/infocenter/dmndh
我正在为log4j2编写一个自定义包装器。使用https://logging.apache.org/log4j/2.x/manual/customloglevels.html#Customlogggers 要求是根据要记录的对象类型选择追加器。我想的方法是扩展log4j2记录器并覆盖log方法(如info),在这些方法中检查对象类型并调用所需的appender。 现在我想让我的应用程序使用slf4
问题内容: 我对JAXB为XML模式生成绑定类的方式有疑问(为了精确起见,我无法对其进行修改)。我想将xsd:date类型映射到Joda-time LocalDate对象,并在此处,阅读,我创建了以下DateAdapter类: 然后将以下内容添加到我的全局绑定文件中: 问题是,当我尝试进行项目编译时,它失败并显示以下错误: …这就是事情变得奇怪的地方。JAXB生成一个包含以下内容的类Adapter