xs:whitespace

(Auszug aus "XML Schema" von Eric van der Vlist)

Facette zur Festlegung des Whitespace-Verhaltens.

<xs:whitespace
      fixed = xs:boolean : "false"
      id = xs:ID
      value = ( "preserve" | "replace" | "collapse" )
      {beliebige Attribute mit einem Nicht-Schema-Namensraum}
      >
      Content: (xs:annotation?)
</xs:whitespace>

Kann auftreten innerhalb von: xs:restriction (einfacher Typ), xs:restriction (einfacher Inhalt)

Kann als Facette verwendet werden für: xs:ENTITIES, xs:ENTITY, xs:ID, xs:IDREF, xs:IDREFS, xs:language, xs:Name, xs:NCName, xs:NMTOKEN, xs:NMTOKENS, xs:normalizedString, xs:string, xs:token

Beschreibung

Diese Facette legt fest, wie Whitespace – d.h. #x20 (Leerzeichen), #x9 (Tabulator), #xA (Linefeed) und #xD (Carriage Return) – während der Transformation vom lexikalischen in den Werteraum behandelt werden soll.

Die möglichen Werte sind preserve (Whitespace-Zeichen werden unverändert beibehalten), replace (alle Vorkommen von Whitespace werden durch ein Leerzeichen ersetzt) und collapse (am Anfang und am Ende stehender Whitespace wird entfernt, alle anderen Folgen von zusammenhängendem Whitespace werden durch ein einzelnes Leerzeichen ersetzt).

Einschränkungen

Dies ist die einzige Facette (bzw. Bestandteil von W3C XML Schema), die die Kanonisierungstransformation beeinflußt.

Es ist nicht möglich, das Whitespace-Verhalten während einer Einschränkung zu lockern: Wenn für einen Datentyp der Whitespace-Wert auf preserve gesetzt ist, können die von ihm abgeleiteten Datentypen beliebiges Whitespace-Verhalten haben; wenn der Wert jedoch replace ist, können sie nur noch Whitespace-Werte von replace oder collapse haben. Lautet der Wert collapse, müssen alle von ihm abgeleiteten Datentypen dasselbe Verhalten haben.

Diese Begrenzung ist leicht paradox, da sie tatsächlich die Erweiterung des lexikalischen Raums eines Datentyps während einer Ableitung durch Einschränkung erlaubt.

Beispiel

<xs:simpleType name="CapitalizedNameWS">
   <xs:restriction base="xs:string">
      <xs:whitespace value="collapse"/>
      <xs:pattern value="([A-Z]([a-z]*) ?)+"/>
   </xs:restriction>
</xs:simpleType>

Attribute

fixed
Wenn der Wert true ist, kann der Wert dieser Facette bei weiteren Einschränkungen nicht mehr geändert werden.

id
Element-ID laut W3C XML Schema.

value
Wert der Facette.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML Schema bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2003 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML Schema" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de