PRB: Chybová zpráva při dokument XML obsahuje znaky ASCII nízké pořadí

Příznaky

Při pokusu použít k analýze dokumentů XML, které obsahují určité nízké pořadí netisknutelné znaky ASCII (tj. znaků pod ASCII 32) verze 3.0 nebo novější analyzátoru MSXML, můžete obdržet následující chybovou zprávu:
V obsahu text byl nalezen neplatný znak.

Příčina

Verze 3.0 a novější analyzátoru MSXML výhradně vynutit platný rozsahy znak XML, které jsou definovány ve specifikaci jazyka XML World Wide Web Consortium (W3C). Dokumenty XML, které jsou analyzovány pomocí verze 3.0 nebo vyšší MSXML nemůže obsahovat znaky, které spadají mimo definované rozsahy platný znak XML. Nízké pořadí netisknutelné ASCII znaky v oblastech, které jsou uvedeny v části "Další informace" nejsou platné znaky XML. Dokument XML, který obsahuje instance z těchto znaků není splňovaly specifikace W3C a nelze úspěšně analyzovat s verze 3.0 a novější analyzátoru MSXML.

Řešení

Chcete-li vyřešit tento problém, odebrat netisknutelné znaky ASCII nízké pořadí instancí nebo nahradit znaky platné alternativní znak jako znak mezery (ASCII 32, hex #x 20). Toto řešení je kompatibilní se specifikací W3C XML dokumentu. Odebrání nebo nahrazení výskyty tyto znaky však může ovlivnit jiné aplikace, které používají data a které jsou významné znaky. Takový dodatečný účinek lze určit pouze pomocí testování a bude muset být adresována implementací oprava či řešení, který je vhodný pro zvláštní situaci.

Stav

Toto chování je záměrné.

Další informace

Verze 2.6 a novější analyzátoru MSXML povolit dokumenty XML, které obsahují nízké pořadí netisknutelné znaky ASCII spadající mimo intervaly pro platný znak XML W3C. Však byl změněn návrh verze 3.0 a novější analyzátoru MSXML výhradně vynutit platný rozsahy znaků XML, které jsou definovány ve specifikaci jazyka W3C XML. Tato změna návrhu musí být schopni identifikovat dokumenty XML-splňovala podmínky shody.


Následují platné znaky XML a rozsahy znaků (šestnáctkové hodnoty) podle specifikace jazyka W3C XML 1.0:
#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
Rozsahy znaků pro nízké pořadí netisknutelné ASCII znaky, které jsou zamítnuté MSXML verze 3.0 a novější, jsou následující:
#x0 - #x8 (ASCII 0 - 8)#xB - #xC (ASCII 11 - 12)
#xE - #x1F (ASCII 14 - 31)

Tato změna návrhu může ovlivnit následující uživatele a aplikace:
  • Uživatelé aplikace Internet Explorer: Uživatelé, kteří používali aplikaci Internet Explorer verze 5.5 a starších (a kdo nebyl nainstalován analyzátor MSXML 3.0 v režimu Nahradit) Procházet a zobrazit že dokumenty XML, které obsahují jednu nebo více instancí zadané nízké pořadí netisknutelné ASCII znaky, zobrazí se chybová zpráva po upgradu na aplikaci Internet Explorer 6.0, protože aplikace Internet Explorer 6.0 nainstaluje MSXML 3.0 SP2 v režimu Nahradit a používá k analýze dokumentů XML.
  • MDAC a ADO uživatele: Vývojáři a uživatelé načíst ADO trvalé XML dokumenty, které obsahují jednu nebo více instancí zadané nízké pořadí netisknutelné ASCII znaky do ADO Recordset objekty, zobrazí se chybová zpráva po upgradu součásti MDAC 2.7, protože MDAC 2.7 nainstaluje MSXML 3.0 SP2, což je verze analyzátoru MSXML, který používá objekt ADO 2.7 Recordset.
  • Aplikace, které používají MSXML modelu DOM (Document Object): Aplikace, které používají verze nezávislého ProgID MSXML DOM objekty, které slouží k analýze dokumentů XML vytvořit instanci chyba je vygenerována zadaný při instalaci MSXML 3.0 nebo jeden z jeho aktualizace service Pack v režimu nahradit nebo kód je změněno na použití analyzátor MSXML 3.0 nebo 4.0 verzi ProgID specifické.

Odkazy

Další informace o jiných známé příčiny a řešení chybové zprávy, který je uveden v části "Příznaky" klepněte na následující čísla článků znalostní báze Microsoft Knowledge Base:
238833 PRB: analyzátor XML: byl nalezen neplatný znak v obsahu textu
275883 INFO: kódování XML a DOM metody rozhraní
Vlastnosti

ID článku: 315580 - Poslední kontrola: 9. 1. 2017 - Revize: 1

Váš názor