Мне нужно выполнить проверку Schematron для файлов XML
. Я много гуглил, и самое близкое, к чему я пришел, это использовать пакет Schematron , как описано здесь :
public static bool SchemaTronValidation(string xml, string xsl)
{
//Create schema and validator
var xslStream = new MemoryStream(Encoding.UTF8.GetBytes(xsl ?? ""));
Schema schematronSchema = new Schema();
schematronSchema.Load(xslStream);
Validator validator = new Validator();
validator.AddSchema(schematronSchema);
//Validate
var xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xml ?? ""));
var res = validator.Validate(xmlStream); //fails here
return true;
}
При тестировании этого кода с действительными файлами XML
и XSL
происходит сбой при вызове Validate (xmlStream
) для валидатора. Это говорит, что Операция не разрешена, и я не уверен почему. Кто-нибудь знает больше о том, как проверить файлы Schematron в C#
? Я сбит с толку, что, похоже, не так уж много поддержки такого рода проверки.
Пример в документации Microsoft использует XSD, а не файлы XSL для схемы. Может ли это быть причиной того, что она не работает?