472,374 Members | 1,399 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,374 software developers and data experts.

invalid XML character

I have two applications that should comunicate through an xml file. This
xml will contain a CDATA section with a digital signature.

The problem is that the digital signature is composed of special
character that are nor correctly recognized by the xml parser.

When you try to open the follow file with an xml editor, like jedit, you
will see that the CDATA block is marked with follow error:
"An invalid XML character (Unicode: 0x6) was found in the CDATA section."

This is the xml file:

<?xml version="1.0" encoding="utf-8"?>
<Document>
<DataBlock>
<![CDATA[0‚V_ *†H†÷
 ‚VP0‚VL1 0+0‚FO *†H†÷
 ‚F@‚F<Content-Type: multipart/mixed;
boundary="----=_NextPart_717_3066_3832508151693287"
MIME-Version: 1.0
X-Mailer: EldoS MIMEBlackbox Library, version: 2004.04.16
Date: Sat, 4 Dec 2004 19:33:50 +0100
Message-ID: <200412041933500630@69768441>

This is a multi-part message in MIME format.

------=_NextPart_717_3066_3832508151693287
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: base64
]]>
</DataBlock>
</Document>
How can I handle this special content in an xml file ? Should I use an
other encoding ?
bye marco
Jul 20 '05 #1
6 8696


Marco Montel wrote:

The problem is that the digital signature is composed of special
character that are nor correctly recognized by the xml parser.

When you try to open the follow file with an xml editor, like jedit, you
will see that the CDATA block is marked with follow error:
"An invalid XML character (Unicode: 0x6) was found in the CDATA section."


In XML 1.0 0x6 is indeed not an allowed character so you need to encode
it, using Base64 encoding for instance.

--

Martin Honnen
http://JavaScript.FAQTs.com/
Jul 20 '05 #2
Martin Honnen wrote:


Marco Montel wrote:

The problem is that the digital signature is composed of special
character that are nor correctly recognized by the xml parser.

When you try to open the follow file with an xml editor, like jedit,
you will see that the CDATA block is marked with follow error:
"An invalid XML character (Unicode: 0x6) was found in the CDATA section."

In XML 1.0 0x6 is indeed not an allowed character so you need to encode
it, using Base64 encoding for instance.


This is a great idea ! I didn't know that the xml 1.0 specification does
not allow some control caracter. I see that xml 1.1 allow that, but my
parser support only the XML 1.0 specification.

thanks a lot

bye marco
Jul 20 '05 #3
Marco Montel <ma**********@syncromed.it> writes:
Martin Honnen wrote:


Marco Montel wrote:

The problem is that the digital signature is composed of special
character that are nor correctly recognized by the xml parser.

When you try to open the follow file with an xml editor, like jedit,
you will see that the CDATA block is marked with follow error:
"An invalid XML character (Unicode: 0x6) was found in the CDATA section."

In XML 1.0 0x6 is indeed not an allowed character so you need to encode
it, using Base64 encoding for instance.


This is a great idea ! I didn't know that the xml 1.0 specification does
not allow some control caracter. I see that xml 1.1 allow that, but my
parser support only the XML 1.0 specification.

thanks a lot

bye marco


Even XML 1.1 wouldn't allow the character in a CDATA section.

in XML 1.1 you can encode the character as a character reference, but
you can't have character references in a CDATA section (as & has no
special meaning in a CDATA section)

David
Jul 20 '05 #4
I'm a total beginner, and I hope you won't mind a stupid question. I
don't understand your point about the ampersand not having a special
meaning in the CDATA section. Can you elaborate on that? Would it have
a special meaning elsewhere? Why would it need a special meaning in the
CDATA section? I thought CDATA sections were there when you wanted the
parser to ignore everything in the secton and just pass the text
through.

Jul 20 '05 #5
On 7 Dec 2004 20:59:14 -0800, lk******@geocities.com wrote:
...I don't understand your point about the ampersand not
having a special meaning in the CDATA section ... Would it have
a special meaning elsewhere?
Yes; in a PCDATA section (e.g. inside "normal" marked up content) the
ampersand does have a special meaning, it signals to the parser that
"here is a possible start of an entity, or a numeric character,
reference".
Why would it need a special meaning in the CDATA section?
It does not "need" to have a special meaning and, per definition of
CDATA, it _can_not_ have a special meaning in CDATA.
I thought CDATA sections were there when you wanted the parser to
ignore everything in the section and just pass the text through.


Yep, that's about it.

--
Rex
Jul 20 '05 #6

Roland's pretty much answered this already but just to be explict.

the point I was making was that you can't have character 1 in XML 1 as
it's a banned control character, but in XML 1.1 (if your application
supports it, which most don't yet) you can not have the literal control
character but you can have " & # 1 ; " (without the spaces) to refer to
that character which will then appear as the character with unicode
number 1 if you look at the document using and API. DOM, SAX, XPath etc.

However the error message in the original posting refered to a CDATA
section but you can not refer to character 1 in a CDATA section even in
XML 1.1 as in:

"< [ C D A T A & # 1 ; ] ] > "

The & does not start a character reference as it is no longer special,
it just starts itself so the above (again without the spaces) is the
equvalent to

"& a m p ; # 1 ; "
David
(Spaces added as some (bad) newsreaders/mailreaders are confused by
character references and try to interpret them even in a plain text
message)

Jul 20 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: cgbusch | last post by:
"Character reference "&#c" is an invalid XML character" With JDOM and Xerces in Java, I get the above error with sequences. I need to be able to encode arbitrary char sequences in xml. any...
3
by: Kaidi | last post by:
Hello guys, I get the "an invalid XML character" error when using xerces to parse a XML file. I know that XML will correspond the &, <, >, " to special strings like "&gt;&lt;". However, how about if the...
9
by: Safalra | last post by:
The idea here is relatively simple: a java program (I'm using JDK1.4 if that makes a difference) that loads an HTML file, removes invalid characters (or replaces them in the case of common ones...
3
by: Gabriele Poggi | last post by:
How can I load an xml document, with some invalid character, with the method doc.load(), without exceptions? I have already tried to insert a CDATA Sections in the xml file source, but the result...
1
by: King Kong | last post by:
we are facing this kind of error when we double click the infragistic web grid please help me on this Regards Moid Iqbal Server Error in '/NetworkAccess' Application....
2
by: none | last post by:
Hi, I'm opening a popup window with JavaScript. It has a command button. This is from the primary source (opener) window: ###################################################################...
2
by: sachinik19 | last post by:
Hi, We are using SAXParser (xerces) for parsing an xml with utf-8 encoding. For some special character it gives SAXException with error message - "The invalid character is found in the document...
1
by: =?Utf-8?B?UGF1bCBQaGlsbGlwcw==?= | last post by:
I have read many things about this but I haven't got a clear vision on what to do if anything about this. I have a system that tries to find holes in my web site. One of the things it has...
1
by: eBob.com | last post by:
I have some code which is trying to determine where text will wrap in a custom text box (which Inherits from Control). It determines the number of characters which will fit in the first line, but...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge required to effectively administer and manage Oracle...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific technical details, Gmail likely implements measures...
0
BLUEPANDA
by: BLUEPANDA | last post by:
At BluePanda Dev, we're passionate about building high-quality software and sharing our knowledge with the community. That's why we've created a SaaS starter kit that's not only easy to use but also...
2
by: Ricardo de Mila | last post by:
Dear people, good afternoon... I have a form in msAccess with lots of controls and a specific routine must be triggered if the mouse_down event happens in any control. Than I need to discover what...
1
by: Johno34 | last post by:
I have this click event on my form. It speaks to a Datasheet Subform Private Sub Command260_Click() Dim r As DAO.Recordset Set r = Form_frmABCD.Form.RecordsetClone r.MoveFirst Do If...
1
by: ezappsrUS | last post by:
Hi, I wonder if someone knows where I am going wrong below. I have a continuous form and two labels where only one would be visible depending on the checkbox being checked or not. Below is the...
0
by: jack2019x | last post by:
hello, Is there code or static lib for hook swapchain present? I wanna hook dxgi swapchain present for dx11 and dx9.
0
DizelArs
by: DizelArs | last post by:
Hi all) Faced with a problem, element.click() event doesn't work in Safari browser. Tried various tricks like emulating touch event through a function: let clickEvent = new Event('click', {...
0
by: F22F35 | last post by:
I am a newbie to Access (most programming for that matter). I need help in creating an Access database that keeps the history of each user in a database. For example, a user might have lesson 1 sent...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.