[x3d-public] agreement on number of \\\\\\\\ in Java???? X3DJSAIL.
Michalis Kamburelis
michalis.kambi at gmail.com
Fri Jul 28 21:25:03 PDT 2017
2017-07-29 5:39 GMT+02:00 John Carlson <yottzumm at gmail.com>:
> I woul not say that
>
> "String "with some quotes inside""
>
> is a valid SFString in XML.
>
> However,
>
> "String "with some quotes inside""
>
> is valid.
>
You refer to the end of my "corrections text" on
http://web3d.org/pipermail/x3d-public_web3d.org/2017-May/006690.html .
This part was unfortunately mangled by the mailing list software
(mailman).
In my original message I used " , not ", in many places,
including the one you point to. I'm attaching the proper version to
this mail, it's the same as I attached to my mail "[x3d-public]
Backslashes in X3D XML in SFString".
Regards,
Michalis
-------------- next part --------------
The proposed change to the specification (all to the section
http://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/EncodingOfFields.html#SFString
) would be to change this part:
"""""""
The MFString specifies zero or more SFStrings enclosed in single
quotes (e.g., '"string1" "string2"').
NOTE The construct
"string3"
is not a valid instance of an MFString. Such an MFString would be
properly specified as
'"string3"'
"""""""
into this:
"""""""
The MFString specifies zero or more SFStrings, with each single
string enclosed in double quotes (e.g., "string1" "string2"). Note
that inside an XML attribute, you have to express a double quote using
the " character entity, unless you enclose a whole XML attribute
in single quotes.
NOTE The construct
"string3"
is not a valid instance of an MFString. Such an MFString would be
properly specified as
'"string3"'
or
'"string3"'
or
""string3""
"""""""
------------------------------------------------------------------------------
For additional clarity, I would also add more prose and examples to
explain when backslashes are needed. So I would change
"""""""
EXAMPLE 2 Two instances of the double quote are contained in the
following SFString field string:
<Text string='"He said, \"Immel did it!\""' />
"""""""
with this:
"""""""
If a string is part of an MFString, and you want this string to
contain a double-quote (for example, to actually show a double-quote
using the Text node field "string") then you have to place a backslash
before this double-quote. This rule applies regardless if you express
double-quote as " or as " . This is necessary, to avoid treating
the double-quote as a delimiter of strings on a MFString list.
Consequently, if you want a string inside MFString to contain a
backslash (for example, to actually show a backslash using the Text
node field "string") then you have to write two backslashes. This is
necessary, to avoid accidentally changing the meaning of a following
double-quote character.
EXAMPLE 2 All the following forms are correct and equivalent:
<Text string='"He said, \"Immel did it!\""' />
<Text string='"He said, \"Immel did it!\""' />
<Text string='"He said, \"Immel did it!\""' />
<Text string=""He said, \"Immel did it!\""" />
"""""""
------------------------------------------------------------------------------
""""
SFString specifies a single string encoded as a sequence of UTF-8
octets enclosed in double quotes (e.g., "string").
""""
could be changed to
""""
SFString specifies a single string encoded as a sequence of UTF-8
octets. It is simply the value of an XML attribute. As such, following
XML rules, it can be surrounded either in single-quotes (apostrophes)
or double quotes.
The following examples of an SFString are all valid:
"string"
'string'
"string "with some quotes inside""
'string "with some quotes inside"'
'string "with some quotes inside"'
""""
More information about the x3d-public
mailing list