我正在尝试使用schematron验证CDA(xml)文档。我已经拥有了我需要的所有schematron文件(它们有扩展名.sch)。为验证我使用schematron.net的NMatrix.Schematron.Validator类
http://sourceforge.net/projects/dotnetopensrc/
这是我的代码:
class CDALetterValidator
{
private CDALetter cdaLetter;
private Validator validator;
private String file { get; set; }
IXPathNavigable result;
public CDALetterValidator(String fileName)
{
validator = new Validator();
validator.AddSchema(new XmlTextReader("C:/pathToSchFile"));
file = fileName;
result = new ValidationResult();
}
internal void validate()
{
while (!System.IO.File.Exists(file))
{
System.Threading.Thread.Sleep(300);
}
try
{
result = validator.Validate(new XmlTextReader(file));
}
catch (ValidationException ex)
{
Console.WriteLine(ex.Message);
}
}
}
正如我在调试时看到的那样,我的schematron文件被验证器类识别,但它验证不正确,因为我尝试使用xml文件,这当然无效,在这种情况下,预计会有例外情况。抛出但它不是。
有没有人有schematron.net的经验?甚至是一个想法出了什么问题? 顺便说一句:.sch文件肯定是正确的,所以错误在我的实现或schematron.net库中。
答案 0 :(得分:-1)
我遇到了xml这个问题,其中有自定义命名空间,尝试从xml中删除它