SimpleType和属性的XML模式?
我正在尝试创建一个XML模式,该模式可以捕获如下所示的XML:SimpleType和属性的XML模式?,xml,xsd,Xml,Xsd,我正在尝试创建一个XML模式,该模式可以捕获如下所示的XML: <tagname description="simple string type attribute"> false <!-- simple boolean type --> </tagname> 假的 但是我遇到了困难。甚至可以定义一个模式来捕捉这个信息吗?或者我在一个网络上吗?给你 <xs:element name="tagname"> <xs:comp
<tagname description="simple string type attribute">
false <!-- simple boolean type -->
</tagname>
假的
但是我遇到了困难。甚至可以定义一个模式来捕捉这个信息吗?或者我在一个网络上吗?给你
<xs:element name="tagname">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:boolean">
<xs:attribute name="description" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
这是经过验证的样本
<tagname xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="file:/C:/Untitled2.xsd" description="123">
true
</tagname>
真的
谢谢,谢谢,谢谢。我已经为这个问题挣扎了一段时间,但如何定义模式并不明显,即使实际的XML示例非常简单。我最大的问题是如何构造一个JAXB类来处理这个问题。直到我看到您的模式定义并通过xjc运行它,我才能够看到如何在JAXB中设置它。JAXBJava类是非常不直观的IMHO,我从来没有猜到如何设置它。我尝试了几种不同的方法,但都没有成功
下面是从发布的模式生成的JAXB java类的示例。键在字段上使用@XmlValue注释(您也可以在字段的getter上使用它,但删除XmlAccessorType注释:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "value" })
@XmlRootElement(name = "tagname")
public class Tagname {
@XmlValue
protected boolean value;
@XmlAttribute(name = "description", required = true)
protected String description;
public boolean isValue() {
return value;
}
public void setValue(boolean value) {
this.value = value;
}
get and set for description omitted.
以下是来自给定类的封送JAXB XML文档:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tagname description="The Description">true</tagname>
真的
我希望这一补充将有助于其他人谁是挣扎在同一个模糊的问题