XML document creation

Does anyone know of a Javascript or PHP script that will
allow a client to create new and update existing xml documents that
can be used with the Spry Dataset, through an admin area?

I don't know of such a system. We do have a script that can
convert queries to XML:
http://labs.adobe.com/technologies/spry/samples/utils/query2xml.html
And I know there are PHP scripts for inserting and updating
records in a database, which might be easier.
Hope this helps,
Donald Booth
Adobe Spry Team

Similar Messages

  • XML document creation using reflection

    Hi all,
    I'm tyring to write a class which creates an XML document from objects passed in. For example, you call the add(Object) method and it takes your object, uses reflection, then outputs XML like this...
    <fieldName>fieldValue<fieldName>
    The only problem is that after looking through this forum I am a little concerned about the performance of my proposed solution (using reflection).
    The class will be used in a batch process which processes millions of objects (to generate a whopping XML file that'll be sent on for further processing by a third party).
    Is there a better way to do this than by using reflection?
    This class is going to be used by multiple batch processes hence there will be lots of different object types passed (they'll also be new ones in the future that we don't even know about yet) hence my reflection choice.
    Thanks,
    Chris

    The only problem is that after looking through this
    forum I am a little concerned about the performance of
    my proposed solution (using reflection).The only way that you'll know for sure is if you try it out. Write the code, test it, then run it in a profiler to find out where the performance problems (if any) are.
    Is there a better way to do this than by using
    reflection?Probably not, if you want to pass any arbitrary object to it.
    One possible alternative is to have "XML aware" objects: define an interface WritesXML, that defines a method toXML(). You then check to see whether the given object implements this interface, and if it does you simply call the method, otherwise you use reflection.
    Another alternative, assuming that your objects follow the Bean pattern, is to create "XML-ifiers" on the fly, similar to the way an app-server handles JSPs. First time you see an object you create a class that will write it to XML, then compile this class and invoke it for all subsequent objects. This will require that you have a JDK installed on the runtime machine, that the objects follow the Bean pattern, and that the number of instances of a given class are very high.
    This class is going to be used by multiple batch
    processes hence there will be lots of different object
    types passed (they'll also be new ones in the future
    that we don't even know about yet) hence my reflection
    choice.Sounds like a good reason to use reflection.

  • Creation of a XML Document with DTD entry

    I am trying to create a XML file on the fly. I use the
    NodeFactory to contruct a document (createDocument()). I have
    then setStandalone("no") and setVersion("1.0"). when I try to
    add a DOCTYPE node via appendChild( new XMLNode("test",
    Node.DOCUMENT_TYPE_NODE)), I get a ClassCastException.
    This is using the 1.0.1.1.0 xml parser.
    What is the mechanism to add a node of this type? I noticed that
    the NodeFactory did not have a machanism for creating a DOCTYPE
    node.
    null

    Nestor Dutko (guest) wrote:
    : I am trying to create a XML file on the fly. I use the
    : NodeFactory to contruct a document (createDocument()). I have
    : then setStandalone("no") and setVersion("1.0"). when I try to
    : add a DOCTYPE node via appendChild( new XMLNode("test",
    : Node.DOCUMENT_TYPE_NODE)), I get a ClassCastException.
    : This is using the 1.0.1.1.0 xml parser.
    : What is the mechanism to add a node of this type? I noticed
    that
    : the NodeFactory did not have a machanism for creating a DOCTYPE
    : node.
    There is no mechanism to create a new DOCUMENT_TYPE_NODE object
    via DOM APIs. The only way to get a DTD object is to parse the
    DTD file or the XML file using the DOMParser, and then use the
    getDocType() method. Note that new XMLNode("test",
    Node.DOCUMENT_TYPE_NODE) does not create a DTD
    object. It creates an XMLNode object with the type set to
    DOCUMENT_TYPE_NODE, which infact should not be allowed. The
    ClassCastException is raised because appendChild expects a DTD
    object (based on the type).
    Also, we do not do any validation while creating the DOM tree
    using the DOM APIs. So setting the DTD in the Document will not
    help in validating the DOM tree that is constructed. The only way
    to validate an XML file is to parse the XML document using
    DOMParser or SAXParser.
    Oracle XML Team
    http://technet.oracle.com
    Oracle Technology Network
    null

  • TP Agreement Not Found -- OAGIS XML document over AS2

    Hi,
    I am getting TP Agreement not found error while receiving OAGIS XML document over AS2. Below is error message.
    Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND
    I am not sure why it says null-INBOUND. It appears like it is not able to identify Document Version. DOCTYPE_REVISION=7.2.1 is being passed in the AS2 transport headers but still it does not recognize the version.
    I am not sure what is missing. Please give some ideas hints.
    Below is the Business Message:----
    Id     AC12149513F1F78141400000E7DEDE00
    Message Id     AC12149513F1F78136200000E7DED800
    Refer To Message     Refer To Message
    Sender Type     AS2 Identifier
    Sender Value     SOALocal
    Receiver Type     AS2 Identifier
    Receiver Value     PowellIndustries
    Sender     SOALocal
    Receiver     Powell
    Agreement Id     
    Agreement     
    Document Type     PROCESS_INVOICE_002
    Document Protocol     OAG
    Document Version     7.2.1
    Message Type     REQ
    Direction     INBOUND
    State     MSG_ERROR
    Acknowledgement Mode     NONE
    Response Mode     ASYNC
    Send Time Stamp     06/07/2013 11:28:49 AM
    Receive Time Stamp     06/07/2013 11:28:50 AM
    Document Retry Interval(Channel)     0
    Document Remaining Retry(Channel)     0
    Document Retry Interval(Agreement)     
    Document Remaining Retry(Agreement)     
    Native Message Size     10788
    Translated Message Size     
    Business Action Name     
    Business Transaction Name     
    Xpath Name1     
    Xpath Value1     
    Xpath Expression1     
    Xpath Name2     
    Xpath Value2     
    Xpath Expression2     
    Xpath Name3     
    Xpath Value3     
    Xpath Expression3     
    Correlation From XPath Name     
    Correlation From XPath Value     
    Correlation From XPath Expression     
    Correlation To XPath Name     
    Correlation To XPath Value     
    Correlation To XPath Expression     
    Wire Message     Wire Message
    Application Message     Application Message
    Payload Storage     Payload Storage
    Attachment     Attachment
    Label     
    Collaboration Id     AC12149513F1F7813BF00000E7DEDB00
    Collabration Name     
    Collabration Version     
    Business Action Name     
    Exchange Protocol Name     AS2
    Exchange Protocol Version     1.1
    Interchange Control Number     
    Group Control Number     
    Transaction Set Control Number     
    Error Code     B2B-50547
    Error Description     Machine Info: (pwl.pri) Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
    Error Level     ERROR_LEVEL_COLLABORATION
    Error Severity     ERROR
    Error Text     Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
    Below is the Wire Message:----
    Id     AC12149513F1F78115400000E7DED600
    Message Id     AC12149513F1F78115400000E7DED600
    Business Message     AC12149513F1F78141400000E7DEDE00
    Packed Message     Packed Message
    Payload     Payload
    Protocol Message Id     <38383939373331343630313931303737@SOALocal>
    Refer To Protocol Message Id     
    Protocol Collaboration Id     
    Protocol Transport Binding     ChannelName=SOALocal dcID=CHANNEL_nlzbB-7511847722850817684 AS2-To=PowellIndustries DOCTYPE_NAME=PROCESS_INVOICE_002 TE=trailers, deflate, gzip, compress DOCTYPE_REVISION=7.2.1 Date=Fri, 07 Jun 2013 16:28:49 GMT AS2-Version=1.1 Accept-Encoding=gzip, x-gzip, compress, x-compress AS2-From=SOALocal url=http://pwl.pri/b2b/transportServlet Content-Transfer-Encoding=binary Message-ID=<38383939373331343630313931303737@SOALocal> Content-type=application/pkcs7-mime; smime-type="enveloped-data" MSG_RECEIVED_TIME=Fri Jun 07 11:28:49 CDT 2013 ECID-Context=1.71b9d2a41e5aaef0:-10db6371:13f1ee6cb74:-8000-000000000000276d;khvE MIME-version=1.0 tpName=PowellIndustries User-Agent=AS2 Server Oracle HTTPClient Version 10h Content-Length=13663 Host=pwl.pri:8001 Connection=close, TE useProxy=false From=SOALocal additionalHeaders=DOCTYPE_NAME=PROCESS_INVOICE_002#DOCTYPE_REVISION=7.2.1
    Message Digest     Message Digest
    Digest Algorithm     md5
    Transport Protocol     HTTP
    Transport Protocol Version     1.1
    Url     http://pwl.pri:8001/b2b/transportServlet
    security     
    Transport Headers     ChannelName=SOALocal dcID=CHANNEL_nlzbB-7511847722850817684 AS2-To=PowellIndustries DOCTYPE_NAME=PROCESS_INVOICE_002 TE=trailers, deflate, gzip, compress DOCTYPE_REVISION=7.2.1 Date=Fri, 07 Jun 2013 16:28:49 GMT AS2-Version=1.1 Accept-Encoding=gzip, x-gzip, compress, x-compress AS2-From=SOALocal url=http://pwl.pri:8001/b2b/transportServlet Content-Transfer-Encoding=binary Message-ID=<38383939373331343630313931303737@SOALocal> Content-type=application/pkcs7-mime; smime-type="enveloped-data" MSG_RECEIVED_TIME=Fri Jun 07 11:28:49 CDT 2013 ECID-Context=1.71b9d2a41e5aaef0:-10db6371:13f1ee6cb74:-8000-000000000000276d;khvE MIME-version=1.0 tpName=PowellIndustries User-Agent=AS2 Server Oracle HTTPClient Version 10h Content-Length=13663 Host=pwl.pri:8001 Connection=close, TE useProxy=false From=SOALocal additionalHeaders=DOCTYPE_NAME=PROCESS_INVOICE_002#DOCTYPE_REVISION=7.2.1
    certificates     certificates
    State     ERROR
    Reattempt Count     
    Error Code     B2B-50547
    Error Description     Machine Info: (pwl.pri) Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
    Error Text     Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
    exchangeRetryInterval     
    exchangeRemainingRetry     
    Message Size     10788
    Thanks
    Ismail M.

    Hi Anuj,
    Here is the payload from the wire message. We are using 11.1.1.6.0
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <PROCESS_INVOICE_002 xmlns="http://www.openapplications.org/171_process_invoice_002">
      <CNTROLAREA xmlns="">
        <BSR>
          <VERB value="PROCESS">PROCESS</VERB>
          <NOUN value="INVOICE">INVOICE</NOUN>
          <REVISION value="002">002</REVISION>
        </BSR>
        <SENDER>
          <LOGICALID>POWELLIND</LOGICALID>
          <COMPONENT>B2B</COMPONENT>
          <TASK/>
          <REFERENCEID/>
          <CONFIRMATION>0</CONFIRMATION>
          <LANGUAGE>ENG</LANGUAGE>
          <CODEPAGE/>
          <AUTHID>oracle B2B</AUTHID>
        </SENDER>
        <DATETIME qualifier="CREATION">
          <YEAR/>
          <MONTH/>
          <DAY/>
          <HOUR/>
          <MINUTE/>
          <SECOND/>
          <SUBSECOND/>
          <TIMEZONE/>
        </DATETIME>
      </CNTROLAREA>
      <DATAAREA xmlns="">
        <PROCESS_INVOICE>
          <INVHEADER>
            <AMOUNT qualifier="DOCUMENT" type="T" index="1">
              <VALUE>5413</VALUE>
              <NUMOFDEC>2</NUMOFDEC>
              <SIGN>+</SIGN>
              <CURRENCY>USD</CURRENCY>
              <DRCR>D</DRCR>
            </AMOUNT>
            <DATETIME qualifier="DOCUMENT" index="1">
              <YEAR>2013</YEAR>
              <MONTH>03</MONTH>
              <DAY>15</DAY>
              <HOUR>00</HOUR>
              <MINUTE>00</MINUTE>
              <SECOND>00</SECOND>
              <SUBSECOND>0000</SUBSECOND>
              <TIMEZONE>-0500</TIMEZONE>
            </DATETIME>
            <DOCUMENTID>1000182</DOCUMENTID>
            <DESCRIPTN/>
            <DOCTYPE/>
            <PAYMETHOD/>
            <REASONCODE/>
            <USERAREA/>
            <PARTNER>
              <NAME index="1">Powell US Operating Unit</NAME>
              <ONETIME/>
              <PARTNRID/>
              <PARTNRTYPE>Supplier</PARTNRTYPE>
              <SYNCIND/>
              <ACTIVE/>
              <CURRENCY/>
              <DESCRIPTN/>
              <DUNSNUMBER/>
              <GLENTITYS/>
              <NAME index="1">Powell US Operating Unit</NAME>
              <PARENTID/>
              <PARTNRIDX/>
              <PARTNRRATG/>
              <PARTNRROLE/>
              <PAYMETHOD/>
              <TAXEXEMPT/>
              <TAXID/>
              <TERMID/>
              <USERAREA/>
              <CONTACT>
                <NAME index="1">No Sales Credit</NAME>
                <CONTCTTYPE/>
                <DESCRIPTN/>
                <EMAIL/>
                <FAX index="1"/>
                <TELEPHONE index="1"/>
                <USERAREA/>
              </CONTACT>
            </PARTNER>
            <PARTNER>
              <NAME index="1">PO Box 843823, Dallas, Dallas, TX, 75284-3823, United States</NAME>
              <ONETIME/>
              <PARTNRID/>
              <PARTNRTYPE>RemitTo</PARTNRTYPE>
              <SYNCIND/>
              <ACTIVE/>
              <CURRENCY/>
              <DESCRIPTN/>
              <DUNSNUMBER/>
              <GLENTITYS/>
              <NAME index="1">PO Box 843823, Dallas, Dallas, TX, 75284-3823, United States</NAME>
              <PARENTID/>
              <PARTNRIDX/>
              <PARTNRRATG/>
              <PARTNRROLE/>
              <PAYMETHOD/>
              <TAXEXEMPT/>
              <TAXID/>
              <TERMID/>
              <USERAREA/>
              <ADDRESS>
                <ADDRLINE index="1">PO Box 843823</ADDRLINE>
                <ADDRTYPE/>
                <CITY>Dallas</CITY>
                <COUNTRY>United States</COUNTRY>
                <COUNTY>Dallas</COUNTY>
                <DESCRIPTN/>
                <FAX index="1"/>
                <POSTALCODE/>
                <REGION/>
                <STATEPROVN>TX</STATEPROVN>
                <TAXJRSDCTN/>
                <TELEPHONE index="1"/>
                <URL/>
                <USERAREA/>
              </ADDRESS>
              <CONTACT>
                <NAME index="1"/>
                <CONTCTTYPE/>
                <DESCRIPTN/>
                <EMAIL/>
                <FAX index="1"/>
                <TELEPHONE index="1"/>
                <USERAREA/>
              </CONTACT>
            </PARTNER>
            <PARTNER>
              <NAME index="1"/>
              <ONETIME/>
              <PARTNRID/>
              <PARTNRTYPE>Carrier</PARTNRTYPE>
              <SYNCIND/>
              <ACTIVE/>
              <CURRENCY/>
              <DESCRIPTN/>
              <DUNSNUMBER/>
              <GLENTITYS/>
              <NAME index="1"/>
              <PARENTID/>
              <PARTNRIDX/>
              <PARTNRRATG/>
              <PARTNRROLE/>
              <PAYMETHOD/>
              <TAXEXEMPT/>
              <TAXID/>
              <TERMID/>
              <USERAREA/>
              <ADDRESS>
                <ADDRLINE index="1"/>
                <ADDRTYPE/>
                <CITY/>
                <COUNTRY/>
                <COUNTY/>
                <DESCRIPTN/>
                <FAX index="1"/>
                <POSTALCODE/>
                <REGION/>
                <STATEPROVN/>
                <TAXJRSDCTN/>
                <TELEPHONE index="1"/>
                <URL/>
                <USERAREA/>
              </ADDRESS>
              <CONTACT>
                <NAME index="1"/>
                <CONTCTTYPE/>
                <DESCRIPTN/>
                <EMAIL/>
                <FAX index="1"/>
                <TELEPHONE index="1"/>
                <USERAREA/>
              </CONTACT>
            </PARTNER>
            <DOCUMNTREF>
              <DOCTYPE>INV</DOCTYPE>
              <DOCUMENTID>10005:21009</DOCUMENTID>
              <PARTNRID/>
              <PARTNRTYPE>Supplier</PARTNRTYPE>
              <DESCRIPTN/>
              <DOCUMENTRV/>
              <LINENUM/>
              <NOTES index="1"/>
              <SCHLINENUM/>
              <SUBLINENUM/>
              <USERAREA/>
            </DOCUMNTREF>
            <INVTAX>
              <AMOUNT qualifier="TAX" type="T" index="1">
                <VALUE>413</VALUE>
                <NUMOFDEC>2</NUMOFDEC>
                <SIGN>+</SIGN>
                <CURRENCY>USD</CURRENCY>
                <DRCR>D</DRCR>
              </AMOUNT>
              <AMOUNT qualifier="TAXBASE" type="T" index="1">
                <VALUE>5413</VALUE>
                <NUMOFDEC>2</NUMOFDEC>
                <SIGN>+</SIGN>
                <CURRENCY>USD</CURRENCY>
                <DRCR>D</DRCR>
              </AMOUNT>
              <QUANTITY qualifier="PERCENT">
                <VALUE/>
                <NUMOFDEC/>
                <SIGN/>
                <UOM/>
              </QUANTITY>
              <DESCRIPTN/>
              <LINENUM/>
              <TAXCODE/>
              <TAXJRSDCTN/>
              <USERAREA/>
            </INVTAX>
            <PYMTTERM>
              <AMOUNT qualifier="DISCNT" type="T" index="1">
                <VALUE/>
                <NUMOFDEC/>
                <SIGN/>
                <CURRENCY/>
                <DRCR/>
              </AMOUNT>
              <DATETIME qualifier="DISCNT" index="1">
                <YEAR/>
                <MONTH/>
                <DAY/>
                <HOUR/>
                <MINUTE/>
                <SECOND/>
                <SUBSECOND/>
                <TIMEZONE/>
              </DATETIME>
              <DATETIME qualifier="DUE" index="1">
                <YEAR>2013</YEAR>
                <MONTH>04</MONTH>
                <DAY>14</DAY>
                <HOUR>00</HOUR>
                <MINUTE>00</MINUTE>
                <SECOND>00</SECOND>
                <SUBSECOND>0000</SUBSECOND>
                <TIMEZONE>-0500</TIMEZONE>
              </DATETIME>
              <DATETIME qualifier="PYMTTERM" index="1">
                <YEAR>1952</YEAR>
                <MONTH>01</MONTH>
                <DAY>01</DAY>
                <HOUR>00</HOUR>
                <MINUTE>00</MINUTE>
                <SECOND>00</SECOND>
                <SUBSECOND>0000</SUBSECOND>
                <TIMEZONE>-0600</TIMEZONE>
              </DATETIME>
              <DESCRIPTN>Net Due in 30 Days</DESCRIPTN>
              <TERMID>30 NET</TERMID>
              <USERAREA>
                <AMOUNT qualifier="TOTAL" type="T" index="1">
                  <VALUE>5413</VALUE>
                  <NUMOFDEC>2</NUMOFDEC>
                  <SIGN>+</SIGN>
                  <CURRENCY/>
                  <DRCR>D</DRCR>
                </AMOUNT>
              </USERAREA>
            </PYMTTERM>
          </INVHEADER>
          <INVLINE>
            <AMOUNT qualifier="EXTENDED" type="T" index="1">
              <VALUE>50</VALUE>
              <NUMOFDEC/>
              <SIGN>+</SIGN>
              <CURRENCY/>
              <DRCR>D</DRCR>
            </AMOUNT>
            <OPERAMT qualifier="UNIT" type="T">
              <VALUE>5</VALUE>
              <NUMOFDEC/>
              <SIGN>+</SIGN>
              <CURRENCY/>
              <UOMVALUE>1</UOMVALUE>
              <UOMNUMDEC>0</UOMNUMDEC>
              <UOM/>
            </OPERAMT>
            <QUANTITY qualifier="ITEM">
              <VALUE>10</VALUE>
              <NUMOFDEC/>
              <SIGN>+</SIGN>
              <UOM/>
            </QUANTITY>
            <LINENUM>1</LINENUM>
            <DESCRIPTN>11GA SHEET STEEL HOT ROLLED-PICKLED-OILED COMMERCIAL QUALITY.</DESCRIPTN>
            <ITEM>11GA SHEET STEEL HOT ROLLED-PICKLED-OILED COMMERCIAL QUALITY.</ITEM>
            <ITEMTYPE/>
            <ITEMX>11HRPO</ITEMX>
            <OPENITEM/>
            <PROJACTVTY/>
            <UNIT>LB</UNIT>
            <UPC/>
            <USERAREA/>
            <DOCUMNTREF>
              <DOCTYPE>LINE</DOCTYPE>
              <DOCUMENTID>10005:21009:19019</DOCUMENTID>
              <PARTNRID/>
              <PARTNRTYPE>Supplier</PARTNRTYPE>
              <DESCRIPTN/>
              <USERAREA/>
            </DOCUMNTREF>
            <DOCUMNTREF>
              <DOCTYPE>SalesOrder</DOCTYPE>
              <DOCUMENTID>600813</DOCUMENTID>
              <PARTNRID/>
              <PARTNRTYPE/>
              <DESCRIPTN/>
              <USERAREA/>
            </DOCUMNTREF>
            <DOCUMNTREF>
              <DOCTYPE>PurchaseOrder</DOCTYPE>
              <DOCUMENTID>TEST123</DOCUMENTID>
              <PARTNRID>N/A</PARTNRID>
              <PARTNRTYPE>Customer</PARTNRTYPE>
              <DESCRIPTN/>
              <DOCUMENTRV/>
              <LINENUM/>
              <SCHLINENUM/>
            </DOCUMNTREF>
          </INVLINE>
        </PROCESS_INVOICE>
      </DATAAREA>
    </PROCESS_INVOICE_002>

  • XML Document object access problem?

    Hi,
    I have created a servlet,which will call .sh file, which will call java application.........
    this java application is working as a search engine,which will do search in the XML document object...........This is working fine when only one user run this servlet...........But when more than servlet do the same it is not working......... But once first servlet create the Document object,which is main source for serching..........then second servlet will work fine.......same thing with third servlet and so on...... I used the thread.sleep()/synchronize but it is not working...bcoz i am accessing the same application.....Then instead of servlet i tried to run the java application from the Dos prompt..........But i am facing the same problem......So pl guide me bcoz everything is working excluding this..........Becoz this document object creation is taking some time........ i am creating the object shown below
    Document doc =parseXmlFile("Article.xml", false);
    Element docElem = doc.getDocumentElement();
    public static org.w3c.dom.Document parseXmlFile(String filename, boolean validating)
                   try {
         // Create a builder factory
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         factory.setValidating(validating);
         // Create the builder and parse the file
         // org.w3c.dom.Document doc = factory.newDocumentBuilder().parse(filename);
         org.w3c.dom.Document doc = factory.newDocumentBuilder().parse(new File(filename));
         return doc;
    } catch (SAXException e) {
    // A parsing error occurred; the xml input is not valid
    } catch (ParserConfigurationException e) {
    } catch (IOException e) {
    return null;
    }

    Hi,
    This is my Servlet code..............
    package PW.Feed;
    import java.io.*;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.StreamResult;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.util.*;
    public class PrintDom extends HttpServlet
         Document doc;
         Element docElem;
         Connection Conn=null;
         Statement stmt=null,stmt1=null;
         ResultSet rs1=null,rs=null;
         PrintWriter out;
         Vector myVector1=new Vector();
         Vector myVector2=new Vector();
         String strSql="";
         public void doGet(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
              res.setContentType("text/html");
              out=res.getWriter();
              try
                   String pubtype=req.getParameter("PubType");
                   String pubDate=req.getParameter("PubDate");
                   String toDate=req.getParameter("ToDate");
                   String fromDate=req.getParameter("FromDate");
                   if(pubDate==null)pubDate="2";
                   if(toDate==null)toDate="02/09/2005";
                   if(fromDate==null)fromDate="02/08/2005";
                   Class.forName("org.firebirdsql.jdbc.FBDriver");
                   Conn = DriverManager.getConnection("jdbc:firebirdsql:192.168.0.15/3050:D:/FBDatabases/PW1.GDB","SYSDBA","cohezia");
                   //Conn = DriverManager.getConnection("jdbc:firebirdsql:192.168.0.99/3050:/share/pw1.gdb","SYSDBA","cohezia");
                   stmt = Conn.createStatement( );
                   if(pubDate.equals("2"))
                        strSql="Select sh.ARTICLEID,sh.cuttingsdate,sh.READDATE,sh.headline,sh.SUMMARY,sh.AUTHOR,sh.PAGEFROM,sh.PUB_NAME,sh.READER_NAME,sh.PARENTTITLE,sh.CANMAIL,sh.PUBLICATION_ID,sh.JOURNALIST_ID,sh.ISPDF FROM SCANSHEADER sh,PUBLICATIONS p where sh.publication_id=p.publication_id and sh.readdate>'"+fromDate+"' and sh.readdate<'"+toDate+"' and p.pubtype='"+ pubtype +"' order by sh.ARTICLEID";
                   else
                        strSql="Select sh.ARTICLEID,sh.cuttingsdate,sh.READDATE,sh.headline,sh.SUMMARY,sh.AUTHOR,sh.PAGEFROM,sh.PUB_NAME,sh.READER_NAME,sh.PARENTTITLE,sh.CANMAIL,sh.PUBLICATION_ID,sh.JOURNALIST_ID,sh.ISPDF FROM SCANSHEADER sh,PUBLICATIONS p where sh.publication_id=p.publication_id and sh.cuttingsdate>'"+fromDate+"' and sh.cuttingsdate<'"+toDate+"' and p.pubtype='"+ pubtype +"' order by sh.ARTICLEID";
                   rs=stmt.executeQuery(strSql);
                   DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
                   doc = builder.newDocument();
                   docElem = doc.createElement("RECORDLIST");
                   doc.appendChild(docElem);
                   Element rootElem = doc.createElement("RECORDS");
                   docElem.appendChild(rootElem);
                   String artid="";
                   while(rs.next())
                             Element artElem = doc.createElement("RECORD");
                             if((rs.getString("ARTICLEID")).length()>0)artElem.setAttribute("id",rs.getString("ARTICLEID"));
                             rootElem.appendChild(artElem);
                             Element rootFieldElem = doc.createElement("FIELDS");
                             artElem.appendChild(rootFieldElem);
                             Element eleCuttingDate = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleCuttingDate);
                             eleCuttingDate.setAttribute("fieldName","CUTTINGSDATE");
                             if((rs.getString("CUTTINGSDATE")).length()>0) eleCuttingDate.appendChild(doc.createTextNode(rs.getString("CUTTINGSDATE")));
                             Element eleReadDate = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleReadDate);
                             eleReadDate.setAttribute("fieldName","READDATE");
                             if((rs.getString("READDATE")).length()>0) eleReadDate.appendChild(doc.createTextNode(rs.getString("READDATE")));
                             Element eleHeadLine = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleHeadLine);
                             eleHeadLine.setAttribute("fieldName","HEADLINE");
                             if((rs.getString("HEADLINE")).length()>0) eleHeadLine.appendChild(doc.createTextNode(rs.getString("HEADLINE")));
                             Element eleSummary = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleSummary);
                             eleSummary.setAttribute("fieldName","SUMMARY");
                             if(rs.getString("SUMMARY")==null){
                                  //out.println("String is null");
                                  else
                                  {eleSummary.appendChild(doc.createTextNode(rs.getString("SUMMARY")));}
                             Element eleAuthor = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleAuthor);
                             eleAuthor.setAttribute("fieldName","AUTHOR");
                             if((rs.getString("AUTHOR")).length()>0) eleAuthor.appendChild(doc.createTextNode(rs.getString("AUTHOR")));
                             Element elePageFrom = doc.createElement("FIELD");
                             rootFieldElem.appendChild(elePageFrom);
                             elePageFrom.setAttribute("fieldName","PAGEFROM");
                             if((rs.getString("PAGEFROM")).length()>0) elePageFrom.appendChild(doc.createTextNode(rs.getString("PAGEFROM")));
                             Element elePubName = doc.createElement("FIELD");
                             rootFieldElem.appendChild(elePubName);
                             elePubName.setAttribute("fieldName","PUBNAME");
                             if((rs.getString("PUB_NAME")).length()>0) elePubName.appendChild(doc.createTextNode(rs.getString("PUB_NAME")));
                             Element eleReaderName = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleReaderName);
                             eleReaderName.setAttribute("fieldName","READER NAME");
                             if((rs.getString("READER_NAME")).length()>0) eleReaderName.appendChild(doc.createTextNode(rs.getString("READER_NAME")));
                             Element eleParentTitle = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleParentTitle);
                             eleParentTitle.setAttribute("fieldName","PARENTTITLE");
                             if((rs.getString("PARENTTITLE")).length()>0)eleParentTitle.appendChild(doc.createTextNode(rs.getString("PARENTTITLE")));
                             Element eleCanMail = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleCanMail);
                             eleCanMail.setAttribute("fieldName","CANMAIL");
                             if((rs.getString("CANMAIL")).length()>0) eleCanMail.appendChild(doc.createTextNode(rs.getString("CANMAIL")));
                             Element elePublicationID = doc.createElement("FIELD");
                             rootFieldElem.appendChild(elePublicationID);
                             elePublicationID.setAttribute("fieldName","PUBLICATION_ID");
                             if((rs.getString("PUBLICATION_ID")).length()>0) elePublicationID.appendChild(doc.createTextNode(rs.getString("PUBLICATION_ID")));
                             Element eleJournlistID = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleJournlistID);
                             eleJournlistID.setAttribute("fieldName","JOURNALIST_ID");
                             if((rs.getString("JOURNALIST_ID")).length()>0) eleJournlistID.appendChild(doc.createTextNode(rs.getString("JOURNALIST_ID")));
                             Element eleIspdf = doc.createElement("FIELD");
                             rootFieldElem.appendChild(eleIspdf);
                             eleIspdf.setAttribute("fieldName","ISPDF");
                             if((rs.getString("ISPDF")).length()>0) eleIspdf.appendChild(doc.createTextNode(rs.getString("ISPDF")));
                             Element rootKeyElem=doc.createElement("KEYWORDS_CODES");
                        String[] arrCodes=getKeyCodes(rs.getString("ARTICLEID"));
                        int count1 = myVector1.size();
                        String[] myArray1=new String[count1];
                        myVector1.copyInto(myArray1);
                        int count2 = myVector2.size();
                        String[] myArray2=new String[count2];
                        myVector2.copyInto(myArray2);
                        for(int j=0;j<arrCodes.length;j++)
                             Element eleKeyword= doc.createElement("KEYWORD_CODE");
                             eleKeyword.setAttribute("CodeId",arrCodes[j]);
                             eleKeyword.setAttribute("LongName",myArray1[j]);
                             eleKeyword.setAttribute("CodeType",myArray2[j]);
                             rootKeyElem.appendChild(eleKeyword);
                        artElem.appendChild(rootKeyElem);
                   Source source = new DOMSource(docElem);
                   //File file = new File("/share/PrintDom.xml");
                   StringWriter rw=new StringWriter();
                   Result result = new StreamResult(rw);
                   //Result result = new DOMResult();
                   // Write the DOM document to the file
                   Transformer xformer = TransformerFactory.newInstance().newTransformer();
                   xformer.transform(source, result);
                   out.println(rw);
              catch (ClassNotFoundException e)
                        out.println("Unable to load Driver Class" + e);
                        return;
                        //fileLog.log(e,"PressWatchFrame1.PressWatchFrame1()");
              catch (SQLException se)
                   out.println(se);
              catch (Exception e)
                   out.println(e);
    finally{
                        try{
                             if(Conn!=null) Conn.close();
                        catch(SQLException ignored){}
         public String[] getKeyCodes(String strArticleId)
              Vector myVector=new Vector();
              myVector1.removeAllElements();
              myVector2.removeAllElements();
         try{
              stmt1=Conn.createStatement( );
              //String strSql1="Select codeid FROM SCANSSUBJECT where articleid='"+ strArticleId +"'";
              String strSql1="Select ss.codeid,c.longname,c.codetype FROM SCANSSUBJECT ss,CODES c where ss.codeid=c.codeid and articleid='"+ strArticleId +"'";
              rs1=stmt1.executeQuery(strSql1);
              String strCodes="";
              while(rs1.next())
                   myVector.add(rs1.getString("codeid"));
                   myVector1.add(rs1.getString("longname"));
                   myVector2.add(rs1.getString("codetype"));
              }catch (SQLException se)
                                       out.println(se);
              int count = myVector.size();
              String[] myArray = new String[count];
              myVector.copyInto(myArray);
              return myArray;
    ..................Thanx

  • A space in xml-document is stored in database as New line feed instead of n

    Hello,
    I have got the following problem:
    An xml-document is inserted by an xsql servlet into an object view. First this document is translated by an xsl file. Then an instead of trigger inserts the values into the right tables.
    When a space is present (only one space no further string-value) in the xml-document then this space is inserted into the database as a new line feed.(chr(10))
    When I add the following line to the tag
    <bnr_name xml:space="preserve"> </bnr_name>
    then the space is stored as a space. (chr(32))
    What I want is that this space is inserted as a NULL- value.
    Does anyone know a solution in xml or xsl? (Of course I can solve it on the database side by programming a function around it, but I want to solve it on the xml or xsl side)
    Bye
    jan-Paul Duister

    Few questions which might help to understand the issue.
    1. Is client's data is coming in more than 72 chars per each line? Then you can request client to send the data with max. 72 chars per line. Else dividing the string into 72 chars will loose the readability of text since logic can not be built to divide the text.
    Start reading the text string starting from left for maximum 72 chars . If 72th character is non space then go backwards i.e. read 71, 70, 69... till last character should be a SPACE.
    Eg. string is
    'xxxxxxxxxxx...........This material is created for plant xyz. date of creation is 03.02.2009'.
    x = string72(1) should be a SPACE else take x = string71(1)  and likewise.

  • Updating XML document

    After creation of a XML document through DOM is it possible to update the same XML document with new tags
    Thanks
    Sasanka

    s, it is possible to xmldocument with new tags.for example u need to create a new node of requirement and import that node to required document and use replace to update.

  • How to publish XML document whose source is stored in clob column

    I have to create simple application:
    in one table are stored some information about XML documents (date of creation, etc.) and the document source itself in one (unfortunatelly clob type) column.
    The point is to anable users finding document(s) and viewing it.
    Using forms I can search and display information about documents. But I have no idea how to publish XML document whose source is stored in clob column.
    I am using Oracle Portal 3.0 on NT.
    Thanks in advance.

    Hi Sergio,
    This link might be helpful:
    http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/apex/r31/apex31nf/apex31blob.htm
    Also refer the BLOB Download Format Mask :
    {message:id=9716335}
    Here I have given the format mask for APEX 4.0, which will slightly differ for 3.2.1 and proposed changes
    in the format mask are:
    1) Format Mask: DOWNLOAD
    2) Content Disposition: Inline
    This will be achieved with it:
    >
    But now, my user would like to know if it´s possible that APEX application can OPEN some of these files stored on this BLOB column WITHOUT download it.
    My user would like to see a hiperlink (or button) that, if pressed/acessed, can open a new page (or a page inside application) with the document. He doesn´t need to edit this oppened file. He only wants to see it.
    >
    Hope it helps!
    Regards,
    Kiran

  • Error while loading an XML document using a structured application

    Hi,
    I try to load an XML document using a structured application defined in the default structapps.fm
    My code is shown down, extracted from the FDK API code sample.
    Problem, I always have the same message :
    "Cannot find the file named e:\xml\AdobeFrameMaker10\file. Make sure that the file exists. "
    Where "e:\xml\AdobeFrameMaker10\" is my install directory.
    So I assume that frame try to find the structapps.fm file but does not find it.
    What else can it be ?
    Does anyone knowns how to achieve this simple task using extendScript ?
    Thanks for any comments, Pierre
    function openXMLFile(myLastFile) {
        var filename = myLastFile.openDlg("Choose XML file ...", "*.xml", false);
        if (filename != null) {
            /* Get default open properties. Return if it can’t be allocated. */
            var params = GetOpenDefaultParams();
            /* Set properties to open an XML document*/
            /*Specify XML as file type to open*/
            var i = GetPropIndex(params, Constants.FS_OpenAsType)
            params[i].propVal.ival = Constants.FV_TYPE_XML;
            /* Specify the XML application to be used when opening the document.*/
            i = GetPropIndex(params, Constants.FS_StructuredOpenApplication)
            params[i].propVal.sval = "myApp";
            i = GetPropIndex(params, Constants.FS_FileIsOldVersion)
            params[i].propVal.ival = Constants.FV_DoOK
            i = GetPropIndex(params, Constants.FS_FontNotFoundInDoc)
            params[i].propVal.ival = Constants.FV_DoOK
            i = GetPropIndex(params, Constants.FS_FileIsInUse)
            params[i].propVal.ival = Constants.FV_DoCancel
            i = GetPropIndex(params, Constants.FS_AlertUserAboutFailure)
            params[i].propVal.ival = Constants.FV_DoCancel
            /*The structapps.fm file containing the specified application must have
            already been read. The default structapps.fm file is read when FrameMaker is
            opened so this shouldn't be a problem if the application to be used is
            listed in the structapps.fm file.*/
            var retParm = new PropVals()
            var fileObj = Open(filename, params, retParm);
            return fileObj
        } else {
            return null;

    Pierre,
    Depending on the object "myLastFile", the method openDlg might not even exist (if the myLastFile object is not a File object, for instance). And I do not see any need for the myLastFile anyhow, as you are presenting a dialog to select a file to open. I recommend using the global ChooseFile( ) method instead. This will give you a filename as string in full path notation, or null when no file was selected in the dialog. I am not sure what your ExtendScript documentation states about the return value for ChooseFile, but if that differs from what I am telling you here, the documentation is wrong. So, if you replace the first lines of your code with the following it should work:
    function openXMLFile ( ) {
        var filename = ChooseFile ( "Choose XML file ...", "", "*.xml", Constants.FV_ChooseSelect );
    While writing this, I see that Russ has already given you the same advice. Use the symbolic constant value I indicated to use the ChooseFile dialog to select a single file (it can also be used to select a directory or open a file - but you want to control the opening process yourself). Note that this method allows you to set a start directory for the dialog (second parameter). The ESTK autocompletion also gives you a fifth parameter "helplink" which is undocumented and can safely be ignored.
    Good luck
    Jang

  • Problem replacing Null nodes with real values in XML documents...

    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    Our friends in Java land are insisting on passing data between Java and PL/SQL using fairly small XML documents (don't ask). I then need to extract the input parameter values and pass them, on to the stored procedures that actually do the work. These return a result which needs to be returned to the java layer in the output XML document.
    Here is a cut down version of the input XML...
    <ParameterList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Parameter>
    <Id>1</Id>
    <Result xsi:nil="true"/>
    </Parameter>
    <Parameter>
    <Id>2</Id>
    <Result xsi:nil="true"/>
    </Parameter>
    </ParameterList>
    and this is an example of what I am expected to return...
    <ParameterList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Parameter>
    <Id>1</Id>
    *<Result>SUCCESS</Result>*
    </Parameter>
    <Parameter>
    <Id>2</Id>
    *<Result>WARNING</Result>*
    </Parameter>
    </ParameterList>
    i.e. I am expected to replace the value of the Result node with a string indicating the succes or otherwise of the underlying PL/SQL process.
    I am extracting the input values using the DBMS_XMLDOM functions and naively assumed that DBMS_XMLDOM.SETNODEVALUE could be used to update the value in the Result node - It didn't work so I resorted to reading the documentation which revealed that it will not work for a null node.
    Am I going to have to use XSLT to generate the output XML from the Input and incorprate the result? Or is there a simpler way?
    I have used XSLT in Oracle before and still have the nervous tick...

    Thanks A Non,
    With your suggestion and a bit of help from the w3schools.com xml dom tutorial I eventually managed to work out how to do this.
    Here is the code (with all my debug stuff in so it looks worse than it is...)
    create or replace
    PROCEDURE ExtractXMLValues (p_inXml IN CLOB ) IS
    l_string VARCHAR2(4000);
    l_value VARCHAR2(4000);
    l_DOM_doc dbms_xmldom.DOMDocument;
    l_DOM_node dbms_xmldom.DOMNode;
    l_new_DOM_node dbms_xmldom.DOMNode;
    l_new_element dbms_xmldom.DOMElement;
    l_new_DOM_nodevalue dbms_xmldom.DOMNode;
    l_value_Node dbms_xmldom.DOMNode;
    l_parameter_Node dbms_xmldom.DOMNode;
    --l_DOM_nodelist    dbms_xmldom.DOMNodeList;
    l_Result_DOM_node dbms_xmldom.DOMNode;
    BEGIN
    l_DOM_doc := dbms_xmldom.newDomDocument(p_inXml);
    l_DOM_node := dbms_xmldom.makeNode(l_DOM_doc);
    dbms_xmldom.writeToBuffer(l_DOM_node, l_string);
    dbms_output.put_line('1 ' || l_string);
    l_parameter_node := dbms_xslprocessor.selectSingleNode(l_DOM_node,'//Parameter');
    -- get the current values in the XML document for Id and Result
    l_Result_DOM_node := dbms_xslprocessor.selectSingleNode(l_DOM_node,'//Id');
    l_value_Node := dbms_xmldom.getFirstChild(l_Result_DOM_node);
    l_value := dbms_xmldom.getnodevalue(l_value_Node);
    dbms_xmldom.writeToBuffer(l_Result_DOM_node, l_string);
    dbms_output.put_line('2 ' || l_string || ' : ' || l_value);
    l_Result_DOM_node := dbms_xslprocessor.selectSingleNode(l_DOM_node,'//Result');
    l_value_Node := dbms_xmldom.getFirstChild(l_Result_DOM_node);
    l_value := dbms_xmldom.getnodevalue(l_value_Node);
    dbms_xmldom.writeToBuffer(l_Result_DOM_node, l_string);
    dbms_output.put_line('3 ' || l_string || ' : ' || l_value);
    -- create new Result node
    l_new_DOM_node      := dbms_xmldom.makenode(dbms_xmldom.createElement(l_DOM_doc, 'Result'));
    dbms_xmldom.writeToBuffer(l_new_DOM_node, l_string);
    dbms_output.put_line('4 New node : ' || l_string);
    -- create a value for it
    l_new_DOM_nodevalue := dbms_xmldom.makenode(dbms_xmldom.createtextnode(l_DOM_doc, 'SUCCESS'));
    dbms_xmldom.writeToBuffer(l_new_DOM_nodevalue, l_string);
    dbms_output.put_line('5 New node value : ' || l_string);
    -- add the value to the new Result node
    l_new_DOM_nodevalue := dbms_xmldom.appendchild(l_new_DOM_node,  l_new_DOM_nodevalue);
    dbms_xmldom.writeToBuffer(l_new_DOM_node, l_string);
    dbms_output.put_line('6 New node : ' || l_string);
    -- replace the old node with the new one
    l_Result_DOM_node := dbms_xmldom.replaceChild(l_parameter_node, l_new_DOM_node, l_Result_DOM_node);
    dbms_xmldom.writeToBuffer(l_parameter_node, l_string);
    dbms_output.put_line('6 parameter node : ' || l_string);
    dbms_xmldom.writeToBuffer(l_DOM_node, l_string);
    dbms_output.put_line('7 Updated document ' || l_string);
    dbms_xmldom.freeDocument(l_DOM_doc);
    END ExtractXMLValues;
    and the output...
    1 <ParameterList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Parameter>
    <Id>1</Id>
    <Result xsi:nil="true"/>
    </Parameter>
    </ParameterList>
    2 <Id>1</Id> : 1
    3 <Result xsi:nil="true"/> :
    4 New node : <Result/>
    5 New node value : SUCCESS
    6 New node : <Result>SUCCESS</Result>
    6 parameter node : <Parameter>
    <Id>1</Id>
    <Result>SUCCESS</Result>
    </Parameter>
    7 Updated document <ParameterList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Parameter>
    <Id>1</Id>
    *<Result>SUCCESS</Result>*
    </Parameter>
    </ParameterList>
    One question, why do the dbms_xmldom functions return the Old value? I was expecting the returned value to be the updated node.
    Edited by: Lone voice on May 14, 2009 11:24 AM

  • Performance issues with FDK in large XML documents

    In my current project with FrameMaker 8 I'm experiencing severe performance issues with some FDK API calls.
    The documents are about 3-8 MBytes in size. Fortmatted they cover 150-250 pages.
    When importing such an XML document I do some extensive "post-processing" using FDK. This processing happens in Sr_EventHandler() during the SR_EVT_END_READER event. I noticed that some FDK functions calls which modify the document's structure, like F_ApiSetAttribute() or F_ApiNewElementInHierarchy(), take several seconds, for the larger documents even minutes, to complete one single function call. I tried to move some of these calls to earlier events, mostly to SR_EVT_END_ELEM. There the calls work without a delay. Unfortunately I can't rewrite the FDK client to move all the calls that are lagging to earlier events.
    Does anybody have a clue why such delays happen, and possibly can make a suggestion, how to solve this issue? Thank you in advance.
    PS: I already thought of splitting such a document in smaller pieces by using the FrameMaker book function. But I don't think, the structure of the documents will permit such an automatic split, and it definitely isn't an option to change the document structure (the project is about migrating documents from Interleaf to XML with the constraint of keeping the document layout identical).

    FP_ApplyFormatRules sounds really good--I'll give it a try on Monday. Wonder how I could miss it, as I already tried FP_Reformatting and FP_Displaying at no avail?! By the way, what is actually meant with FP_Reformatting (when I used it I assumed it would do exactly what FP_ApplyFormatRules sounds to do), or is that one another of Lynne's well-kept secrets?
    Thank's for all the helpful suggestions, guys. On Friday I already had my first improvements in a test version of my client: I did some (not all necessary) structural changes using XSLT pre-processing, and processing went down from 8 hours(!) to 1 hour--Yeappie! I was also playing with the idea of writing a wrapper to F_ApiNewElementInHierarchy() which actually pastes an appropriate element created in a small flow on the reference pages at the intended insertion location. But now, with FP_ApplyFormatRules on the horizon, I'm quite confident to get even the complicated stuff under control, which cannot be handled by the XSLT pre-processing, as it is based on the actual formatting of the document at run-time and cannot be anticipated in pre-processing.
    --Franz

  • Parse and output XML document while preserving attribute order

    QUESTION: How can I take in an element with attributes from an XML and output the same element and attributes while preserving the order of those attributes?
    The following code will parse and XML document and generate (practically) unchanged output. However, all attributes are ordered a-z
    Example: The following element
    <work_item_type work_item_db_site="0000000000000000" work_item_db_id="0" work_item_type_code="3" user_tag_ident="Step" name="Work Step" gmt_last_updated="2008-12-31T18:00:00.000000000" last_upd_db_site="0000000000000000" last_upd_db_id="0" rstat_type_code="1">
    </work_item_type>is output as:
    <work_item_type gmt_last_updated="2008-12-31T18:00:00.000000000" last_upd_db_id="0" last_upd_db_site="0000000000000000" name="Work Step" rstat_type_code="1" user_tag_ident="Step" work_item_db_id="0" work_item_db_site="0000000000000000" work_item_type_code="3">
    </work_item_type>As you may notice, there is no difference in these besides order of the attributes!
    I am convened that the problem is not in the stylesheet.xslt but if you are not then it is posted bellow.
    Please, someone help me out with this! I have a feeling the solution is simple
    The following take the XML from source.xml and outputs it to DEST_filename with attributes in a-z order
    Code:
    private void OutputFile(String DEST_filename, String style_filename){
         //StreamSource stylesheet = new StreamSource(style_filename);
         try{
              File dest_file = new File(DEST_filename);
              if(!dest_file.exists())
                  dest_file.createNewFile();
              TransformerFactory tranFactory = TransformerFactory.newInstance();
              Transformer aTransformer = tranFactory.newTransformer();
              aTransformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
              Source src = new DOMSource("source.xml");
              Result dest = new StreamResult(dest_file);
              aTransformer.transform(src, dest);
              System.out.println("Finished");
         catch(Exception e){
              System.err.print(e);
              System.exit(-1);
        }

    You can't. The reason is, the XML Recommendation explicitly says the order of attributes is not significant. Therefore conforming XML serializers won't treat it as if it were significant.
    If you have an environment where you think that the order of attributes is significant, your first step should be to reconsider. Possibly it isn't really significant and you are over-reaching in some way. Or possibly someone writing requirements is ignorant of this fact and the requirement can be discarded.
    Or possibly your output is being given to somebody else who has a defective parser which expects the attributes to be in a particular order. You could quote the XML Recommendation to those people but often XML bozos are resistant to change. If you're stuck writing for that parser then you'll have to apply some non-XML processing to your output to fix it up on their behalf.

  • Display xml documents - how to submit a feature request?

    Safari is useless when it comes to render raw xml documents. You have to view the actual source to see the xml.
    Is there an official way to submit a feature request for safari to apple? I would love to see something similar to what firefox does with xml. Safari is such a fast and nice browser, if it only could handle text/xml better...

    As you said Safari simply shows all xml element content concatenated together. But no tags or attribute values. If the ContentType in the http header is set to text/xml Firefox shows an xml tree that you can nicely browse. I think IE5+ and Opera do that too. It is important to set the right content type though. Here is an example that shows nice in FF, but is unreadable in Safari:
    http://ww3.bgbm.org/biocase/pywrapper.cgi?dsa=Herbar
    Sure you can look at the source code, but the xml might not be pretty printed.

  • Displaying XML Document in new browser window

    Hi,
    I have a hyperlink on my page. When I click on it, it will open a new IE window and display xml document.
    The new window is displaying some of the xml and at the end displaying the following:
    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
    End element was missing the character '>'. Error processing resource 'http://localhost:28080/benchmark/faces/displayXMLDocu...
    However, I cut and paste the xml String where I write it to the HTTPServletResponse to XMLSPY and it displays correctly.
    Please let me know.
    Rgrds

    Here are the steps:
    1. I created page1 that has a hyperlink.
    2. Hyperlink property are set to display page2 in a new window. (popup).
    3. page2.prerender() method, I set the response to the following:
    public void prerender() {
    javax.faces.context.ExternalContext ec = this.getExternalContext();
    HttpServletResponse response = (HttpServletResponse)ec.getResponse();
    response.setHeader("Cache-Control","no-cache");
    response.setHeader("Cache-Control","no-store");
    response.setHeader("Cache-Control","must-revalidate");
    response.setHeader("Cache-Control","max-age=0");
    response.setHeader("Pragma","no-cache");
    response.setHeader("Expires","0");
    response.setContentType("text/xml");
    response.setBufferSize(5000);
    String xmlString = getRequestBean1().getBookingPnrDetailsXML();
    try{
    xmlString="<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><test1>this is a test</test1><victor>Hello Victor</victor></root>";
    PrintWriter out = new PrintWriter(response.getOutputStream());
    log(xmlString);
    out.print(xmlString);
    }catch(IOException io){
    System.out.println("" + io.getMessage());
    io.printStackTrace();
    4.page2.jsp code is the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <jsp:root version="1.2" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui">
    <jsp:directive.page contentType="text/xml;charset=UTF-8" pageEncoding="UTF-8"/>
    <f:view/>
    <ui:page binding="#{displayXMLDocument.page1}" id="page1"/>
    <ui:html binding="#{displayXMLDocument.html1}" id="html1"/>
    <ui:head binding="#{displayXMLDocument.head1}" id="head1"/>
    <ui:link binding="#{displayXMLDocument.link1}" id="link1"/>
    <ui:body binding="#{displayXMLDocument.body1}" id="body1"/>
    <ui:form binding="#{displayXMLDocument.form1}" id="form1"/>
    </jsp:root>
    please let me know.
    Rgrds.

  • Error: No valid XML document received*_

    Hi All,
    We are connecting our CCMS system to NetWeaver J2EE engine on which E-Sourcing is running.
    For this we registered java component and hosts in cen.
    But we are getting error as : No valid XML document received
    Please can anyone tell me how to overcome this error.
    Thank you .
    Regards
    Mahesh

    Hi,
    Please re-read the answer from Marc carefully.  He was in the exact same situation as yours: 
    - Monitored system: NW CE 7.1
    - CEN: NW 7.01 (same as NW 7.0 EhP1)
    The link you posted is for CEN with NW 7.3 and monitored systems from NW 7.02 (and up).  Read the paragraph below the Caution sign:
    If you want to centrally monitor any system with a central monitoring system with release SAP NetWeaver 7.0, this procedure is not applicable. In this case, follow the procedure described in the newest Monitoring Setup Guide for SAP NetWeaver 7.0 instead. You can obtain the Monitoring Setup Guide at the Internet address service.sap.com/operationsnw70 in the Monitoring area.
    You should look for (and follow) the right Monitoring Setup Guide as mentioned.
    Regards,
    Dao
    Edited by: Dao Ha on Sep 19, 2011 10:38 AM

Maybe you are looking for

  • Updating Oracle table with info from Sybase query

    I hope this is the correct forum for this question. I am fairly new to Java and JDBC. I am trying to figure out what the best method for updating information in Oracle tables with data from a Sybase table. I would prefer to use Oracle's transparent g

  • Installing Monolingual for more HD space

    I understand that many users are deleting(?) the basic app's that come with the MB,and then re-installing certain programs...such as monolingual.....are there any downsides to this? I think I heard somewhere that monolingual does increase HD space, b

  • LDAP protection for JSP and Servlets

    Environment: WL 5.1 sp 8 on Solaris 7 Question: I want to use LDAP Security on my site. Does Weblogic only utilze LDAP for servlets. What about my JSP files? And no, I can't protect just a directory with iPlanet Web Server because my JSP files are al

  • Am i supposed to get siri when i download ios6

    I recently just downloaded ios 6 . It says i get siri , but i have not got it yet . How do i get it ?

  • Disk utility can't repair hard disk

    I have set up my old iMac G3 for my 4 yr old grandson to use. It spontaneosly shuts down at random times, with no apparent provocation. I ran disk utilities from the OSX install disk to see if the hard disk needed repairing and got a long list of pro