- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 oXygen XML Editor 16.1,使用 SaxonEE set for XML Schema 1.1 进行这些测试。
我想确保 complexType 中作为基本 complexType 限制的元素具有相同数量的枚举。 (代码如下)
示例 complexType(帖子底部)应该无法通过此断言:
<xs:assert test="count(//xs:element[@name='id-name']//xs:enumeration)
eq count(//xs:element[@name='issuer']//xs:enumeration)
and
count(//xs:element[@name='issuer']//xs:enumeration)
eq count(//xs:element[@name='assignor']//xs:enumeration)"></xs:assert>
count(//xs:element[@name='id-name']//xs:enumeration)
eq count(//xs:element[@name='issuer']//xs:enumeration) and
count(//xs:element[@name='issuer']//xs:enumeration)
eq count(//xs:element[@name='assignor']//xs:enumeration)
<xs:complexType name='mytype' xml:lang='en-US'>
<xs:complexContent>
<xs:restriction base='myBaseType'>
<xs:sequence>
<xs:element maxOccurs='1' minOccurs='1' name='id-name'>
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:enumeration value='URI'></xs:enumeration>
<xs:enumeration value='ID Number'></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs='1' minOccurs='1' name='issuer'>
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:enumeration value='Owner'/>
<xs:enumeration value='Owner'/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs='1' minOccurs='1' name='assignor'>
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:enumeration value='Owner'/>
<xs:enumeration value='Owner'/>
<xs:enumeration value='Owner'/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="myBaseType">
<xs:complexContent>
<xs:extension base="someType">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="id-name" type="xs:string"></xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="issuer" type="xs:string"></xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="assignor" type="xs:string"></xs:element>
</xs:sequence>
<xs:assert test="count(//xs:element[@name='id-name']//xs:enumeration) eq count(//xs:element[@name='issuer']//xs:enumeration) and
count(//xs:element[@name='issuer']//xs:enumeration) eq count(//xs:element[@name='assignor']//xs:enumeration)
"></xs:assert>
</xs:extension>
</xs:complexContent>
最佳答案
正如您在问题末尾所预期的那样,断言的范围是由 XSD 管理的 XML 文档实例,而不是 XSD 本身。如果您希望对 XSD 本身进行断言,则必须创建一个 meta-xsd,将原始 XSD 视为 XML 文档。
您可以从 XML Schema schema 开始.但是,您应该考虑使用 Schematron断言,这对于选择性地执行约束可能会更好。我使用过 XSD 上的 Schematron 来强制执行组织约定,并发现它是一种检查已采用策略的合规性的可行方法。
根据 OP 评论更新
'If you wish to make assertions about the XSD itself, you'd have to create a meta-xsd that treated the original XSD as an XML document' -- Yes, that is what I did.
xsd:include
引入的单独 XSD什么都没有改变;它仍然只是域 XSD,而不是域 XSD 的元 XSD。我说的是你必须有一个元 XSD,这意味着一个单独的 XSD 可以验证你的域 XSD。您低估了此类任务所涉及的复杂性。如果您不是从 XML Schema 模式开始,那么您就没有意识到元 XSD 必须做什么。
I really prefer to not use schematron, if this can be done with XSD 1.1 then why add another element of complexity?
关于xml - Xpath 结果与 xs :assert result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29151087/
“用 Haskell 进行函数式思考”中的练习之一是使用融合定律使程序更加高效。我在尝试复制答案时遇到了一些麻烦。 部分计算要求您将 maximum (xs++ map (x+) xs) 转换为 ma
我正在使用 XML 规范,它定义了一个“类型”“日期”,即: date: A union of xs:date, xs:gYearMonth, xs:gYear 以上数据类型来自W3C XML Sch
我很好奇替换是否正确 ... ... 与 ... ... 用javascript? 我所需要的只是隐藏第二个 div 并正确地通过 javascript 显示第一个 div 的 100%。实际完成的操
我有以下定义 Inductive subseq : list nat -> list nat -> Prop := | empty_subseq : subseq [] [] | add_right
可以在 xs:sequence 中使用 xs:choice 元素, ... 但不在 xs:all 内。这是为什么?这在解析 xml 时会产生一些歧义吗? 最佳答案 这只能由 XML Sch
我有一个场景,我需要一个 xsd,用于验证一些没有共同点的 xml。例如, xml1: .. .. .. xml2: .. .. 我需要一个通用的 xsd,以便验证具有“require
我必须与 WSDL 包含以下复杂类型的 Web 服务通信:
本文整理了Java中org.geotools.xs.XS.getInstance()方法的一些代码示例,展示了XS.getInstance()的具体用法。这些代码示例主要来源于Github/Stack
我正在尝试使用 HANA XS Javascript 实现简单的产品目录。目录的页面应该在服务器端呈现。 如何根据从 HANA 数据库读取的数据处理“动态”URL?例如,http:///myapp/s
当前在 Talend 上运行代码并抛出此错误 net.sf.saxon.trans.XPathException: Cannot compare xs:string to xs:integer at
split :: [a] -> Int -> ([a], [a]) split [xs] n = (take n [xs], drop n [xs]) 如果我将变量指定为 xs 而不是 [xs
免责声明:在 perlmonks 询问. 我希望我正确地描述和描述了我的问题......在 XS 中,我试图将回调发送到外部库的函数,其中回调具有 Perl 特定的函数。 XSUB 作为函数指针传递给
我对 XML Schema 还是有点陌生,我正在尝试在 Relax NG Compact 中做一些看起来像这样的事情: test = element test{ element A {text},
我有一个类似于以下的文档类型: abc true abc 以下文档在语义上与前面的文档相同: true abc
我正在尝试使用 xs:choice 元素,但是在验证 XSD 文件时,我收到一个错误,我认为它与 xs:choice 元素有关。我已经搜索了很多这个问题,找到了一些类似的问题,但没有一个给我我正在寻找
我想定义一个复杂类型,其中包含可能存在或不存在的元素,并且还允许其他未定义的元素,所以我有这样的东西: 我不想使用 强制执行订单所以我想改变至 但随后 不允许。有
如果 Reverse :: [k] -> [k]是一个类型族,那么 Haskell 无法判断 (Reverse (Reverse xs)) ~ xs .有没有办法让类型系统知道这一点而无需任何运行时成
我已经开始创建 XSD,并在 xs:integer 和 xs:int 的几个示例中找到了。 xs:integer 和 xs:int 之间有什么区别?我什么时候应该使用xs:integer?我什么时候应
我正在使用 Apache CXF 从 java 类创建自下而上的 Web 服务 在 java 类中,我将 java.util.Date 和 java.util.Calendar 用于两个字段 当 WS
我正在使用 Bootstrap 3 设计一个网站。我遇到过网格系统没有按预期工作的情况。 我试图将类设置为 visible-xs-6 col-xs-offset-3 最后一行中的 HTML5 Logo
我是一名优秀的程序员,十分优秀!