|
|
Line 1: |
Line 1: |
| {{Template:XmlParseError:Reason subtitle}}
| | #REDIRECT [[XmlParseError class#Reason property|Reason property]] |
| 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==
| | [[Category:XmlParseError methods|Reason property]] |
| {{Template:XmlParseError:Reason syntax}}
| |
| ===Syntax terms===
| |
| <table class="syntaxTable">
| |
| <tr><th>%reason</th>
| |
| <td>This <var>XmlParseErrorReason</var> enumeration value describes the parsing error.
| |
| </td></tr>
| |
| <tr><th>xmlParsError</th>
| |
| <td>A reference to an instance of a <var>[[XmlParseError_class|XmlParseError]]</var> object.
| |
| </td></tr>
| |
| </table>
| |
| | |
| ==Usage notes==
| |
| <ul>
| |
| <li>An <var>XmlParseErrorReason</var> enumeration may have one of the following values, each of which is demonstrated in the [[#Example|examples]] below.
| |
| <dl>
| |
| <dt><var>InvalidUnicodeCharacter</var>
| |
| <dd>The Unicode input contains an invalid character.
| |
| <dt><var>InvalidUTF8Encoding</var>
| |
| <dd>The input UTF8 stream is invalid.
| |
| <dt><var>InvalidUTF16Encoding</var>
| |
| <dd>The input UTF16 stream is invalid.
| |
| <dt><var>SyntaxError</var>
| |
| <dd>A violation of the syntax of an XML document.
| |
| <dt><var>UntranslatableEBCDIC</var>
| |
| <dd>The EBCDIC input contains a character that is not translatable to Unicode.
| |
| <dt><var>UntranslatableISOn</var>
| |
| <dd>The ISO-8859-n input contains a character that is not translatable to Unicode.
| |
| <dt><var>UntranslatableUnicode</var>
| |
| <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==
| |
| <ol><li>
| |
| The following template is used to apply the <var>[[LoadXml_(XmlDoc/XmlNode_function)|LoadXml]]</var> deserialization method to a series of test ''input-string'' values to demonstrate the <var>XmlParseError</var> exception output:
| |
| <p class="code"> [[try]]
| |
| [[PrintText statement|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>
| |
| <ul><li>When called with:
| |
| <p class="code"> '''%d:LoadXml('<a>'):'''
| |
| </p>
| |
| The results are:
| |
| <p class="output">
| |
| 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>
| |
| <li>When called with:
| |
| <p class="code"> '''%d:LoadXml('<' With 'FF':X With '>')'''
| |
| </p>
| |
| The results are:
| |
| <p class="output">
| |
| 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>
| |
| <li>When called with:
| |
| <p class="code"> '''%d:LoadXml('<a>&amp;#x2122;</a>':U)'''
| |
| </p>
| |
| The results are:
| |
| <p class="output">
| |
| 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>
| |
| <li>When called with:
| |
| <p class="code"> '''%d:LoadXml('FEFF003C33':X)'''
| |
| </p>
| |
| The results are:
| |
| <p class="output">
| |
| 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>
| |
| <li>When called with:
| |
| <p class="code"> '''%d:LoadXml('FEFFD800':X)'''
| |
| </p>
| |
| The results are:
| |
| <p class="output">
| |
| 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>
| |
| <li>When called with:
| |
| <p class="code"> '''%d:LoadXml('C181':X)'''
| |
| </p>
| |
| The results are:
| |
| <p class="output">
| |
| 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>
| |
| <li>When called with:
| |
| <p class="code"> '''%d:LoadXml('FF818256':X)'''
| |
| </p>
| |
| The results are:
| |
| <p class="output">
| |
| 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>
| |
| <li>When called with:
| |
| <p class="code"> '''%d:LoadXml('EDA080':X)'''
| |
| </p>
| |
| The results are:
| |
| <p class="output">
| |
| 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></ul></ol>
| |
| | |
| ==See also==
| |
| {{Template:XmlParseError:Reason footer}}
| |