Schematron验证C#

时间:2015-08-18 12:01:45

标签: c# schematron

我正在尝试使用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库中。

1 个答案:

答案 0 :(得分:-1)

我遇到了xml这个问题,其中有自定义命名空间,尝试从xml中删除它