[jdom-interest] Re: Removing illegal characters from element names

New, Cecil (GEAE) cecil.new at ae.ge.com
Fri Jul 9 05:00:17 PDT 2004

I think you could also wrap the sql statement with a CDATA section tag:
	<![CDATA[ *** sql with illegal chars here *** ]]>

-----Original Message-----
From: Simon Metson [mailto:simon at senserecords.com]
Sent: Thursday, July 08, 2004 8:18 PM
To: jdom-interest at jdom.org
Subject: [jdom-interest] Re: Removing illegal characters from element

Hi again,
    Have answered my own question: Verifier.checkXML with a bit of 

if (Verifier.checkXMLName(colName)=="XML names cannot be null or empty"){
    String[] splitResult = Verifier.checkXMLName(colName).split("\"");
    System.out.println("duff character: \"" + splitResult[1] + "\"");
    //"XML names cannot contain the character \"" + c + "\"";
    colName = colName.replaceAll("\\" + splitResult[1], "_");


Simon Metson wrote:

> Hi All,
>    I'm new to the list so I appologise if this has already been 
> answered but after trawling Google for an hour I can't find the info I 
> need. I'm writing a class that takes the result of any sql statement 
> and returns a JDOM xml document with elements named after the column 
> name, something like;
> <results>
>  <processed_sql>SELECT * from test where field1 like 
> '%h%';</processed_sql>
>  <result_set>
>    <row>
>      <field1>hello</field1>
>      <field2>world</field2>
>    </row>
>    <row>
>      <field1>blah</field1>
>      <field2>eggs</field2>
>    </row>
>  </result_set>
> </results>
> as the sql can be any sql there is a possibility of illegal characters 
> eg doing;
>    SELECT field1, field2, field1 + field2 from test where field1 like 
> '%h%';
> will throw;
> org.jdom.IllegalNameException: The name "field1_+_field2" is not legal 
> for JDOM/XML elements: XML names cannot contain the character "+".
> (as you can see I already replace the space with underscore). Is there 
> a quick way of replacing all illegal characters in my element names? 
> My current plan is to take a look at the JDOM source to work out a 
> regexp to fix this, any better suggestions?
> Cheers
> Simon

To control your jdom-interest membership:

More information about the jdom-interest mailing list