Xerces Sax not parsing a Unicode char

My SaxParser (xerces) is failing when parsing, complaining about Unicode: 0x1d.
I am reading from a file (InputSource), and have set the encoding to UTF-8.
Is there any way to not parse data in specified xml elements? Without explicitly escaping the illegal character....
Thanks,
Karen

Having performed some research, I discovered that this is a control character and while it is an acceptable Unicode character, it is not a valid UTF-8 character.
Control characters are in the range U+0000....U+001F, and most of them are written out as '?'. 0x1d(Group Separator), however, is not escaped and therefore Xerces cannot parse it.
I have written a util class that escapes control chars in Unicode.
Thanks.

Similar Messages

  • LTRIM RTRIM not working for unicode char string in SQL 2005

    select len(ltrim(rtrim('メタルワン IFR 12/06 13/05 国際Ⅰ ')))

    Could you try by getting rid of other filters in the WHERE caluse ? get rid of the ; 
    AND Active_bt = 1 AND EngagementStatus_txt = 'O'
    from the query and try .
    As per one of the replies here, try to see if the space is really a space or some special character by checking its ascii value.
    If this is not working, please share your schema structure, with scripts to populate the sample data into it. Please take a look at my test below ;
    CREATE TABLE #test
    (Eng_id INT,
    EngagementId_txt NVARCHAR(90),
    EngagementName_txt NVARCHAR(90),
    EngagementStatus_txt NVARCHAR(1))
    INSERT INTO #test
    SELECT 20,'15614483','メタルワン IFR 12/06 13/05 国際Ⅰ ','O'
    SELECT EngagementId_txt FROM #test
    WHERE
    EngagementId_txt = '15614483'
    AND
    ltrim(rtrim(CAST (EngagementName_txt AS NVARCHAR (90)))) =
    ltrim(rtrim(CAST ('メタルワン IFR 12/06 13/05 国際Ⅰ' AS NVARCHAR (90))))
    EngagementId_txt
    15614483
    (1 row(s) affected)
    Sanil Mhatre | Database Developer | MCTS | If you find my reply useful in any way, please vote it as helpful. If it has helped answer your question, please mark it as Answer. http://sqlwithsanil.com

  • WL 6.1 to 8.1 XSL Error SAX Exception, Could not parse xsl document

    1)I have an application which is deployed and running successfully on WL6.1. The application uses lot of xsl style sheets. Parsers used were from xalan.jar and xerces.jar
    2)Now, I am migrating it to WL8.1, the application is deployed on 8.1 but when I open the login(first page) it gives the following error:
    ====================
    ABCD.xsl; Line 0; Column 0
    XSL Error: Could not parse C:/src/xslsheets/ABC4.xsl document!
    XSL Error: SAX Exception
    ====================
    3)As the previous versions of WebLogic Server included the unmodified versions of the Xerces parser and Xalan transformer from www.apache.org in the WL_HOME\server\ext\xmlx.zip file. The ZIP file no longer includes these classes and interfaces in 8.1.
    4)I understand it is the the Parser Exception and wud like to know the best possible way to solve this.
    Thanks
    Val

    1)I have an application which is deployed and running successfully on WL6.1. The application uses lot of xsl style sheets. Parsers used were from xalan.jar and xerces.jar
    2)Now, I am migrating it to WL8.1, the application is deployed on 8.1 but when I open the login(first page) it gives the following error:
    ====================
    ABCD.xsl; Line 0; Column 0
    XSL Error: Could not parse C:/src/xslsheets/ABC4.xsl document!
    XSL Error: SAX Exception
    ====================
    3)As the previous versions of WebLogic Server included the unmodified versions of the Xerces parser and Xalan transformer from www.apache.org in the WL_HOME\server\ext\xmlx.zip file. The ZIP file no longer includes these classes and interfaces in 8.1.
    4)I understand it is the the Parser Exception and wud like to know the best possible way to solve this.
    Thanks
    Val

  • Xerces SAX parser don`t initialize a characters array

    Xerces SAX parser don`t initialize a characters array from characters() method in DefaultHandler.
    I use jdk 1.5.12.
    For value "22-11-2009" variables start=1991, length=9.
    Result: "22-11-200"

    My handler:
    package com.epam.xmltask.parsers;
    import com.epam.xmltask.model.Category;
    import com.epam.xmltask.model.Goods;
    import com.epam.xmltask.model.Products;
    import com.epam.xmltask.model.Subcategory;
    import com.epam.xmltask.utils.Constants;
    import com.epam.xmltask.utils.DateConverter;
    import java.text.ParseException;
    import java.util.Date;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.ErrorHandler;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.helpers.DefaultHandler;
    public class SAXProductsParser extends DefaultHandler implements IProductsParser {
        private Logger logger = null;
        private SAXParser parser = null;
        private ErrorHandler errorHandler = null;
        private Products products = null;
        private Category category = null;
        private Subcategory subcategory = null;
        private Goods goods = null;
        private String currentField = Constants.EMPTY_STRING;
        protected Logger getLogger() {
            if (logger == null) {
                logger = Logger.getLogger(SAXProductsParser.class.getName());
            return logger;
        protected SAXParser getParser() throws Exception {
            if (parser == null) {
                try {
                    SAXParserFactory parserFactory = SAXParserFactory.newInstance();
                    parserFactory.setNamespaceAware(true);
                    parserFactory.setValidating(true);
                    parser = parserFactory.newSAXParser();
                    parser.setProperty(Constants.SCHEMA_LANGUAGE, Constants.XML_SCHEMA);
                } catch (Exception ex) {
                    getLogger().log(Level.SEVERE, null, ex);
                    throw ex;
            return parser;
        public ErrorHandler getErrorHandler() {
            if (errorHandler == null) {
                errorHandler = new ProductsErrorHandler();
            return errorHandler;
        public Products getProducts(String uri) throws Exception {
            try {
                products = new Products();
                getParser().parse(uri, this);
                return products;
            } catch (Exception ex) {
                getLogger().log(Level.SEVERE, null, ex);
                throw ex;
        @Override
        public void startElement(String uri, String localName,
                String qName, Attributes attributes) {
            if (Constants.CATEGORY.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                category = new Category(name);
            } else if (Constants.SUBCATEGORY.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                subcategory = new Subcategory(name);
            } else if (Constants.GOODS.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                goods = new Goods(name);
            } else if (Constants.NOT_IN_STOCK.equals(qName)) {
                goods.setIsInStock(false);
            } else {
                currentField = qName;
        @Override
        public void endElement(String uri, String localName, String qName) {
            if (Constants.CATEGORY.equals(qName)) {
                products.addCategory(category);
                category = null;
            } else if (Constants.SUBCATEGORY.equals(qName)) {
                category.addSubcategory(subcategory);
                subcategory = null;
            } else if (Constants.GOODS.equals(qName)) {
                subcategory.addGoods(goods);
                goods = null;
            } else {
                currentField = Constants.EMPTY_STRING;
        @Override
        public void characters(char[] chars, int start, int length) throws SAXException {
            String field = new String(chars, start, length).trim();
            if (goods != null) {
                if (Constants.PRODUSER.equals(currentField)) {
                    goods.setProducer(field);
                } else if (Constants.MODEL.equals(currentField)) {
                    goods.setModel(field);
                } else if (Constants.DATE_OF_ISSUE.equals(currentField)) {
                    Date date = null;
                    try {
                        date = DateConverter.getConvertedDate(field);
                    } catch (ParseException ex) {
                        getLogger().log(Level.SEVERE, null, ex);
                        throw new SAXException(ex);
                    goods.setDateOfIssue(date);
                } else if (Constants.COLOR.equals(currentField)) {
                    goods.setColor(field);
                } else if (Constants.PRICE.equals(currentField)) {
                    Float price = Float.valueOf(field);
                    goods.setPrice(price);
        @Override
        public void error(SAXParseException ex) throws SAXException {
            getErrorHandler().error(ex);
        @Override
        public void fatalError(SAXParseException ex) throws SAXException {
            getErrorHandler().fatalError(ex);
        @Override
        public void warning(SAXParseException ex) throws SAXException {
            getErrorHandler().warning(ex);
    }

  • Could not parse deployment descriptor: org.xml.sax.SAXParseException

    I am using Taglib in JSP file .
    I am calling the AbcTagLib from my jsp Login.jsp file.
    The entries for the taglib is there in web.xml file.
    Please see the attachments.
    I am getting the following errors while running my JSP file:
    Parsing of JSP File '/jsp/Login.jsp' failed:
    /jsp/Login.jsp: Could not parse deployment descriptor: org.xml.sax.SAXParseException:
    Could not parse: taglib starting at line 1
    probably occurred due to an error in /jsp/Login.jsp:
    <%@ taglib uri="AbcTagLib" prefix="abc" %>
    Please look in to it and suggest some solution.
    The files are :
    AbcTagLib.tld
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc. //DTD JSP Tag Library 1.1//EN"
    "web-jsptaglib_1_1.dtd">
    <taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>TagLib</shortname>
         <tag>
         <name>label</name>
         <tagclass>com.abc.internet.common.taglib.LiteralTag</tagclass>
         <bodycontent>empty</bodycontent>
         <info>This is a simple tag for ABC</info>
              <attribute>
                   <name>name</name>
                   <required>false</required>
                   <rtexpvalue>false</rtexpvalue>
              </attribute>
         </tag>
         <tag>
         <name>linkAccess</name>
         <tagclass>com.abc.internet.common.taglib.LinkAccessTag</tagclass>
         <bodycontent>JSP</bodycontent>
         <info>this is the tag class for showing the button</info>
         <attribute>
         <name>linkId</name>
         <required>true</required>
         <rtexpvalue>false</rtexpvalue>
         </attribute>
         <attribute>
         <name>flag</name>
         <required>true</required>
         <rtexpvalue>false</rtexpvalue>
         </attribute>
         </tag>
    </taglib>
    web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN'
    'file:///D:/bea/wlserver6.0sp1/web-app_2_2.dtd'>
    <web-app>
    <taglib>
    <taglib-uri>AbcTagLib</taglib-uri>
    <taglib-location>/WEB-INF/AmsTagLib.tld</taglib-location>
    </taglib>
    </web-app>
    Login.jsp
    <%@ page language="Java" errorPage="/jsp/AbcJspError.jsp" import="java.util.Vector,com.abc.internet.common.util.UtilFunctions,com.abc.internet.welcome.form.LoginForm,com.abc.internet.common.util.*"%>
    <%@ taglib uri="AbcTagLib" prefix="abc" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <HTML>
    <HEAD>
         <TITLE>LOGIN SCREEN</TITLE>
         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </HEAD>
    <BODY class="imgSpacerTan" onUnload="javascript:funcCloseErrorWindow();">
    <html:form action="/struts/Login" name="LoginForm" type="com.abc.internet.welcome.form.LoginForm"
    onsubmit="onLogin()">
         <table align="center" cellpadding=0 cellspacing=0 border=0 class="imgSpacerTan">
              <tr>
                   <td align="left">
                        <img border="0" src="../images/logo.gif">
                   </td>
              </tr>
         </table>
         <table align="center" cellpadding=0 cellspacing=0 border=0 class="imgSpacerTan">
              <tr> <td ALIGN="center" class="header" height=30px><font class="fontBlue" >Welcome
    to the</font></td></tr>
              <tr> <td ALIGN="center" class="header" height=30px><font class="fontBlue" >ABC
    System</font></td></tr>
              <tr> <td ALIGN="center" class="header" height=20>  </td></tr>
         </table>
         <table cellpadding=0 cellspacing=0 border=5 bordercolor="#293163" class="deadlineHistoryTablebgcolor"
    align="center">
              <tr class="deadlineHistoryTablebgcolor">
                   <td class="deadlineHistoryTablebgcolor">
                        <table cellpadding=10 cellspacing=10 border=0 width="400" class="deadlineHistoryTablebgcolor"
    align="center">
                             <tr>
                                  <td>
                                       <script language="javascript">
                                            if(navigator.appName.indexOf("Netscape") != -1)
                                                      document.write('<table cellpadding=0 cellspacing=0 border=1 width="400"
    bordercolor="#293163" class="deadlineHistoryTablebgcolor" align="center">');
                                            else
                                                      document.write('<table cellpadding=0 cellspacing=0 border=1 width="400"
    bordercolorlight="#293163" class="deadlineHistoryTablebgcolor" align="center">');
                                       </script>
                                            <tr>
                                                 <td>
                                                      <table cellpadding=7 cellspacing=7 border=0 width="400" bordercolor="#293163"
    class="deadlineHistoryTablebgcolor" align="center">
                                                           <tr>
                                                                <td>
                                                                     <font class="fontBlue">   USER ID       &nbsp:  </font><input
    type="text" name="iv-user">
                                                                </td>
                                                           </tr>
                                                      </table>
                                                 </td>
                                            </tr>
                                       </table>     
                                  </td>
                             </tr>
                             <tr>
                                  <td>
                                       <table cellpadding=0 cellspacing=0 border=1 width="400" class="borderBlue"
    class="deadlineHistoryTablebgcolor" align="center">
                                            <tr>
                                                 <td>
                                                      <table cellpadding=7 cellspacing=7 border=0 width="400" class="borderBlue"
    class="deadlineHistoryTablebgcolor" align="center">
                                                           <tr>
                                                                <td align="center" ><input type="submit" value="Submit" onclick="return
    (onLogin())" ></td>
                                                           </tr>
                                                      </table>
                                                 </td>
                                            </tr>
                                       </table>
                                  </td>
                             </tr>
                        </table>
                   </td>
              </tr>
         </table>
    </html:form>     
    </body>
    </html>
    Thanks

    I am using Taglib in JSP file .
    I am calling the AbcTagLib from my jsp Login.jsp file.
    The entries for the taglib is there in web.xml file.
    Please see the attachments.
    I am getting the following errors while running my JSP file:
    Parsing of JSP File '/jsp/Login.jsp' failed:
    /jsp/Login.jsp: Could not parse deployment descriptor: org.xml.sax.SAXParseException:
    Could not parse: taglib starting at line 1
    probably occurred due to an error in /jsp/Login.jsp:
    <%@ taglib uri="AbcTagLib" prefix="abc" %>
    Please look in to it and suggest some solution.
    The files are :
    AbcTagLib.tld
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc. //DTD JSP Tag Library 1.1//EN"
    "web-jsptaglib_1_1.dtd">
    <taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>TagLib</shortname>
         <tag>
         <name>label</name>
         <tagclass>com.abc.internet.common.taglib.LiteralTag</tagclass>
         <bodycontent>empty</bodycontent>
         <info>This is a simple tag for ABC</info>
              <attribute>
                   <name>name</name>
                   <required>false</required>
                   <rtexpvalue>false</rtexpvalue>
              </attribute>
         </tag>
         <tag>
         <name>linkAccess</name>
         <tagclass>com.abc.internet.common.taglib.LinkAccessTag</tagclass>
         <bodycontent>JSP</bodycontent>
         <info>this is the tag class for showing the button</info>
         <attribute>
         <name>linkId</name>
         <required>true</required>
         <rtexpvalue>false</rtexpvalue>
         </attribute>
         <attribute>
         <name>flag</name>
         <required>true</required>
         <rtexpvalue>false</rtexpvalue>
         </attribute>
         </tag>
    </taglib>
    web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN'
    'file:///D:/bea/wlserver6.0sp1/web-app_2_2.dtd'>
    <web-app>
    <taglib>
    <taglib-uri>AbcTagLib</taglib-uri>
    <taglib-location>/WEB-INF/AmsTagLib.tld</taglib-location>
    </taglib>
    </web-app>
    Login.jsp
    <%@ page language="Java" errorPage="/jsp/AbcJspError.jsp" import="java.util.Vector,com.abc.internet.common.util.UtilFunctions,com.abc.internet.welcome.form.LoginForm,com.abc.internet.common.util.*"%>
    <%@ taglib uri="AbcTagLib" prefix="abc" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <HTML>
    <HEAD>
         <TITLE>LOGIN SCREEN</TITLE>
         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </HEAD>
    <BODY class="imgSpacerTan" onUnload="javascript:funcCloseErrorWindow();">
    <html:form action="/struts/Login" name="LoginForm" type="com.abc.internet.welcome.form.LoginForm"
    onsubmit="onLogin()">
         <table align="center" cellpadding=0 cellspacing=0 border=0 class="imgSpacerTan">
              <tr>
                   <td align="left">
                        <img border="0" src="../images/logo.gif">
                   </td>
              </tr>
         </table>
         <table align="center" cellpadding=0 cellspacing=0 border=0 class="imgSpacerTan">
              <tr> <td ALIGN="center" class="header" height=30px><font class="fontBlue" >Welcome
    to the</font></td></tr>
              <tr> <td ALIGN="center" class="header" height=30px><font class="fontBlue" >ABC
    System</font></td></tr>
              <tr> <td ALIGN="center" class="header" height=20>  </td></tr>
         </table>
         <table cellpadding=0 cellspacing=0 border=5 bordercolor="#293163" class="deadlineHistoryTablebgcolor"
    align="center">
              <tr class="deadlineHistoryTablebgcolor">
                   <td class="deadlineHistoryTablebgcolor">
                        <table cellpadding=10 cellspacing=10 border=0 width="400" class="deadlineHistoryTablebgcolor"
    align="center">
                             <tr>
                                  <td>
                                       <script language="javascript">
                                            if(navigator.appName.indexOf("Netscape") != -1)
                                                      document.write('<table cellpadding=0 cellspacing=0 border=1 width="400"
    bordercolor="#293163" class="deadlineHistoryTablebgcolor" align="center">');
                                            else
                                                      document.write('<table cellpadding=0 cellspacing=0 border=1 width="400"
    bordercolorlight="#293163" class="deadlineHistoryTablebgcolor" align="center">');
                                       </script>
                                            <tr>
                                                 <td>
                                                      <table cellpadding=7 cellspacing=7 border=0 width="400" bordercolor="#293163"
    class="deadlineHistoryTablebgcolor" align="center">
                                                           <tr>
                                                                <td>
                                                                     <font class="fontBlue">   USER ID       &nbsp:  </font><input
    type="text" name="iv-user">
                                                                </td>
                                                           </tr>
                                                      </table>
                                                 </td>
                                            </tr>
                                       </table>     
                                  </td>
                             </tr>
                             <tr>
                                  <td>
                                       <table cellpadding=0 cellspacing=0 border=1 width="400" class="borderBlue"
    class="deadlineHistoryTablebgcolor" align="center">
                                            <tr>
                                                 <td>
                                                      <table cellpadding=7 cellspacing=7 border=0 width="400" class="borderBlue"
    class="deadlineHistoryTablebgcolor" align="center">
                                                           <tr>
                                                                <td align="center" ><input type="submit" value="Submit" onclick="return
    (onLogin())" ></td>
                                                           </tr>
                                                      </table>
                                                 </td>
                                            </tr>
                                       </table>
                                  </td>
                             </tr>
                        </table>
                   </td>
              </tr>
         </table>
    </html:form>     
    </body>
    </html>
    Thanks

  • How to parse/encode foreign chars in XML

    I am sending a char string such as
    y.x.x.x.y
    except that the y is actually a "y" with a dot on top (german).
    The remote server's parser complains and returns an exception.
    They are using xerces.
    What should they be doing to encode/parse such foreign chars
    (german, french, chinese....)?
    Should I be encoding this string before sending it? how?
    Thanks.
    -Mark Sabatini

    Thanks for the reply.
    I am sending the xml string such as
    <tag>y.x.x.x.x.y</tag>
    where y is the german char.
    How do I convert this string value to unicode before sending?
    Will the remote system see the same char? If not, doesn't that
    defeat the purpose of sending a german char?
    Does the remote parser need to encode/decode this too?
    Thanks.
    hi
    I had a similar problem and i solved it by before the
    parsing the xml, i converted all characters to
    unicode.
    Then the receiver who parses it in won't have
    problems, although he will see another sign instead of
    your character
    hope this helps

  • Why not parsing using JDOM?

    Please see the xml file & my java code. The code seems ok..but not parsing right! Please advise, where the problem is?? Also, how do I extract the Supplier tag in this example file??? Any help is really appreciated!!!
    <POOutbound_schema PurchaseOrder="P415704423" OrderDate="2003-06-05"><DocRouting/><Supplier Account="152625001" CompanyName="REP " Address1="ATTENTION SALES " Address2="XXXXXXXXXX " City="XXXXX " Address4=" " Address5=" " Address6=" " State="KA" CountryCode=" " ZipCode="67223 " Phone="833-555-5555" Fax="333-670-3324" OrderStatus="CLOSED AND PRINTED" Comments="DO NOT SHIP TEST PO " TransmissionDate="2003-06-05" TransmissionTime="17:14:54"/><Buyer CompanyName="XXXXXXXXX" Phone="222-577-3708" Fax=" " BuyerNumber="101000" BuyerName="1IM " Email="[email protected]"/><DeliveryAddress CompanyName=" ENSEN COMPANY " Address1="C/O SHIPPING " Address2="221900 SHI BLVD " City="SCHG " Address4=" " Address5=" " Address6="SCHAUMBURG " State="IL" ZipCode="65693 " Phone="800-444-4448" ShipDeptContactName="HHHHN "/><PaymentTerms DueDays="30" DiscountDays="10" DiscountPercent="0"/><DeliveryTerms PrePaid="Prepaid" Transport="TO BE DETERMINED " Fob="ORIGIN "/><OrderLine TransmissionID="-2147482947" ItemNo="506280 " BranchNumber="00423" Description="3-3/4 RD X 20' R/L " QuantityUnitOfMeasure="Pound" PriceUnitOfMeasure="Pound" UnitPrice1="1.0000" UnitPrice2="71.0000" ForeignCurrencyCode="USD" BaseCurrencyCode="USD" DueDate="2003-06-05" POLineNumber="1" Qty="1.0000" SizeDescription="140/41 HR ANN ASTM A322 " LineStatus="Open"><LineNotes OrderLineNote="440/414 HR BAR - LP ANLED - LATT REV ASTM A32, A304 "/><LineNotes OrderLineNote="- AIM .025 MAP AN S - CERT/R RD - 410/412H HABILITY "/><LineNotes OrderLineNote="REQD - STAMP HEAT NUMBER ONE END ON SIZES 2-1/2" AND OVER - "/><LineNotes OrderLineNote="GRAIN SIZE 5 OR FINER - REPORT NI,CU,V AND HARDNESS "/></OrderLine><OrderLine TransmissionID="-2147482946" ItemNo="502327 " BranchNumber="00423" Description="3/4 SQ X 12' R/L " QuantityUnitOfMeasure="Pound" PriceUnitOfMeasure="Pound" UnitPrice1="1.0000" UnitPrice2="1.0000" ForeignCurrencyCode="USD" BaseCurrencyCode="USD" DueDate="2003-06-05" POLineNumber="2" Qty="1.0000" SizeDescription="1018 CF ASTM A108 " LineStatus="Open"><LineNotes OrderLineNote="1018 CF BAR - LATEST REV: ASTM A108 - CERT T/R REQD "/><LineNotes OrderLineNote=" "/></OrderLine><OrderLine TransmissionID="-2147482945" ItemNo="507027 " BranchNumber="00423" Description="5-3/4 RD X 20' R/L " QuantityUnitOfMeasure="Pound" PriceUnitOfMeasure="Pound" UnitPrice1="1.0000" UnitPrice2="1.0000" ForeignCurrencyCode="USD" BaseCurrencyCode="USD" DueDate="2003-06-05" POLineNumber="3" Qty="1.0000" SizeDescription="86/80H HR ASTM A322 ASTM A304 " LineStatus="Open"><LineNotes OrderLineNote="8/86H HOT RO BA - LAST REVASTM A32AND ATM A304 - AIM "/><LineNotes OrderLineNote=".025 MAX P AND S - STAMUMBER ON ONE END SIZES 2-1/2" AND OVER "/><LineNotes OrderLineNote="GRA SIZE OR FINER - HARDEILITY TO BE REPORTED - CET /R REQD "/></OrderLine></POOutbound_schema>
    import java.io.File;
    import java.io.FilenameFilter;
    import java.io.*;
    import java.lang.*;
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.output.*;
    import java.util.*;
    public class EmjPO
    public static void main (String args[]) {
    String[] outarray=new String[1000];
    String pono=null;
    int j=0;
    try {
    /* Build the document with SAX and Xerces, no validation */
    SAXBuilder builder = new SAXBuilder();
    /* Create the document */
    Document doc = builder.build(new File("c:/emjdata/PO.xml"));
    /* To get the DocType from in xml file. Reads the Doctype. */
    DocType docType = doc.getDocType();
    /* Get the root element. */
    Element root = doc.getRootElement();
    /* Get Children */     
    List rtiloadoutbound = root.getChildren("POOutbound_schema");
    Iterator i = rtiloadoutbound.iterator();
    while (i.hasNext()) {
    Element rti_load_outbound = (Element) i.next();
    /* Parses each tag to output string */
    String PurchaseOrder = rti_load_outbound.getAttributeValue("PurchaseOrder");
    String OrderDate = rti_load_outbound.getAttributeValue("OrderDate");     
    System.out.println(" Purchase Order : " + PurchaseOrder + " " + OrderDate);
    } /* while ends here */
    } /* try ends here */
    catch (Exception ex) {
    ex.printStackTrace();     
    System.out.println("Exception Occured " + ex);

    The stack trace should tell you the line number and the filename where the exception happened.
    This is just a guess:
    List rtiloadoutbound = root.getChildren("POOutbound_schema"); //this returns null because root iself the element 'POOutbound_schema'
    Iterator i = rtiloadoutbound.iterator(); //calling .iterator() on a null gives the NullPointerExceptionso try
    String PurchaseOrder = root.getAttributeValue("PurchaseOrder");
    String OrderDate = root.getAttributeValue("OrderDate");

  • Trouble with Unicode Chars

    Hi all,
    I am having trouble displaying Unicode chars both in an Applet and in the command prompt window. I am using awt. The characters I want to display are: \u2228, \u2283, \u2261. These characters display correctly from AppletViewer when I add them to ChoiceBoxes, they display correctly in some browsers (isn't Unicode fairly universal by now? Do most browsers support it?), but not correctly when I try to put them into a TextField, using this simple code:
    public void keyTyped(KeyEvent e) {
    if(e.getKeyChar() == '/') {
    e.setKeyChar('\u2228');
    if(e.getKeyChar() == '.') {
    e.setKeyChar('\u2283');
    System.out.println(e.getKeyChar());
    if(e.getKeyChar() == ',') {
    e.setKeyChar('\u2261');
    System.out.println(e.getKeyChar());
    Any help is greatly appreciated, thanks!

    Er, forgot to mention, the chars display as either a
    black bar, sort of a square, This happens when there is no suitable font for the codepoint, and the system doesn't know how to convert a codepoint to another codepoint for which there is a suitable font. The latter mechanism allow to use non-unicode fonts with unicode chars.
    a question mark, That's possibly another issue. '?' usually appears while
    converting chara�ter into bytes, specifically if an encoding doesn't have an appropriate rule for a particular character.
    For example, the "Cp1251" encoding knows nothing of Greek characters, and so converts them into ?'s.
    Such conversion may occur when a java string is passed
    into a native window system, because such systems often are non-unicode.
    and an equal signCompletely illegal behaviour, usually occurs in very old JVM's.
    Note that Swing is always correct with unicode.
    A relevant documentation is here:
    http://java.sun.com/j2se/1.3/docs/guide/intl/addingfonts.html
    and
    http://java.sun.com/j2se/1.3/docs/guide/intl/fontprop.html

  • How to include unicode chars in text boxes?

    Hi,
    We need the unicode chars (for example: Chinese, Korean, etc...) to appear in the generated .pdf and .pcl files from the Adobe Output designer's IFD file.
    These chars are static and will not change, so we shall not be fetching them from FNF file (.dat).
    While trying to copy-paste directly into text box field, we are getting an error prompting for converting them to some other character set.
    We couldn't paste them exactly with the text how they should appear in the text boxes.
    Please tell us if there is a way to achieve this.
    Thanks and regards,
    Gurunath
    [email protected]

    Double check that all of the selected presentation targets and the font being used for the particular text box supports the characters you are trying to paste into it. For example, the PDF target only has 11 fonts available unless you use the other tabs to "create new soft font cartidges". If you have the appropriate fonts installed on you PC you should be able to use this capability to make the font available for each of your presentation targets. (At least that is my impression - I've never needed to try it.)

  • SQL Developer & Unicode Chars

    Running SQL Developer on Windows XP.
    Tool looks good, just one thing, we have Japanese/Korean text (not much at the moment) in our Oracle 9i/Oracle 10g (AL32UTF8)
    When I run the query in the sql editor, the chars appear as small rectangles.
    Exporting this as XML and loading into an XML viewer (like IE), all the chars appear fine.
    When I copy the text from the data results grid and paste into the sql editor window (after tweaking the prefs), the chars appear fine.
    so I am wondering ... how can I get the text in the data grid to show the Japanese text ?
    Is there a setting I have missed ? or would this be an enhancement ?
    We will be storing more and more international chars and having a tool capable of viewing it would be something we have not found in other tools we have trialed.

    In the Prefs -> Environment, ... set encoding to UTF-8
    In the Prefs -> Code Editor -> Fonts ... set to "Arial Unicode MS"
    Method 1 :
    Open a SQL Worksheet
    Tap in the sql, when executing the sql with the <F9> key, japanese text is displayed as small rectangles.
    When I cut-and-paste the text into the window where the SQL Statement is typed in, I can see the Japanese chars.
    Method 2 :
    On the connections panel, goto "Other Users", navigate to the table that contains the unicode chars.
    Double click on tablename in the left panel, this brings up a "toad like" display, the second tab is the "Data" tab,
    and the unicode data is displayed as miniature rectangles.
    I am unable to find a setting (in the Prefs) to set the font for the grid the data is displayed in

  • Sax XML Parser? URLDecoder.decode bad in applet? Explorer Browser jvm?

    Ok, here it goes folks, I have a serious problem with Explorers jvm, I'm developing using jdk 1.3.1 to write swing applets, in anyevent little functions that I use will not work with Explorers Browser, for example, the Explorer JVM understands the Vector addElement function, but not the Vector add function? Also, It doesn't recognize the HashMap class? Ok, is there anyway to control the JVM used with Explorer? Ok, but here goes my real question?
    I am writing an applet/servlet that interfaces with an oracle database. The data is returned in the form of xml. We are using the Sax XML parser interface. The parser code previously in the servlet(server side) and worked fine, but I've now moved the parsing code to the applet side, however, it seems to not want to work on the applet side. It simply hangs? I think it's a jvm issue, I've been getting many hangs with seemingly standard classes and methods, such as URLDecoder.decode(). Anyone else run into this problem using the Sax XML Parser, I have no idea what classes in the SAX Parser could be giving us a problems, or if that is even my issue. Anyone else using SAX XML parsing in an applet with Explorer 5.5. or 5.0, please let me know, if you've had issues?
    Sorry, to be so long winded, and not explaining the problem very well.

    First, get Sun's Java Plug-in from http://java.sun.com/products/plugin/index-1.4.html
    and read up on how to make your browser use it instead.

  • JAXP: code works with JDK1.3.1/Xerces but not JDK1.4.1

    Switching from JDK 1.3.1 with the Xerces XML parser to JDK 1.4.1 with its
    bundled XML parser breaks my code. Here is the exception I am
    seeing:
    Exception in thread "main" com.post.bean.BeanException com.post.bean.Bea
    nException: Relative URI "bean.dtd"; can not be resolved without a base URI.
    at com.post.bean.BeanSerializer.deserialize(BeanSerializer.java:176)
    at com.post.BeanSerializer1.deserialize(BeanSerializer1.java:38)
    at com.post.BeanSerializer1.main(BeanSerializer1.java:17)
    Here is a code fragment that worked fine with JDK1.3.1 and xerces but
    not with JDK1.4.1:
    public static Object deserialize(InputStream input, EntityResolver
    resolver)
    throws BeanException
    Object bean = null;
    try
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setValidating(true);
    factory.setNamespaceAware(false);
    DocumentBuilder builder = factory.newDocumentBuilder();
    if (resolver != null)
    builder.setEntityResolver(resolver);
    Document doc = builder.parse(input); // exception thrown here
    Element root = doc.getDocumentElement();
    The entity resolver I'm using searches for dtds in
    a certain directory. Again this works fine with JDK1.3.1
    and Xerces but not with JDK1.4.1.
    Any ideas on how to remedy this situation?
    Thanks

    this generally happens when two similar libs conflict with each other. Try any of theses quick fixes: (Remember, 90% of probs in java are Classpath, packages and directory structure issues)
    1. remove completely your previous version of JDK and Xerces.
    2. Remove your classpath variable from system path.
    3. Have "only the required" jar files during compilation. For this use the -D option.
    4. If everything fails, download ANT. Write a simple build.xml file. This is a good replacement to the -D option. But make sure, you are working in a clean JDK environment. Try to monitor your classpaths at run time, and get rid of all the unnecessary once.
    5. MAke sure that Xerces libs bundled with 1.4 are in your classpath at runtime.
    Finally All the best, and happy XMLing+Javing !!
    Rakesh

  • Could not parse XMBMessage due to Can't parse the document

    *Dear all,*
    *i have a SOAP to RFC Scenario. XML Validation by Adapter is turned on in SenderAgreement.*
    *XSD Files are placed in the correct directory. Incoming requests are validated. However,*
    *it seems that responses produce an error in the soap adapter.*
    *This is the error message i am getting:*
    +SOAP:Fault>+
             +<faultcode>SOAP:Server</faultcode>+
             +<faultstring>Server Error</faultstring>+
             +<detail>+
                +<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">+
                   +<context>XIAdapter</context>+
                   +<code>ADAPTER.JAVA_EXCEPTION</code>+
                   +<text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not parse XMBMessage due to Can't parse the document+
    +     at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:1173)+
    +     at sun.reflect.GeneratedMethodAccessor678.invoke(Unknown Source)+
    +     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)+
    +     at java.lang.reflect.Method.invoke(Method.java:592)....+
    *In SXMB_MONI my response includes the following passages*
    +- <!--  ************************************+
      -->
      +<Trace level="3" type="T">Pipeline Service = PLSRV_XML_VALIDATION_RS_OUT</Trace>+
      +<Trace level="3" type="T">Skip Inbound Validation =</Trace>+
      +<Trace level="3" type="T">Skip Outbound Validation =</Trace>+
      +<Trace level="3" type="T">Area = XML_VALIDATION_OUT</Trace>+
      +<Trace level="1" type="T">Reading sender agreement</Trace>+
      +<Trace level="3" type="T">Validation Mode = Validation by Adapter</Trace>+
      +<Trace level="1" type="T">Outbound validation of response takes place</Trace>+
      +<Trace level="3" type="T">Interface Name = SI_xxx_xxx_xxx_Sync_Outbound</Trace>+
      +<Trace level="3" type="T">Interface Namespace = http://xxx.de/xxx</Trace>+
      +<Trace level="3" type="T">Software Component Version = D390B9E10A6B11DF8C15C7540A484C06</Trace>+
      +<Trace level="2" type="T">Java Validation Service Call</Trace>+
      +<Trace level="1" type="T">System error occurred during XML validation</Trace>+
      +<Trace level="1" type="E">CL_XMS_PLSRV_VALIDATION~ENTER_PLSRV</Trace>+
      +</Trace>+
      +<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />+
    +- <!--  ************************************+
      -->
      +<Trace level="3" type="T">Persisting message Status = 023</Trace>+
      +<Trace level="3" type="T">Message version 009</Trace>+
      +<Trace level="3" type="T">Pipeline CENTRAL</Trace>+
      +</SAP:Trace>+
    *I see the following error message:*
      +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>+
    +- <!--  Aufruf eines Adapters+
      -->
    - <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="XML_VALIDATION_OUT">CX_XMS_SYSERR_VALIDATION</SAP:Code>
      <SAP:P1>Schema xxx.response.xsd not found in J:\usr\sap\xxx\SYS\global\xi\runtime_server\validation\schema\00000000000000000000000000000000\ u00D3u00B9u00E1 k u00DFŒ u00C7T HL \SI_xxx_xxx_xxx_Sync_Outbound\urnsap-comdocumentsaprfc~functions\xxx.response.xsd (J:\usr\sap\xxx\SYS\global\xi\runtime_server\validation\schema)</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>not used at the moment.</SAP:AdditionalText>
      <SAP:Stack>System error occurred during XML validation</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    There seems to be an error in the adapter trying to validate the response. Does anyone has a clue as to why ?

    Since i cannot get i running, i helped myself using a java mapping, that i packaged into a jar
    along with the xsd files. See code below:
    import com.sap.aii.*;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.BufferedReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import javax.xml.transform.sax.SAXResult;
    import javax.xml.transform.sax.SAXSource;
    import javax.xml.transform.stream.StreamSource;
    import javax.xml.validation.Schema;
    import javax.xml.validation.SchemaFactory;
    import javax.xml.validation.Validator;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    @SuppressWarnings("unused")
    public class CustomValidator extends AbstractTransformation {
         public void transform(TransformationInput arg0, TransformationOutput arg1)
                   throws StreamTransformationException {
              Validator validator;
              InputStreamReader insr;
              String inputPayloadString;
              try {
                   // Trace
                   getTrace().addInfo("com.xxx.pi.mapping.validation.CustomValidator called");
                   InputStream inputPayloadStream = arg0.getInputPayload()
                             .getInputStream();
                   insr = new InputStreamReader(inputPayloadStream);
                   InputHeader inpHeader = arg0.getInputHeader();          
                   String intfName = inpHeader.getInterface();
                   getTrace().addInfo("Interface Name is :" + intfName);
                   String xsdName = "";
                   if (intfName
                             .equalsIgnoreCase("SI_xxx_Sync_Outbound")) {
                        xsdName = "Z_xxx.xsd";
                   if (intfName.equalsIgnoreCase("SI_xxx")) {
                        xsdName = "Z_xxx.xsd";
                   if (intfName
                             .equalsIgnoreCase("SI_xxx_Sync_Outbound")) {
                        xsdName = "Z_xxx.xsd";
                   if (intfName
                             .equalsIgnoreCase("SI_xxxx_Sync_Outbound")) {
                        xsdName = "Z_xxx.xsd";
                   getTrace().addInfo("Using schema: " + xsdName);
                   if (xsdName.equals(""))
                        throw new StreamTransformationException("Schema für "
                                  + intfName + " nicht gefunden.");
                   BufferedReader reader = new BufferedReader(new InputStreamReader(
                             getClass().getResourceAsStream(
                                       "/com/xxx/pi/mapping/xsd/" + xsdName)));
                   // prepare document validator:
                   String schemaLang = "http://www.w3.org/2001/XMLSchema";
                   SchemaFactory jaxp = SchemaFactory.newInstance(schemaLang);
                   Schema schema = jaxp.newSchema(new StreamSource(reader));
                   validator = schema.newValidator();
              } catch (SAXException saxe) {
                   throw new StreamTransformationException(saxe.getMessage());
              // validate
              try {
                   SAXSource source = new SAXSource(new InputSource(insr));
                   validator.validate(source);
              } catch (Exception e) {
                   getTrace().addInfo(e.getMessage());
                   String trace = e.getMessage();
                   throw new StreamTransformationException(trace, e.getCause());
              // Write the response
              try {
                   inputPayloadString = convertStreamToString(arg0.getInputPayload()
                             .getInputStream());
                   arg1.getOutputPayload().getOutputStream()
                             .write(inputPayloadString.getBytes("UTF-8"));
                   getTrace().addInfo("Schema Validierung erfolgreich !");
              } catch (Exception e) {
                   throw new StreamTransformationException(e.getMessage());
         // helper to convert to String
         private static String convertStreamToString(InputStream in) {
              StringBuffer sb = new StringBuffer();
              try {
                   InputStreamReader isr = new InputStreamReader(in);
                   BufferedReader reader = new BufferedReader(isr);
                   String line;
                   while ((line = reader.readLine()) != null) {
                        sb.append(line);
              catch (Exception exception) {
              return sb.toString();

  • Could not parse xml on Weblogic!

    Hello
    My ear file have aldready deployed successfull on Oracle Appllication Server. And now I try deploy on weblogic but I reiceive the error could not parse xml file. I think It may be the problem with security in weblogic.
    # java.lang.NullPointerException
    # at org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
    # at org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
    # at org.apache.commons.digester.Digester.endElement(Digester.java:1225)
    # at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
    # at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)
    # at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1809)
    # at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1182)
    # at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
    # at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
    # at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:153)
    # at org.apache.commons.digester.Digester.parse(Digester.java:1785)
    # at com.toranto.cmsserver.util.TorantorevisorUtil.createOrganizationOrgEntityIdXml(TorantorevisorUtil.java:3636)
    # at jsp_servlet.__test._jspService(__test.java:119)
    If any one have the same error on weblogic, please help me.
    Thanks in advance.

    Because this ear is ok in oracle apllication server.
    the code here:
    Digester digester = DigesterLoader.createDigester(rulesURL);
    Object rootElement = null;
    InputStream is = null;
    try {
    is = initURL.openStream();
    //3. parse initialization file
    try {
    rootElement = digester.parse(is);
    } catch (SAXException e) {
    String msg = "Digester parse error! Message: " + e.getMessage();
    log.error(msg, e);
    throw e;
    The error cause by rootElement = digester.parse(is);
    So I think in weblogic not accept common-digester.jar to parse xml
    Do you have any idea for this problem.
    Thanks in advance.
    Tang Chow

  • Spry can not  parse xml string

    while designind an mvc architecutre in php I found display
    data on site was slow so I generate a xml sheet an used spry Data
    loading was fast an dproduced and I also performed many operations
    like sorting ,galeery making ..etc... but main thing is that I can
    not parse a xml string using spry only a xml file can be parsed
    my application required to parse xml string

    I'm not sure if this is valid in your situation, but OC4J comes with Oracle XMLParser.
    Simply use the JAXP API to parse/build/modify XML and the Oracle XMLParser implementation will be used behind the scenes.
    If you must use xerces/xalan, try putting the jars in OC4J_HOME/j2ee/home/lib instead.
    HTH //Anders

Maybe you are looking for