Reason (XmlParseError property): Difference between revisions
m (match syntax table to syntax template, tags and edits) |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{Template:XmlParseError:Reason subtitle}} | {{Template:XmlParseError:Reason subtitle}} | ||
This | This <var>[[Classes and Objects#readWrite|ReadOnly]]</var> property returns an <var>XmlParseErrorReason</var> enumeration value that describes the error that caused the <var>[[XmlParseError_class|XmlParseError]]</var>exception. | ||
==Syntax== | ==Syntax== |
Revision as of 16:26, 5 May 2011
Enumerated cause of the exception (XmlParseError class) This ReadOnly property returns an XmlParseErrorReason enumeration value that describes the error that caused the XmlParseErrorexception.
Syntax
%xmlParseErrorReason = xmlParseError:Reason
Syntax terms
%reason | This XmlParseErrorReason enumeration value describes the parsing error. |
---|---|
xmlParsError | A reference to an instance of a XmlParseError object. |
Usage notes
- An XmlParseErrorReason enumeration may have one of the following values, each of which is demonstrated in the examples below.
- InvalidUnicodeCharacter
- The Unicode input contains an invalid character.
- InvalidUTF8Encoding
- The input UTF8 stream is invalid.
- InvalidUTF16Encoding
- The input UTF16 stream is invalid.
- SyntaxError
- A violation of the syntax of an XML document.
- UntranslatableEBCDIC
- The EBCDIC input contains a character that is not translatable to Unicode.
- UntranslatableISOn
- The ISO-8859-n input contains a character that is not translatable to Unicode.
- UntranslatableUnicode
- The Unicode input contains a character that is not translatable to EBCDIC.
This exception can be avoided using the
AllowUntranslatable
option of the deserialization method.
Example
-
The following template is used to apply the LoadXml deserialization method to a series of test input-string values to demonstrate the XmlParseError exception output:
try printText {~}: {%d:LoadXml(&'italic(input-string))} catch XmlParseError to %err print ' ' print 'Error Reason:' And %err:Reason:ToString print 'Error Description:' And %err:Description print 'Error Character Position:' And %err:CharacterPosition print 'Error Input Hex Value:' And %err:InputHexValue print ' - - -' end try
- When called with:
%d:LoadXml('<a>'):
The results are:
Error Reason: SyntaxError Error Description: XML doc parse error: missing ETag for top level element near or before position 4 (end of input) Error Character Position: 4 Error Input Hex Value: - - -
- When called with:
%d:LoadXml('<' With 'FF':X With '>')
The results are:
Error Reason: UntranslatableEBCDIC Error Description: XML doc parse error: EBCDIC character not translatable to Unicode near or before position 3 Error Character Position: 3 Error Input Hex Value: FF - - -
- When called with:
%d:LoadXml('<a>&#x2122;</a>':U)
The results are:
Error Reason: UntranslatableUnicode Error Description: XML doc parse error: invalid Unicode character - not translatable to EBCDIC near or before position 5 Error Character Position: 5 Error Input Hex Value: 2122 - - -
- When called with:
%d:LoadXml('FEFF003C33':X)
The results are:
Error Reason: InvalidUTF16Encoding Error Description: XML doc parse error: expecting additional byte of UTF-16 encoding near or before position 2 (end of input) Error Character Position: 2 Error Input Hex Value: 33 - - -
- When called with:
%d:LoadXml('FEFFD800':X)
The results are:
Error Reason: InvalidUnicodeCharacter Error Description: XML doc parse error: surrogate point in UTF-16 input near or before position 1 Error Character Position: 1 Error Input Hex Value: D800 - - -
- When called with:
%d:LoadXml('C181':X)
The results are:
Error Reason: InvalidUTF8Encoding Error Description: XML doc parse error: byte 1 of 2 too low in UTF-8 encoding near or before position 2 Error Character Position: 2 Error Input Hex Value: C181 - - -
- When called with:
%d:LoadXml('FF818256':X)
The results are:
Error Reason: InvalidUTF8Encoding Error Description: XML doc parse error: attempt to use 4-byte UTF-8 encoding of surrogate point near or before position 2 Error Character Position: 2 Error Input Hex Value: FF - - -
- When called with:
%d:LoadXml('EDA080':X)
The results are:
Error Reason: InvalidUnicodeCharacter Error Description: XML doc parse error: invalid Unicode character (surrogate range) near or before position 2 Error Character Position: 2 Error Input Hex Value: EDA080 - - -
- When called with: