是否可以使用XML架构来限制嵌套在父元素中的子元素的深度?这里的上下文是我从管理系统收集警报,我想提供一个XML文档,允许最终用户定义一些规则,以便将警报过滤到UI中的文件夹中。我想将嵌套文件夹的深度限制为3,这样最终用户就无法嵌套数百层深度-因为过滤到这么多层最终会导致应用程序崩溃。我可以编写一些代码来处理这个问题,但如果可能的话,在模式中定义它似乎是合适的。例如,这样就可以了:这将是无效的,因为文件夹5太深了。我的架构看起来像这样,但它不限制上面代码片段的深度。非常感谢任何指点! 最佳答案 XMLSchema中没有一个漂亮而简单
我想自动验证XSD架构是否正确。是否有JavaAPI或Í可以自动调用的东西? 最佳答案 超短答案:http://download.oracle.com/javase/1.5.0/docs/api/javax/xml/validation/package-summary.html 关于java-使用Java验证XSD,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3653128/
我要让上面的等式成立!我有一个带有XSD模式的XML文件,我需要获取具有解析XML文件和构造Java对象所需代码的Java类。我在这里询问一个标准(或事实上像apache)实用程序来使上述请求成真....JAXB可以做到这一点吗?谢谢。 最佳答案 听起来像你想要的JAX-B,JavaXML到对象的绑定(bind)API。 关于java-XML+XSD=>Java?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo
假设您有一个代表.xsd文档中的类型的QName。我怎样才能找到它将解码到的类的名称?例如,我有一个QName:{http://www.domain.com/service/things.xsd}customer这被解码为com.domain.service.things.Customer。有没有一种方法可以在不解析QName字符串表示的情况下执行此操作?编辑:我已经定义了一些用于创建Java类的.xsd。我想根据在HTML表单上作为字符串传入的QName动态选择这些Java类之一。编辑2:由于这些类的名称是自动生成的,因此必须有一个方法从QName生成它们的名称。
我需要解决以下问题。//伪算法你有四个元素:elm1、elm2、elm3、elm4elm1出现0-2次elm2出现0-1次elm3出现0-n次elm4出现0-n次它们可以以任何方式排序,但只限于给定的数量。//伪结束这似乎是顺序和选择的结合,但两个指标都有一个特点,那就是不允许我做出我想要的行为。样本:榆树4榆树1榆树2榆树1榆树3榆树3榆树3榆树4请在我发疯之前救救我:)克里斯 最佳答案 如果您的n值不太大并且您很绝望,您可以制作一个内容模型来解释所有可能的组合,但它会呈指数级增长。最好的解决方案是使用支持XMLSchema1.1
我正在尝试创建一个XML架构,其中许多类型共享一些“魔数(MagicNumber)”。如果/当这些魔数(MagicNumber)发生变化时,我不想在多个位置更改我的模式,而是想将它们拉出到某种常量定义中。我尝试过将DTD添加到我的模式并在此处声明一些实体。但我绝不是DTD方面的专家,虽然它似乎可以在使用该架构的C#应用程序中工作,但也有一个本地Win32应用程序使用与msxml4.0相同的架构,这会爆炸......有没有人有以这种方式扩展模式定义的经验(可以做到),还是有更好的方法?(编辑:一个例子)示例XML:]>加载模式的DelphiWin32代码示例:varXmlSchemas:
我有三个不同的XML元素,它们有一些共同的标签。例如:人有姓名、年龄、性别然后我有经理、员工,它们将共享人员拥有的三个字段以及经理、员工特定字段,如managerNo、employeeNo等。我可以在xsd中写一些像这样的东西吗:1。声明Person元素PersonRequest使用上面的Person声明并扩展Manager元素:(只是我正在寻找的想法)实际上,我试图按照Java(面向对象)继承来模仿我的模式定义,例如:publicclassPerson{Stringname;intage;//gettersandsettersforabovevariablesgohere}然后做:p
我需要根据模式验证xml文件的一小段。本质上,我想问的问题是“XML文档Y中的元素X是否符合模式Z中定义的类型?”如果没有收到说明原因的消息。这还必须考虑对这些类型的限制(例如maxLength、minInclusive)。这可能吗? 最佳答案 我不知道如何从C#执行此操作,但在XQuery或XSLT2.0中很容易完成。在XSLT2.0中是:在XQuery中是validatestrict{doc('doc.xml')//selected/element}您所需要的只是一个在您选择的环境中运行的模式感知XQuery或XSLT2.0处理
Section3.2.3.2W3CXMLSchema建议的定义规定,如果属性定义中同时存在“default”和“use”,则“use”必须具有实际值“optional”。我不明白为什么。xs:attributename="..."type="..."use="required"default="xy"这样的东西有什么不好?我如何建模类似“属性不能丢失且默认值为“xy”的东西? 最佳答案 当use="required"时将永远不会使用默认值,因此是多余的。这在概念上并没有错,只是没用。 关
我想从SQL语句中选择分配给SQLServer数据库中xml列的xml模式。我被卡住了,我查看了information_schema.columns没有运气,我只能改变它。在ManagementStudio中,在XmlTypeSpecification下的列属性中,我可以设置(方案集合)我想简单地从SQL语句中选择它。感谢您的帮助。 最佳答案 像这样的东西应该可以做到。selectC2.namefromsys.columnsasC1innerjoinsys.xml_schema_collectionsasC2onC1.xml_col