Hallo XML-Experten,
ich sitze seit Stunden an einem XML-Schema-Problem und weiß langsam nicht mehr weiter. Vielleicht kann mir ein netter Forumteilnehmer einen Tipp geben?
Ich benötige eine Typdefinition, die 1 bis 25 Unicode-Zeichen für ein Element zuläßt. Das habe ich wie folgt gelöst:
Jetzt mein Problem:
Das zu übertragende XML-Dokument darf kein einzelnes Leerzeichen in diesem Element beinhaltet, also kein .
Mein Ansatz:
Das erste Zeichen einschränken durch [^], also kein Space an erster Stelle.
ABER, dadurch ist es nun möglich, an erster Stelle ein nicht Unicode-Zeichen zu übertragen.
Anmerkung:
Serverseitig (durch Programmierung) soll das Problem nicht gelöst werden, sondern der Kunde soll nur valide/gültige Daten schicken.
Also, die Prüfung der XML-Dokumente soll VOR Übertragung der Daten kundenseitig erfolgen.
Ich würde mich sehr über einen Tipp freuen!!!
Gruß
Jürgen
Hallo Jürgen,
Ich benötige eine Typdefinition, die 1 bis 25 Unicode-Zeichen
für ein Element zuläßt. Das habe ich wie folgt gelöst:
das sind aber nicht beliebige Unicode-Zeichen, sondern nur die ersten 256 Stück.
Das zu übertragende XML-Dokument darf kein einzelnes
Leerzeichen in diesem Element beinhaltet, also kein
.
ABER, dadurch ist es nun möglich, an erster Stelle ein nicht
Unicode-Zeichen zu übertragen.
Falsch, es ist möglich, an erster Stelle jedes Unicode-Zeichen außer " " (#x0020) zu übertragen. Wie oben angedeutet scheint bei dir ein Missverständnis beim Begriff „Unicode-Zeichen“ zu bestehen. Ich nehme mal an, dass du eigentlich alle Zeichen mit Code-Points von #x0000 bis #x00ff zulassen willst außer #x0020.
Ich würde mich sehr über einen Tipp freuen!!!
Ich habe die Regular-Expression-Sprache von XML Schema lange nicht mehr benutzt, aber wenn ich mich recht erinnere und die Spezifikation richtig lese, kann man Zeichenklassen voneinander subtrahieren:
[\p{IsBasicLatin}\p{IsLatin-1Supplement}-[]][\p{IsBasicLatin}\p{IsLatin-1Supplement}]\*
Gruß,
Andreas
Hallo Andreas,
vielen vielen Dank für den Subtraktionstipp!
Der funktioniert BESTENS.
Die Unicode-Zeichen sind natürlich nur eingeschränkt, aber das war nicht das Problem. Ich wollte nur andeuten, dass die Zeichenbasis „nicht nur String“ ist. Das nächste mal beschreib ich es genauer.
Nochmals vielen Dank und Dir eine schöne vorweihnachtliche Zeit,
mein dritter Advent (ohne Gedanken an mein XML-Problem) ist jetzt gerettet 
Gruß Jürgen