|
@@ -130,7 +130,7 @@ end;
|
|
---------------------------------------------------------------------}
|
|
---------------------------------------------------------------------}
|
|
|
|
|
|
const
|
|
const
|
|
- AttrSpecialChars = ['<', '"', '&', #9, #10, #13];
|
|
|
|
|
|
+ AttrSpecialChars = ['<', '>', '"', '&', #9, #10, #13];
|
|
TextSpecialChars = ['<', '>', '&', #10, #13];
|
|
TextSpecialChars = ['<', '>', '&', #10, #13];
|
|
CDSectSpecialChars = [']'];
|
|
CDSectSpecialChars = [']'];
|
|
LineEndingChars = [#13, #10];
|
|
LineEndingChars = [#13, #10];
|
|
@@ -312,6 +312,12 @@ begin
|
|
'"': Sender.wrtStr(QuotStr);
|
|
'"': Sender.wrtStr(QuotStr);
|
|
'&': Sender.wrtStr(AmpStr);
|
|
'&': Sender.wrtStr(AmpStr);
|
|
'<': Sender.wrtStr(ltStr);
|
|
'<': Sender.wrtStr(ltStr);
|
|
|
|
+ // This is *only* to interoperate with broken parsers out there,
|
|
|
|
+ // Delphi ClientDataset parser being one of them.
|
|
|
|
+ '>': if not Sender.FCanonical then
|
|
|
|
+ Sender.wrtStr(gtStr)
|
|
|
|
+ else
|
|
|
|
+ Sender.wrtChr('>');
|
|
// Escape whitespace using CharRefs to be consistent with W3 spec § 3.3.3
|
|
// Escape whitespace using CharRefs to be consistent with W3 spec § 3.3.3
|
|
#9: Sender.wrtStr('	');
|
|
#9: Sender.wrtStr('	');
|
|
#10: Sender.wrtStr('
');
|
|
#10: Sender.wrtStr('
');
|