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,
ChrisThe 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.
nullNestor 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 DuisterFew 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. -
After creation of a XML document through DOM is it possible to update the same XML document with new tags
Thanks
Sasankas, 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.
RgrdsHere 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
MaheshHi,
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