首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XML Schematron验证

XML Schematron验证
EN

Stack Overflow用户
提问于 2013-08-14 21:29:59
回答 1查看 660关注 0票数 0

此xml文件

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<root>
  <a>Only Text</a>
  <a>
    <b>Child node</b>
  </a>
  <a>
    <b>Child node</b>
    Mixed content
  </a>
</root>

和这个xsd文件

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<iso:schema xmlns:iso="http://purl.oclc.org/dsdl/schematron">
  <iso:pattern id="children tests">
    <iso:rule context="a">
      <iso:assert test="empty(child::node())">
        Element has nodes
      </iso:assert>
      <iso:assert test="empty(child::*)">
        Element has child elements
      </iso:assert>
      <iso:assert test="empty(child::text())">
        Element has text
      </iso:assert>
      <iso:report test="child::text() and empty(child::*)">
        Element has only text
      </iso:report>
    </iso:rule>
  </iso:pattern>
</iso:schema>

这段代码

代码语言:javascript
复制
  Validator validator = new Validator();
                //validator.XmlSchemas.Add("", @"C:\project\Schematron\ConsoleApplication2\shematron\pdfdogschematron.sch");
                validator.AddSchema(@"C:\project\Schematron\ConsoleApplication2\shematron\book.xsd");
                IXPathNavigable a = validator.Validate(new XmlTextReader(@"C:\project\Schematron\ConsoleApplication2\shematron\dog.xml"));

我正在使用NMatrix.Schematron验证器,但它不是correctly.The方法,总是不例外。

EN

回答 1

Stack Overflow用户

发布于 2014-05-17 04:39:04

我可以建议的第一个问题是,您正在使用NMatrix.Schematron,它是一个原生的.NET Schematron 1.5验证器。它不支持ISO schematron。我建议您使用XRouter SchemaTron (可用here)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18233135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档