Robert,
Your second document has two root elements. This may be the source of your
problem.
Chuck Simpson
[EMAIL PROTECTED]
|---------+-------------------------------------->
| | "Robert J. Lebowitz" |
| | <[EMAIL PROTECTED]> |
| | Sent by: |
| | [EMAIL PROTECTED]|
| | ceforge.net |
| | |
| | |
| | 02/18/02 11:40 PM |
| | |
|---------+-------------------------------------->
>----------------------------------------------------------------------------------------------------------------------------------|
|
|
| To: <[EMAIL PROTECTED]>
|
| cc:
|
| Subject: Re: [dom4j-user] special entities and JAXP
|
>----------------------------------------------------------------------------------------------------------------------------------|
After some further experimentation, I determined that the character
encoding of the text from my JTextArea is Cp1252 and not UTF-8. Is there
some simple way to set the encoding of a StyledDocument used in a
JTextArea?
I'm assuming that character encoding is the source of my problem here, it
may not be the only issue.
Rob
----- Original Message -----
From: Robert J. Lebowitz
To: [EMAIL PROTECTED]
Sent: Monday, February 18, 2002 8:23 PM
Subject: [dom4j-user] special entities and JAXP
While the application I'm writing utilizes dom4j, this question isn't
dom4j specific. I offer it up to the list simply because many of you are
proficient with Java and JAXP.... I suspect this is a very simple problem,
but one I can't quite decipher yet. I apologize if the question is
misplaced....
I have written a simple editor which utilizes a JTextArea to hold and
visualize text. I have written a simple method to check for
well-formedness (you try to come up with a better adjective) of an XML
document. I am using the JAXP classes in conjunction with jdk 1.4.
The text within the JTextArea is extracted using a getDocument().getText()
method to obtain a String object.
Well-formedness is determine in the following manner:
public void wellform(String text) throws IOException, SAXException,
ParserConfigurationException {
SAXParser parser = factory.newSAXParser();
StringReader reader = new StringReader(text);
parser.parse(new InputSource(reader), new XMLHandler(holder));
}
private static SAXParserFactory factory = SAXParserFactory.newInstance
();
XMLHandler is a class I've written to catch certain thrown exceptions. It
extends the DefaultHandler adapter just to simplify matters.
Here's what I don't understand with regards to my application:
If I write a simple one line XML document, say:
<a>testing</a>
everything works just fine and dandy... the document is declared
well-formed, and life goes merrily on its way.
However, if I add a second line directly underneath the first line, any
line at all, like:
<b>testing</b>
I get back an exception saying:
Illegal character at end of document, <.
Line 2, column 0.
Now, I know that what apparently is happening, is that the less than
character is being interpreted as a special entity. But what I don't
understand is 1) why does it only affect the second line of text, not the
first (is there a carriage return or something that JTextArea sticks in?)
?
Is there some feature that I'm supposed to specify for the xmlreader, or
saxparser to avoid this problem? Are there hidden characters coming from
the JTextArea I should be aware of, or is there some method I need to
modify in my custom ContentHandler (XMLHandler) to overcome this issue???
Hope this makes sense to some of you,
Rob
_______________________________________________
dom4j-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dom4j-user