| 
				   | 
				
| (3 intermediate revisions by 2 users not shown) | 
| Line 1: | 
Line 1: | 
 | {{Template:XmlParseError:Reason subtitle}}
  |  | #REDIRECT [[XmlParseError class#Reason property|Reason property]]  | 
 | 
  |  | 
  | 
 | ==Syntax==
  |  | [[Category:XmlParseError methods|Reason property]]  | 
 | {{Template:XmlParseError:Reason syntax}}
  |  | 
 | ===Syntax terms===
  |  | 
 | <table class="syntaxTable">
  |  | 
 | <tr><th>%reason</th>
  |  | 
 | <td>This XmlParseErrorReason enumeration value describes the parsing error.
  |  | 
 | </td></tr>
  |  | 
 | <tr><th>%xmlParseErr</th>
  |  | 
 | <td>A reference to an instance of an XmlParseError object.
  |  | 
 | </td></tr></table>
  |  | 
 |    |  | 
 | ==Usage notes==
  |  | 
 | <ul>
  |  | 
 | <li>An XmlParseErrorReason enumeration may have one of the following values,
  |  | 
 | each of which is demonstrated in the [[#Example|example below]].
  |  | 
 | <dl>
  |  | 
 | <dt>InvalidUnicodeCharacter
  |  | 
 | <dd>The Unicode input contains an invalid character.
  |  | 
 | <dt>InvalidUTF8Encoding
  |  | 
 | <dd>The input UTF8 stream is invalid.
  |  | 
 | <dt>InvalidUTF16Encoding
  |  | 
 | <dd>The input UTF16 stream is invalid.
  |  | 
 | <dt>SyntaxError
  |  | 
 | <dd>A violation of the syntax of an XML document.
  |  | 
 | <dt>UntranslatableEBCDIC
  |  | 
 | <dd>The EBCDIC input contains a character that is not translatable to Unicode.
  |  | 
 | <dt>UntranslatableISOn
  |  | 
 | <dd>The ISO-8859-n input contains a character that is not translatable to Unicode.
  |  | 
 | <dt>UntranslatableUnicode
  |  | 
 | <dd>The Unicode input contains a character that is not translatable to EBCDIC.
  |  | 
 | This exception can be avoided using the <code>AllowUntranslatable</code>
  |  | 
 | option of the deserialization method.
  |  | 
 | </dl>
  |  | 
 | </ul>
  |  | 
 | ==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:
  |  | 
 | <p class="code"> 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
  |  | 
 | </p>
  |  | 
 |    |  | 
 | These are the results:
  |  | 
 | <p class="code"> '''%d:LoadXml('<a>'):'''
  |  | 
 |  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:
  |  | 
 |   - - -
  |  | 
 | </p>
  |  | 
 |    |  | 
 | <p class="code"> '''%d:LoadXml('<' With 'FF':X With '>')'''
  |  | 
 |  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
  |  | 
 |   - - -
  |  | 
 | </p>
  |  | 
 |    |  | 
 | <p class="code"> '''%d:LoadXml('<a>&amp;#x2122;</a>':U)'''
  |  | 
 |  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
  |  | 
 |   - - -
  |  | 
 | </p>
  |  | 
 |    |  | 
 | <p class="code"> '''%d:LoadXml('FEFF003C33':X)'''
  |  | 
 |  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
  |  | 
 |   - - -
  |  | 
 | </p>
  |  | 
 |    |  | 
 | <p class="code"> '''%d:LoadXml('FEFFD800':X)'''
  |  | 
 |  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
  |  | 
 |   - - -
  |  | 
 | </p>
  |  | 
 |    |  | 
 | <p class="code"> '''%d:LoadXml('C181':X)'''
  |  | 
 |  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
  |  | 
 |   - - -
  |  | 
 | </p>
  |  | 
 |    |  | 
 | <p class="code"> '''%d:LoadXml('FF818256':X)'''
  |  | 
 |  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
  |  | 
 |   - - -
  |  | 
 | </p>
  |  | 
 |    |  | 
 | <p class="code"> '''%d:LoadXml('EDA080':X)'''
  |  | 
 |  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
  |  | 
 |   - - -
  |  | 
 | </p>
  |  | 
 | ==See also==
  |  | 
 | {{Template:XmlParseError:Reason footer}}
  |  |