View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002750||JEDI VCL||00 JVCL Components||public||2005-03-13 04:55||2005-10-19 15:37|
|Product Version||3.00 BETA 2|
|Target Version||Fixed in Version||3.10|
|Summary||0002750: FormStorage XML is not valid.|
|Description||From the newsgroup:|
The line in JvAppXMLFileStorage seems not a valid XML. The characters "(" and ")" should not use as a Node name.
-- Samson Fu
|Additional Information||According to http://www.w3.org/TR/REC-xml/ a starttag (STag) can not have "(" and ")" chars.|
 Name ::= (Letter | '_' | ':') (NameChar)*
 STag ::= '<' Name (S Attribute)* S? '>'
Letter and NameChar do not contain "(" and ")" chars.
Maybe an attribute can be used, for example:
|Tags||No tags attached.|
No, I think the (, ) and all other non-tag name characters should be translated to something else. The attribute is not an option, since it deviates from other backends.
The problem is that FormStorage provides the names; the backend should check and translate names if they contain invalid character for that backend. Now, the question is, how are we going to handle this? If all disallowed characters are translated to one and the same character, it's only going to work one way (which would suffice in 99% of the usages, since the same translation will be performed in a call to the Read method).
||It's the TJvAppXMLStorage that should be changed, maybe the WhiteSpaceReplacement must be renamed / changed.|
I vote for translating disallowed characters to one and the same character.
'_' or ':' should be preferred, because they are the only non-letter characters that can be at the beginning of a Name.
||Do not use a colon; it's used to denote a namespace, and even though TJvSimpleXML probably does nothing with them, you'd be generating invalid XML files.|
The Namespaces in XML Recommendation [XML Names] assigns a meaning to names containing colon characters. Therefore, authors should not use the colon in XML names except for namespace purposes, but XML processors must accept the colon as a name character.
The question is how!
Should we use the existing "WhiteSpaceReplacement"? Should we enhance it, add an addtional property? What's the best way???
IMHO a prop. named InvalidCharReplacement(defaultly '_') would be better. Or InvalidCharReplacementInNodes, more descriptive(indeed too much :))
Anyway it is better than reusing WhiteSpaceReplacement.
There is now a new property InvalidCharReplacement
Waiting now for comments.
Reminder sent to: remkobonte
I know this list is not for searching people stuff...but iÂ´m desparated behind Samson Fu, author of the TStreenSpy component that uses the unit BufferUDP.pas. I just want to know if anybody has this unit or has the email of the author or anything that helps me out.
Sorry for the bad english, its not my native language.
Thank you very much!
|2005-03-13 04:55||remkobonte||New Issue|
|2005-03-13 05:29||marcelb||Note Added: 0006692|
|2005-03-17 12:53||jfudickar||Note Added: 0006721|
|2005-04-01 13:27||remkobonte||Note Added: 0006829|
|2005-04-01 13:33||marcelb||Note Added: 0006830|
|2005-04-01 13:56||remkobonte||Note Added: 0006834|
|2005-04-02 06:47||jfudickar||Note Added: 0006837|
|2005-04-06 10:39||anonymous||Note Added: 0006853|
|2005-04-12 01:59||obones||Status||new => assigned|
|2005-04-12 01:59||obones||Assigned To||=> obones|
|2005-05-26 07:50||obones||Relationship added||parent of 0002995|
|2005-05-26 07:50||obones||Relationship replaced||has duplicate 0002995|
|2005-07-24 10:16||jfudickar||Note Added: 0007601|
|2005-07-24 10:16||jfudickar||Assigned To||obones => jfudickar|
|2005-07-24 10:16||jfudickar||Status||assigned => feedback|
|2005-08-19 14:08||marcodelphi||Note Added: 0007817|
|2005-10-19 15:37||jfudickar||Status||feedback => resolved|
|2005-10-19 15:37||jfudickar||Resolution||open => fixed|