::= char*
::= [http://www.w3.org/TR/xml#NT-Char]
Values are stored and returned using the capitalization and punctuation provided.
(@WALT 'Walt Disney') ⇒ 'Walt Disney'
(@WALT "Walt Disney") ⇒ "Walt Disney"
(@WALT « Walt Disney ») ⇒ « Walt Disney »
(@WALT (Walt Disney)) ⇒ (Walt Disney)
(@WALT [Walt Disney]) ⇒ [Walt Disney]
(@WALT Disney, Walt) ⇒ Disney, Walt
(@WALT Walt Disney) ⇒ Walt Disney
(@WALT :locator DISNEY:WALT) ⇒ DISNEY:WALT
(@p1 (@WALT)'s Birthday)) ⇒ Walt Disney's Birthday
In order to support international alphabets and grammar, MSL expressions always return the exact values they were given, regardless of internal or surrounding punctuation.
(@p1 Do you speak English?) ⇒ Do you speak English?
(@p2 « Est-ce que tu parles français ? ») ⇒ « Est-ce que tu parles français ? »
(@p3 Oye, ¿Haya alquien que habla español?) ⇒ Oye, ¿Haya alquien que habla español?
(@p4 Ĉu estas eĥoŝanĝo ĉiuĵaŭde?) ⇒ Ĉu estas eĥoŝanĝo ĉiuĵaŭde?
Viewer applications can modify incoming text, whether typed or recast from other documents, to conform to the rules for a particular language. The examples show the difference between spacing before a question mark in English vs. French and the adjacent "upside down" question mark required in Spanish. In all cases, the hybrid database returns the exact values supplied in the atom.
When an atom contains an embedded atom as part of its value, the embedded atom's value fully replaces the position of the embedded atom in the surrounding text.
(@p4 I heard her say in Spanish, "(@p3)") ⇒ I heard her say in Spanish, "Oye, ¿Haya alquien que habla español?"
(@p5 Employee: (@empl-1 :name), Hired (@empl-1 :hired).) ⇒ Employee: Mickey Mouse, Hired 11/18/1928.