J'ai ce morceau de code qui valide XML contre XSDvalidation Xml contre les personnages xsd et CRLF
public void Validate()
{
XDocument xdoc = XDocument.Load("XML path");
var schemas = new XmlSchemaSet();
schemas.Add(null, "XSD path");
xdoc.Validate(schemas, ValidationCallBack);
}
private void ValidationCallBack(object sender, ValidationEventArgs args)
{
if (args.Severity != XmlSeverityType.Error)
return;
throw new XmlSchemaValidationException(args.Message);
}
Si j'ai dans le xsd un élément avec le type de chaîne et a motif ([^ \ t \ r \ n] *) et la balise de valeur xml est
<tagname> There is LF character here
</tagname>
Il passe de validation mais la valeur de la balise a le caractère de fuite 'LF' seulement. Comment devrait-il être invalide et échoue dans la validation XML? Notez que je ne peux pas modifier dans le xsd
Y at-il un moyen efficace de vérifier s'il y a un caractère 'CR'? – Sumthg
Vous pouvez uniquement effectuer cette vérification sur le document non analysé. Mais pourquoi voudriez-vous, puisque la spécification XML indique que les caractères CR sont ignorés de toute façon? –
@MichaelKay vérifier le poste est modifié pour plus de clarification – Sumthg