2009-06-15 7 views
9

はXMLの有効な文字ですか?このデータに

<row Id="37501" PostId="135577" Text="...uses though.&#x10;"/> 

私は、PythonのSAXパーサーでエラーを取得しています:

xml.sax._exceptions.SAXParseException: 
comments.xml:29776:332: reference to invalid character number 

私は例を整えました。 332は「& #x10;」を指します。

パーサーはこの文字を拒否するのに正しいですか?

答えて

12

他の人が述べたように、おそらく&#10;を意味します。 &#x10;(0x10の= 10H = 16)が無効である理由は、それが明示的にXML 1.0標準で除外だということである:(http://www.w3.org/TR/xml/#NT-Char

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] 
+1

あなたのライブラリがそれをサポートする場合は、XML 1.1は、法律上の文字の広い範囲がある - のhttpを://www.w3.org/TR/xml11/#charsets –

+0

Lachlanに感謝します。 XML 1.0を明示的にするために編集されました。 –

+0

うん、ヘッダーをダブルチェックしました。バージョンは「1.0」です。ありがとう! –

5

&#10;は、ラインフィード文字です。これは意図しているようです。

&#x10;は、&#16;(10進数は10進数16)と同じで、DLE(データリンクエスケープ)文字を参照します。

DLEは、送信されるデータの解釈を制御するために使用されるtransmission control characterです。

関連する問題