草庐IT

order_creation_xsd_validation_and

全部标签

xml - xsd :all 后的重复元素

我想问一下是否可以让一个元素在xsd:all之后重复。像这样:这是无效的,因为xsd:all之后不能有元素,我该如何实现? 最佳答案 您不能将element作为complexType的子元素。您需要在sequence中使用类似all的组,但这也是非法的(all必须是复杂类型的顶层,而且它也不能包含组——只有元素和引用)。所以all太受限制了,无法做你想做的事。一个解决方案是不使用all而是使用不同的组并对其进行配置,使其表现得像您声明的all组。这里有一些选择。您可以选择适合自己的一种,也可以进行一些试验并调整一种。1)choice

xml - XSD:允许序列中任意位置来自不同 namespace 的元素

我一直在尝试以下方法。我想为XML创建一个XSD,其中某些元素只允许出现一次并且需要有效,并且允许来自其他namespace的元素出现在任何地方,并且没有必须用于验证的架构。应该允许的XML:book1,2,3和4只能在XML中出现一次并且需要被验证,其他命名空间中的元素然后ns:应该被允许而不被验证。为此,我在我的XSD中使用xs:any和processContents松散:在这个解决方案中,其他命名空间中的元素只能出现在序列之后,而不能出现在必填元素之间。理想的解决方案(但我知道它在XSD中是不允许的)是更改xs:all中的xs:sequence(但xs:all中不允许xs:any

xml - 如何引用自己创建的 xsd

这是一个非常愚蠢的问题,但我不知道答案所以尽量不要傻笑太多。我正在学习如何创建xsd文件。我根据各种在线指南创建了一个。我不知道该怎么做(教程中从未提及)是如何在其他xml和xslt文件中引用此xsd?xsd未托管在网站上,我不希望它托管在网站上,因为它仅供内部使用。所以我的问题是,我该如何做到这一点? 最佳答案 有两种方法可以解决这个问题...第一个:第二个:构建目录文件以识别资源的命名空间..参见here(例如来自http://mojo.codehaus.org/xml-maven-plugin/examples/catalog

java - Castor 为 xsd 中的整数类型生成 BigDecimal 类型

我使用的xsd架构如下:意思是像XML:111000111但是Castor只为这个模式生成BigDecimal类型:publicabstractclassTrxIdRs_Typeimplementsjava.io.Serializable{//--------------------------///-Class/MemberVariables-///--------------------------//***internalcontentstorage*/privatejava.math.BigDecimal_content;/***Field_trxStatusCode.*/pr

xml - spring-beans-3.1.xsd和spring-beans.xsd的spring xml配置区别

有什么区别http://www.springframework.org/schema/beans/spring-beans.xsd和http://www.springframework.org/schema/beans/spring-beans-3.1.xsd因为目前我几乎完成了一个SpringMVC(基于Java的服务器端)项目,而我的最后一步是将我之前的SpringSecurityLogin示例应用到它。在我开始我的项目之前,SpringSecurity示例完美运行。然后,我意识到上面的两个链接,并且在应用我的SpringSecurity示例后遇到了丑陋的异常。我的SpringMV

java - 在 Grails 中创建 XSD 模式 validator 时如何避免调用 w3.org

我使用具有以下代码(已编辑)的服务来根据XSD文件验证XML。xsd文件放在grails-app/conf/xsd中,以供类加载器找到。importjavax.xml.transform.stream.StreamSourceimportjavax.xml.validation.SchemaFactoryimportjavax.xml.validation.Schemaimportstaticjavax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URIclassMyService{SchemaschemaMyService(){deffactory=Sche

xml - 如何在 XSD 中使用 targetNamespace 来验证 XML

我现在正式迷失了namespace。我正在尝试以这种(非常缩写的)格式验证我们从客户那里获得的XML:400056980我正在尝试为此创建一个匹配的架构,我想出了:但是当我使用xmllint验证时,我得到:example.xsd:2:elementschema:Schemasvalidityerror:Element'{http://www.w3.org/2001/XMLSchema}schema':Nomatchingglobaldeclarationavailableforthevalidationroot.example.xsdfailstovalidate我究竟应该如何编写此X

xml - XSD 文档作为构建过程的一部分

我有多个描述架构的XSD文件。作为构建过程的结果,我想生成一个人类可读的文档。XSD在存储库(gitflow)中进行维护和审查,提交文档会使存储库变得困惑。我想在构建过程中生成人类可读的HTML(maven/gradle/ant构建或简单的CLI界面)找到这篇文章Howtoconvertxsdtohumanreadabledocumentation?和DocFlex/XMLMavenplugin看起来很有趣,但我不敢相信这是唯一的。有什么有用的提示吗? 最佳答案 我最终得到了包含在gradle构建中的OxygenEditorsche

java - 如何根据仅在运行时已知的 XSD 更新 xml?

目标是根据给定的XSD作为java应用程序的一部分将一些元素插入现有的xml文档。问题是:具体的XSD仅在运行时已知,因此像jaxb这样的标准解决方案不起作用,因为它们处理在编译时已知的XSD。我在编译时拥有的唯一结构信息是要插入的元素的结构和父元素的名称。该元素的兄弟元素的顺序和名称仅在运行时在XSD中可用。从更高的层次来看,我会说任务可以通过以下步骤完成:解析xml构建文档树根据给定的XSD确定插入元素的正确位置()插入元素将文档写成xml问题是第2步。我发现了一个类似的问题,要求解决该步骤:HowtoloadXMLtagsorderfromXSDwithJava?但这个问题没有答

xml - 与将 <complexType> 从一个 XSD 扩展到另一个 XSD 相关的查询

假设我在standard.xsd文件中有一段代码,Name现在我有另一个XSD文件,它包含上面的文件并向上面的complexTypeStdBasicTags添加了一些额外的元素文件名为fullStandard.xsd,我扩展StdBasicTags的方式如下:................Lastname我有以下疑问,我正在使用获得许可的AltovaXmlSpy工具为fullStandard.xsd文件生成示例xml,但我只能看到Name元素,而看不到Surname元素预期的。谁能告诉我可能的原因是什么,我错过了什么?我必须提供另一个名称,即FullStdBasicTags,用于扩展