gpt4 book ai didi

java - 如何为具有不同输入数据的两个常见元素设计 xsd 架构?

转载 作者:行者123 更新时间:2023-11-30 04:32:12 25 4
gpt4 key购买 nike

我需要如何设计 xsd 架构来表示对象的建议。

我有一个这样的界面

public interface Validator{
boolean validate(Q query);
}

我有一些实现 -

public class SimpleValidator implements Validator{

private R param;

public boolean validate(Q Query){
//some logic with using param
}

public void setParam(R param){
this.param = param;
}
}


public class AnotherValidator implements Validator{

private Data data1;
private Data data1;

public boolean validate(Q Query){
//some logic with using data1 and data2
}

public void setData1(Data data1){
this.data1 = data1;
}

public void setData2(Data data2){
this.data2 = data2;
}
}

我有这样的决定 -

我创建根元素 - <xsd:element name="validator" type="validatorType"/>

还有这样的元素 -

<xsd:element name="simpleValidator" type="simpleValidatorType"  substitutionGroup="validator"/>

<xsd:element name="anotherValidator" type="anotherValidatorType" substitutionGroup="validator"/>

现在我可以使用标签 simpleValidatoranotherValidator在需要的地方 validator 。示例 -

<anotherValidator>
<data1 value="value1"/>
<data2 value="value2"/>
</anotherValidator>

问题是,我只想使用标签 validator 。例如,我想要这样的东西 -

<validator type="simpleValidator>
//simpleValidator data
</validator>

<validator type="anotherValidator>
//anotherValidator data
</validator>

最佳答案

我认为这可以使用 Runtime Polymorphism via xsi:type and Abstract Types 来完成我找到了related question另外:可能会有帮助。

在我的一个项目中,我很熟悉,但有不同类型的地址,即shippingAddress、billingAddress..我们使用这种技术来解决我们的问题。

关于java - 如何为具有不同输入数据的两个常见元素设计 xsd 架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14375723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com