Setting appropriate encoding using Dom

Hi;
I am using jaxp. I have created a new xml file dynamically in the program. I want to transform this xml file to the xhtml file using an xsl. But my xml file includes an invalid character. So I want to set the encoding of this xml file in the program.
How and with which code I can success it?

Set encoding in the encoding attribute.
<xsl:output method="xhtml" encoding="ISO-8859-1"/>

Similar Messages

  • How to remove element namespaces in XML file using DOM or SAX?

    Hi Guys,
    I developed a JAVA mapping in XI to add name spaces for XML file, after mapping,name spaces xmlns="http://www.mro.com/mx/integration" and xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" were added correctly, but for some nodes, such as <Header> and <Content>, a name space xmlns="" was added automatically.Please check below files to compare.
    It looks like be added automatically by XI. I didn't process anything for these nodes in JAVA program.
    Now the issue is, how can I remove these redundant namespaces? Such as xmlns="".
    Can I remove them using DOM or SAX in JAVA Mapping?
    Thanks in advance.
    ====>Original XML file
    <?xml version="1.0" encoding="UTF-8"?>
    <LLYLPPInterface language="EN">
       <Header>
          <SenderID>GBIP</SenderID>
          <CreationDateTime>2008-02-13T22:49:34-05:00</CreationDateTime>
          <RecipientID/>
          <MessageID/>
       </Header>
       <Content>
          <LLY-LPP>
             <INVOICE>
                <INVOICELINE>
                   <PONUM>4780000008</PONUM>
                   <POLINENUM>1</POLINENUM>
                   <INVOICEQTY>1</INVOICEQTY>
                   <LOADEDCOST>68</LOADEDCOST>
                </INVOICELINE>
             </INVOICE>
          </LLY-LPP>
       </Content>
    </LLYLPPInterface>
    ===>Target XML file after JAVA mapping
    <?xml version="1.0" encoding="utf-8"?>
    <LLYLPPInterface language="EN" xmlns="http://www.mro.com/mx/integration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <Header xmlns="">
              <SenderID>GBIP</SenderID>
              <CreationDateTime>2008-02-13T23:11:55-05:00</CreationDateTime>
              <RecipientID/>
              <MessageID/>
         </Header>
         <Content xmlns="">
              <LLY-LPP>
                   <INVOICE>
                        <INVOICELINE>
                             <PONUM>4780000008</PONUM>
                             <POLINENUM>0</POLINENUM>
                             <INVOICEQTY>1</INVOICEQTY>
                             <LOADEDCOST>68</LOADEDCOST>
                        </INVOICELINE>
                   </INVOICE>
              </LLY-LPP>
         </Content>
    </LLYLPPInterface>
    Edited by: Eddie Zhang on Feb 14, 2008 9:22 AM
    Edited by: Eddie Zhang on Feb 14, 2008 9:24 AM

    Hi Milan,
    Thanks for your replay.
    Actually when I used module XMLAnonymizerBean to convert namespaces, the header of XML, such as <?xml version="1.0" encoding="UTF-8"?> was converted to format <?xml version='1.0' encoding='UTF-8'?>, quote was converted to single quote. Although I set parameter anonymizer.quote = ", it still didn't work, single quote appeared instead of quote.
    I'm not sure why this happened. Can anyone help to clarify this?
    Thanks
    Edited by: Eddie Zhang on Feb 15, 2008 2:11 AM

  • Generating XMLs from CSVs using DOM parser......

    Hi,
    I am trying to generate XMLs from CSV files using DOM parser. XMLs are getting generated but the problem is that i am using Encoding "ISO-8859-1" but XMLs are getting generated in UTF-8 encoding.
    Please refer to the code below and advice. (where are the code tags gone ????? )
    Source domSource = new DOMSource(document);
    ByteArrayOutputStream xmlStream = new ByteArrayOutputStream();
    Result result = new StreamResult(xmlStream);
    Transformer transformer = TransformerFactory.newInstance().newTransformer();
    transformer.transform(domSource, result);
    xmlStream.close();
    generatedXml = new String(xmlStream.toByteArray(), "*ISO-8859-1*");

    Use transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1") to specify the character set.

  • How to insert ascii characters using dom

    I am having a tough time inserting ascii values in to xml text content
    i search for a regular space and try insert a non breaking space in my xml whic is basically �
    Infact I want to insert the ascii value of a non breaking space or for that matter ascii value of any character, I am using dom level 2.
    in the code the actual replace ment string is the ascii code, somehow when I click preview, it actually shows the space instead showing the what I have in my actual code, so i had to separate in the ascii and ; in my code snippet that follows
    String text = nl.item(i).getNodeValue();
                System.out.println(text);
                String newText  = text.replaceAll("\\s", "� followed by a ;");
                nl.item(i).setNodeValue(newText)it actually inserts &#160; in the xml code for the xml document and literally "&#160 followed by ;" appears in my document when viewed from a browser, all I am trying to do is replace a given character with an ascii value using dom. All i tried to do was replace a regular space with a non breaking space.
    &nbsp won't work either, infact i tried ascii values for other characters too, i end up having the ascii value in the tag when i view the finished document in a browser.
    Please help
    Edited by: jaks4u on Mar 22, 2008 2:23 PM

    As jtahlborn says, NBSP isn't an ASCII character. But this is Java we're working with, and XML. Neither of those two things have ever restricted themselves to the ASCII character set, and neither should you. They use Unicode, which is far larger and which does include that character. You could go to [the Unicode site|http://www.unicode.org/] and do some research -- which might broaden your horizons a lot -- but the code point for that character is (not surprisingly) 160. That's A0 in hexadecimal, so the Java character representing it ischar nbsp = '\u00a0';So use that in your code. Just make sure to output the XML document in an encoding that supports it (unlike ASCII). UTF-8 would be an excellent choice.

  • Set XML encoding by saving with Xerces

    hi there,
    i parse a xml dokument which is encoded by Cp1252. then i do a lot of modifications an want to write it back by using
    OutputFormat format = new OutputFormat(XmlParser.document);
    format.setLineSeparator(LineSeparator.Windows);
    format.setIndenting(true);
    format.setLineWidth(0);
    format.setPreserveSpace(true);
    XMLSerializer serializer;
         try {
              serializer = new XMLSerializer(new FileWriter(file), format);
              serializer.asDOMSerializer();     
              serializer.serialize(XmlParser.document);
         } catch (IOException e) {
              e.printStackTrace();
         }but this sets the encoding to UTF-8. what should i change to save it with Cp1252 encoding?

    use the -
    OutputFormat(org.w3c.dom.Document doc, java.lang.String encoding, boolean indenting)
    constructor with encoding="windows-1252"....

  • Default encoding used for XML creation

    Hi Experts
    I'm using the SAP XML library to create XML documents e.g. to exchange generic data between different SAP systems as well as between SAP and None-SAP systems.
    Everything works fine but one important question came up several times. Which encoding is used by default if a DOM is created but no specific encoding is set? Can this default encoding be changed e.g. in some system settings?
    If the XML document created in my coding contains unreadable characters or parsing is not possible the encoding to be used can be set by the administrator in own customizing tables. At the moment I'm trying to find under what circumstances the default can be used and when a particular characters set / byte order has to be defined. Furthermore instead of "try and error" I'd like to find (and describe) the attributes based on which the correct character set to be used can be determined.
    Thank you in advance for any hints!
    Best regards,
    Matthias

    Unicode defines several character sets and that java uses one of those that has been specified as the encoding in the code itself.. Several of these supported are 16 bit character sets like Chinese character sets and so forth. The default encoding however for a java application is ISO-8859-1 which is an 8-bit encoding.
    The classes java.io.InputStreamReader, java.io.OutputStreamWriter, and java.lang.String can convert between Unicode and a number of other character encodings. However this conversion has to be performed explicitly in the code. so java by default doesnt support 16 bit characters unless specified in the code or in certain cases respective MIME headers are used properly.

  • XML Character Encoding Using UTL_DBWS

    Hi,
    I have a database with WINDOWS-1252 character encoding. I'm using UTL_DBWS to call a web service method which echoes a given string. For this purpose, I do the following:
    DECLARE
        v_wsdl CONSTANT VARCHAR2(500) := 'http://myhost/myservice?wsdl';
        v_namespace CONSTANT VARCHAR2(500) := 'my.namespace';
        v_service_name CONSTANT UTL_DBWS.QNAME := UTL_DBWS.to_qname(v_namespace, 'MyService');
        v_service_port CONSTANT UTL_DBWS.QNAME := UTL_DBWS.to_qname(v_namespace, 'MySoapServicePort');
        v_ping CONSTANT UTL_DBWS.QNAME := UTL_DBWS.to_qname(v_namespace, 'ping');
        v_wsdl_uri CONSTANT URITYPE := URIFACTORY.getURI(v_wsdl);
        v_str_request CONSTANT VARCHAR2(4000) :=
    '<?xml version="1.0" encoding="UTF-8" ?>
    <ping>
        <pingRequest>
            <echoData>Dev Team üöäß</echoData>
        </pingRequest>
    </ping>';
        v_service UTL_DBWS.SERVICE;
        v_call UTL_DBWS.CALL;
        v_request XMLTYPE := XMLTYPE (v_str_request);
        v_response SYS.XMLTYPE;
    BEGIN
        DBMS_JAVA.set_output(20000);
        UTL_DBWS.set_logger_level('FINE');
        v_service := UTL_DBWS.create_service(v_wsdl_uri, v_service_name);
        v_call := UTL_DBWS.create_call(v_service, v_service_port, v_ping);
        UTL_DBWS.set_property(v_call, 'oracle.webservices.charsetEncoding', 'UTF-8');
        v_response := UTL_DBWS.invoke(v_call, v_request);
        DBMS_OUTPUT.put_line(v_response.getStringVal());
        UTL_DBWS.release_call(v_call);
        UTL_DBWS.release_all_services;
    END;
    /Here is the SERVER OUTPUT:
    ServiceFacotory: oracle.j2ee.ws.client.ServiceFactoryImpl@a9deba8d
    WSDL: http://myhost/myservice?wsdl
    Service: oracle.j2ee.ws.client.dii.ConfiguredService@c881d39e
    *** Created service: -2121202561 - oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy@afb58220 ***
    ServiceProxy.get(-2121202561) = oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy@afb58220
    Collection Call info: port={my.namespace}MySoapServicePort, operation={my.namespace}ping, returnType={my.namespace}PingResponse, params count=1
    setProperty(oracle.webservices.charsetEncoding, UTF-8)
    dbwsproxy.add.map: ns, my.namespace
    Attribute 0: my.namespace: xmlns:ns, my.namespace
    dbwsproxy.lookup.map: ns, my.namespace
    createElement(ns:ping,null,my.namespace)
    dbwsproxy.add.soap.element.namespace: ns, my.namespace
    Attribute 0: my.namespace: xmlns:ns, my.namespace
    dbwsproxy.element.node.child.3: 1, null
    createElement(echoData,null,null)
    dbwsproxy.text.node.child.0: 3, Dev Team üöäß
    request:
    <ns:ping xmlns:ns="my.namespace">
       <pingRequest>
          <echoData>Dev Team üöäß</echoData>
       </pingRequest>
    </ns:ping>
    Jul 8, 2008 6:58:49 PM oracle.j2ee.ws.client.StreamingSender _sendImpl
    FINE: StreamingSender.response:<?xml version = '1.0' encoding = 'UTF-8'?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><ns0:pingResponse xmlns:ns0="my.namespace"><pingResponse><responseTimeMillis>0</responseTimeMillis><resultCode>0</resultCode><echoData>Dev Team üöäß</echoData></pingResponse></ns0:pingResponse></env:Body></env:Envelope>
    response:
    <ns0:pingResponse xmlns:ns0="my.namespace">
       <pingResponse>
          <responseTimeMillis>0</responseTimeMillis>
          <resultCode>0</resultCode>
          <echoData>Dev Team üöäß</echoData>
       </pingResponse>
    </ns0:pingResponse>As you can see the character encoding is broken in the request and in the response, i.e. the SOAP encoder does not take into consideration the UTF-8 encoding.
    I tracked down the problem to the method oracle.jpub.runtime.dbws.DbwsProxy.dom2SOAP(org.w3c.dom.Node, java.util.Hashtable); and more specifically to the calls of oracle.j2ee.ws.saaj.soap.soap11.SOAPFactory11.
    My question is: is there a way to make the SOAP encoder use the correct character encoding?
    Thanks a lot in advance!
    Greetings,
    Dimitar

    I found a workaround of the problem:
        v_response := XMLType(v_response.getBlobVal(NLS_CHARSET_ID('CHAR_CS')), NLS_CHARSET_ID('AL32UTF8'));Ugly, but I'm tired of decompiling and debugging Java classes ;)
    Greetings,
    Dimitar

  • Delete elements from XML file using DOM and java

    Hi
    I want now is to remove element from my XML file
    for example
    i have following xml
    <?xml version="1.0" encoding="UTF-8"?>
    <printing>
    <firstLineTexts>
              <firstLineText />
              <firstLineText>|line11</firstLineText>
              <firstLineText>|line12</firstLineText>
    </firstLineTexts>
    </printing>how do i remove all elements fireLineText
    my final output should be
    <?xml version="1.0" encoding="UTF-8"?>
    <printing>
    <firstLineTexts>
    </firstLineTexts>
    </printing>How do i do it using DOM,
    I can create instance of DOM and write it using TransformerFactory
    Ashish

    Hi
    I am trying the following code,
    but it is not working
                    NodeList nScene = doc.getElementsByTagName("firstLineTexts");
              NodeList nScene1 = nScene.item(0).getChildNodes();
              for (int i = 0; i < nScene1.getLength(); i++)
                   Node n = nScene1.item(i);
                        nScene.item(0).removeChild(n);
              }

  • Convertion of flat file to XML using DOM

    Hi!
    I need help for convert a flat file to XML using DOM and by taking the validation of a specified DTD. Can any body help me in this regard.
    Bye,
    lat

    first you have to decide how the flat file will map to xml. Will you use attributes or pcdata for your fields, or both? Will there be a hierarchy, or will it be mostly flat?
    Once decided, you'd probably just use a BufferedReader to read the lines one at a time, and generate Dom nodes as appropriate, and stick them in the tree.

  • Issues with Japanese encoding using Mail

    Since recently (I would say since I updated to 10.6), I have an issue with Japanese-encoded (ISO 2022-JP) mails on my English MacOS.
    I have no problem to read, edit and write answers to any mails.
    However with some ISO JP-2022-JP encoded messages (sent with Thunderbird 2.0.0.23 (Windows/20090812) btw) I have the following misbehaviour:
    - if I send the message and let the encoding to "automatic", Mail sends the mail in UTF-8, which I do not want since most of Japanese computer do not understand UTF-8 by default (and the receiver gets panicked: "I can not read your mail T_T !")
    - if I set the encoding to "ISO JP-2022-JP", I can not send nor save the message (see [1] at the end of the post). One should note that the error message when saving is really misleading (and yes my hard-drive has a lot of space left) and it should be fixed by Apple.
    - if I dig a bit deeper, I can in effect find some characters in the original message which prevent Mail to send my mail. It however does not make any sense since:
    - those char were in the original message properly encoded in ISO JP-2022-JP
    - those char are always very common ones
    The only solution I have found so far is to delete the original message in my mail, which is very frustrating...
    A sample of such mail can be found at (I removed personal info. and the mail is about a drinking party):
    - http://files.me.com/trouve.antoine/73w3w9
    Help would be very appreciated.
    Thank you very much.
    Antoine
    [1] I get the following error messages:
    -> try to save:
    *This message can’t be saved to the Drafts mailbox.*
    The message contains one or more attachments that
    are too large to be saved in the Drafts mailbox. Try
    deleting some attachments.
    ->try to send
    *Invalid Text Encoding*
    Some characters in your message could not be
    converted to the “Japanese (ISO 2022-JP)” text
    encoding. Choose a different encoding from the
    “Text Encoding” menu.

    You can find out about the different versions here, for example:
    http://en.wikipedia.org/wiki/ISO/IEC_2022
    Thank you. I feel a bit stupid for not having looked in Wikipedia at first...
    I sometime wonder how could such basic problem like charset not being solved after more than 40 years of computer science...
    Here is a note that addresses that problem, but I don't think it works with 10.6. Might be worth a > try:
    http://discussions.apple.com/thread.jspa?threadID=121808&tstart=60
    Thank for the link.
    It seems to still work: new japanese mails are now sent in "ISO 2022-JP-2".
    However, for messages with the header explicitly specifying "ISO 2022-JP" (which should be "ISO 2022-JP-2" on my mac) it has no influence.
    The only ways I see to solve this issue would be:
    i) to force "ISO 2022-JP-2" for all mails (a bit too extreme)
    ii) to force the use of "ISO 2022-JP-2" instead of "ISO 2022-JP", but I do not think such precise configuration is possible
    This mess appears to be due to Thunderbird which seems to mix "ISO 2022-JP-2" and "ISO 2022-JP", but I do not have any working Thunderbird to test now...

  • Need to retrieve all the node values of xml using DOM parser..pls help

    I want to fetch each node value in this xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <Main>
    <AAAAA>
    <ES>ESValue</ES>
    <EI>EIValue</EI>
    </AAAAA>
    <BBBBB>
    <SIP>
    <ST>STValue</ST>
    <TB>TBValue</TB>
    <PM>PMValue</PM>
    <VIP>
    <CARP>
    <AN1>AN1Value</AN1>
    <BN>BNValue</BN>
    </CARP>
    <DARP>
    <SA>
    <AN2>AN2Value</AN2>
    <CN>CNValue</CN>
    </SA>
    </DARP>
    </VIP>
    </SIP>
    </BBBBB>
    </Main>
    output should be the inner text values of diffrent nodes that contain some values..
    i.e
    output:
    ESValue
    EIValue
    STValue
    TBValue
    PMValue
    AN1Value
    BNValue
    AN2Value
    CNValue
    so that i can use thses node values and put it them in database...

    pls check the above xml file in proper redable order...I need to parse using DOM and fetch node values that are present...
    <?xml version="1.0" encoding="UTF-8"?>
    <Main>
        <AAAAA>
            <ES>ESValue</ES>
            <EI>EIValue</EI>
        </AAAAA>
        <BBBBB>
            <SIP>
                <ST>STValue</ST>
                <TB>TBValue</TB>
                <PM>PMValue</PM>
                <VIP>
                    <CARP>
                        <AN1>AN1Value</AN1>
                        <BN>BNValue</BN>
                    </CARP>
                    <DARP>
                        <SA>
                            <AN2>AN2Value</AN2>
                            <CN>CNValue</CN>
                        </SA>
                    </DARP>
                </VIP>
            </SIP>
        </BBBBB>
    </Main>

  • How to ignore empty text element while using DOM to parse xml??

    hi everyone,
    i am using DOM to parse an xml file. But i dont know how to cinfig the DocumentBuilderFactory to ignore empty text elements.
    For example, i have an xml file like this:
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
        <child>Tom</child>
        <child>Jerry</child>
    </root>I used the following codes to parse:
    String fname = "Tom-and-Jerry.xml";
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setIgnoringElementContentWhitespace(true);
    factory.setIgnoringComments(true);
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    // Generate a DOM tree from the DOM builder.
    org.w3c.dom.Document dom = builder.parse(new File(fname));
    org.w3c.dom.NodeList list = dom.getChildNodes();
    for (int i=0; i<list.getLength(); i++) {
        System.out.println("Child No."+i);
        System.out.println("NodeName="+list.item(i).getNodeName());
        System.out.println("NodeType="+getType(list.item(i).getNodeType()));
        System.out.println("NodeValue="+list.item(i).getNodeValue());
        System.out.println();
    }The result is not exactly what i want ---- there are 5 children in list!! The 1st, 3rd and 5th are #text and their values are all empty. Only the 2nd and the 4th are the child that i expect.
    It is really troublesome to get all these silly empty texts as sub elements. I tried to get rid of them, but i failed. I just dont understand why factory.setIgnoringElementContentWhitespace(true) did not work.
    Anyone can help me? thanks.
    Heavy ZHENG

    I just dont understand why factory.setIgnoringElementContentWhitespace(true) did not work.That only does something if the XML has a DTD that enables it to know what whitespace can be ignored and what is significant. The API documentation for the method refers you to this document:
    http://www.w3.org/TR/REC-xml#sec-white-space

  • Best setting for encoding flv video?

    What is the best, most universally accepted setting for encoding flv videos to be viewed over cable modem access?
    Best,
    Brian Russell
    Gainesville Health & Fitness Centers
    www.ghfc.com

    I completely understand.
    For print work, I did a lot of that with either Save_As, or Save_As_a_Copy in Photoshop. Then, they added Layer Comps, and that cut down on the work, but allowed me to have several "treatments."
    Have not used that in PrPro though. I see the usefulness of the feature though.
    Yeah, clients are fond of saying, "really appreciate you following all of my ideas, but I think I like what you had last week better... Can we go with it, but with these few extra changes?" Happens all too frequently. Lot easier now, than back in the old days, when one painted the cyc, set up the shot, and lit it, only to have the AD change the color of the cyc. When done, they'd often say, "liked that original color better. Let's tear it all down and re-paint to that." Now, I just change the color of the background digitally - a lot less painting!!!"
    Thanks for that tip,
    Hunt

  • Converting into XML without using DOM

    Hi there,
    I need to generate a XML file on the fly, given a HashMap. It will be used later to feed into XSLT parser.
    Instead of using DOM parser which is memory intensive, I am generating the XML by appending the necessary into a String. For eg:
    StringBuffer st = new StringBuffer();
    sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    sb.append( "\n" );
    sb.append("<"+ transaction.getCode() + ">");
    ...........................so on
    I tried to gain resources in the book, but every example will actually use DOM to build a XML file.
    I am just thinking what is the repercussion if i do not use DOM.
    Could anyone please advice.
    Thanks.

    None really, if you don't need to walk the tree and have random access. Some find it hard to read / maintain, but I don't mind it. If you are just outputting to XSLT, what you are doing will work fine.

  • Parsing .xsd files using DOM

    Hi,
    I am trying to parse a xsd file using DOM. The xsd has several nodes like
    <xsd:complexType name="AccountLocate">
    I want to extract the strings AccountLocate and AccountCategory and use them for further processing.
    The hierarchy of the nodes is created without issues, but when I try to view the name and value of each node using getNodeName() and getNodeValue() method the node name I get and node value is as follows:
    NODE-NAME NODE-VALUE NODE-TYPE
    xsd:complexType null 1 //corresponds to the xsd:complexType node
    #text 3 //corresponds to the AccountLocate node
    Is there anyway (any DOM method for example) by which I can isolate the name AccountLocate?
    Thanks and regards,
    Prabal

    Which parser is used for parsig?
    With the DocumentBuilder parser set:
    DocumentBuilderFactory factory
    = DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(true);For parsing with the javax.xml.xpath.XPath class set the NamespaceContext on the XPath object.

Maybe you are looking for