我尝试在zillow“SearchResults.xsd”上运行VisualStudio的XSD.EXE实用程序来生成c#或vb.net类,但我没有运气,正在寻求帮助。我不断收到错误(见下文)。这是我从http://www.zillow.com/howto/api/GetDeepSearchResults.htm下载的原始文件:以下是我在VisualStudio2010中尝试XSD.EXE时不断遇到的错误:C:\Users\username\Documents>xsd/classesSearchResults.xsdMicrosoft(R)XmlSchemas/DataTypess
主题中的问题:在XSD中定义嵌套在同名元素中的元素是否有效?例如,以下片段是否正确?如果是这样,你如何让xjc正确地为它生成类?我遇到编译错误,例如静态类TypeOfAction已定义(基本上我会生成两个同名的嵌套静态类)。 最佳答案 这个片段很好。只有全局元素需要具有唯一的限定名称(命名空间和本地名称的组合)。来自JDK7的XJC可以很好地处理您的代码段。我的示例XSD生成正确的类。但它无法编译,因为Java不允许声明与外部类同名的内部类。尝试使用xjc绑定(bind)或内联模式注释更改生成的类型名称。你可以找到例子here.示例
我正在阅读thistutorial它指出要获得这样的xml:DearMr.JohnSmith.Yourorder1032willbeshippedon2001-07-13.你需要这个xml模式定义:但我认为这并不完全正确。它定义了name、orderid和shiptdate元素,但没有定义像DearMr.这样的纯文本。,Yourorder和willbeshippedon唯一xs:string类型已分配给name元素。你能帮我理解一下吗?非常感谢 最佳答案 这就是mixed="true"所做的-它允许在复杂类型的已声明元素周围和之间使
我有以下XSD元素:我想单独应用这些模式中的每一个。它应该首先检查长度是否合适。如果是,则检查它是否至少有2位数字,依此类推。相反,它将所有表达式连接在一起并尝试将它们应用在一起。这是非常糟糕的设计。如果只允许一种模式应该定义的基数为1。允许多个给人的印象是支持多种模式。有没有办法将多个模式应用于XSD元素? 最佳答案 Multiplepatternsperrestriction被支持,但它们并不意味着AND;他们的意思是:Note:AnXMLcontainingmorethanoneelementgivesrisetoasingl
我使用mavenJaxB插件从XSD生成源代码。插件详情如下,org.jvnet.jaxb2.maven2maven-jaxb2-plugin0.8.3XSD中定义的枚举有两个值,生成的代码在枚举值的工作边界之间添加了下划线。例如:“SimpleText”在枚举中作为SIMPLE_TEXT出现。生成的代码,@XmlType(name="MyEnum")@XmlEnumpublicenumMyEnum{@XmlEnumValue("SimpleText")SIMPLE_TEXT("SimpleText"),@XmlEnumValue("ComplexText")COMPLEX_TEXT(
例如,如果我有以下XML文档:FFB我如何使用XSD来验证属性“attempt”只有在出现1时才具有值2,在出现2时才具有值3,等等?编辑:为了更清楚,我需要的是让第一个元素在属性中具有值“1”的可能性,并且每个后续兄弟的值都增加一个。 最佳答案 是的,这是可能的,但不是在XSD1.0中。最简单的解决方案:完全删除@attempt属性;它什么也没增加。我建议您重新审视明确强制执行约束的目标,如果隐含的话,这些约束本来是免费的。去掉@attempt属性,它只用来标识grade元素在序列中的位置,让序列暗示后面的序列位置不能存在没有以前
我有以下带有单位和度量子元素的xml。1.00in1.00in1.00in7.00LBS//invalidexpectedvalueislb当单位或度量子元素的XSD验证失败并出现类似cvc-enumeration-valid的错误(当度量不是来自一组枚举值时)或单位值因cvc-datatype-valid.1.2.1而失败时数据类型不匹配如何获取父元素?在上面的xml中,它将是重量。在SAXParseException中,我得到了发生错误的行号。是否可以从行号中获取元素,然后获取其父元素? 最佳答案 我认为在JavaAPI中没有执
我需要澄清的一种情况.如果namespace会怎样属性的值为##any和属性processContents不存在(默认值为strict)?这里会发生什么情况,处理器是否应该根据任何方案验证元素?示例说明。这是XSD部分:................这是XML:Hello每当我尝试根据上述模式验证此XML时,我都会得到:Thematchingwildcardisstrict,butnodeclarationcanbefoundforelement'message'.这是怎么来的,命名空间是##any? 最佳答案 xsd:any的默
我已经尝试了所有,,and这些都不能令人满意地帮助我的案例。有谁知道你会如何验证这样的事情。在哪里,下标签和/或可以以任何顺序出现任意次数(0-n)。但至少其中之一必须至少出现一次。忽略SubMenu标签内的验证。非常感谢在此问题上的任何帮助。 最佳答案 如果我正确理解了您的要求,那么您可以将该模型表述为“其中一个SubMenu或MenuItem后跟零个或多个SubMenu或MenuItem元素”。这可以很容易地表示为两个选择的序列:您可以使用Menu和SubMenu的共享全局类型更清晰地对此进行建模,但我希望这种方式相对明显。
通过使用模式,是否有任何简单/容易的方法来验证xml消息的编码?假设xml的第一行“不”可信?例如忽略?xmlversion="1.0"encoding="UTF-8"? 最佳答案 不,除了二进制数据元素类型之外,模式不能规定编码类型,但这种编码仍将被文档本身的高级编码封装。如果您意识到模式应该描述信息而不是传输格式,那么这是有道理的。XML规范规定了文档传输信息,例如在最一般意义上如何表示和存储信息。模式用于验证通过XML存储的数据是否满足各方之间的某种语法限制。XML规范中定义的序言(您提到的第一行)是存在(或不存在)的实体,投