2010-04-10 13 views
5

Ich bin eine XML-Datei gegen eine XSD Parsen einige regex Muster verwendet zur Überprüfung Eingangsdaten enthält, aber nur diese Regex einen Fehler erzeugt, auch wenn es in das Eclipse-XSD-Plugin passiert:XML Validieren XSD mit mit RegexMuster

InvalidRegex: Pattern value 
    '(((com|org)\.)+(\b[a-z]+[.]{1}\b)+)?[A-Z]{1}[A-Za-z]+' 
    is not a valid regular expression. The reported error was: 
    'This expression is not supported in the current option setting.'. 

Also selbst wenn das Problem durch die \ b Grenze verursacht wird, die ich sicher entfernen kann, mit SAX Validator wo finde ich die fatale "aktuelle Option Einstellung"?

+0

Wo ist Ihr XML, damit wir den Kontext sehen können, in dem diese Einschränkung einen Fehler erzeugt? –

+0

Beachten Sie, dass '{1}' weggelassen werden kann. –

+1

Tnx zur Fixierung des Reduktionsmittels {1}. Zur Zeit ist es kein Problem mehr, weil ich gelöst habe, als ich bemerkte, dass das Entfernen des "\ b ... \ b" es ohne Fehler funktioniert. Aber jetzt bin ich neugierig zu wissen, wo ich die erwähnte "Option Einstellung" einstellen kann, es könnte nützlich sein zu wissen, wo diese versteckten Einstellungen zu manipulieren sind. –

Antwort

2

\b wird nicht von der XML Schema Regex Geschmack wie specified von der W3C unterstützt. Die Fehlernachricht besagt, dass Sie sie trotzdem verwenden können, indem Sie eine Einstellung ändern, aber dann würden Sie eine nicht standardmäßige Funktion verwenden, die den Zweck der Verwendung von XML zunichte machen würde.

Ich bin nicht sicher, dass das ist, was die Fehlermeldung wirklich bedeutet, aber es wäre hilfreicher gewesen, wenn es nur die Regex war ungültig war. Tun Sie sich einen Gefallen und vergessen Sie die Verwendung von \b in Ihren XSDs. Und checken Sie den Rest der regular-expressions.info Website aus, wenn Sie es nicht bereits getan haben - es ist eine großartige Ressource.

Verwandte Themen