0
이 XML 파일XML 스키마 트론 Validaton
<?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 파일
<?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>
및
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 항상 예외는 아닙니다.
Btw를 사용하는 것이 좋습니다.이 샘플의 출처는 다음과 같습니다. http://stackoverflow.com/questions/14651586/identify-xml-text-elements-with- schematron 어쩌면 당신은 거기에서 업데이트 된 규칙과 함께 Schematron 예외를 얻을 ... – Clemens